Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Jul 2010 23:05:35 -0400
From:      Dan Langille <dan@langille.org>
To:        freebsd-stable <freebsd-stable@freebsd.org>
Subject:   Using GTP and glabel for ZFS arrays
Message-ID:  <4C47B57F.5020309@langille.org>

next in thread | raw e-mail | index | archive | help
I hope my terminology is correct....

I have a ZFS array which uses raw devices.  I'd rather it use glabel and 
supply the GEOM devices to ZFS instead.  In addition, I'll also 
partition the HDD to avoid using the entire HDD: leave a little bit of 
space at the start and end.

Why use glabel?

  * So ZFS can find and use the correct HDD should the HDD device ever
    get renumbered for whatever reason.  e.g. /dev/da0 becomes /dev/da6
    when you move it to another controller.

Why use partitions?

  * Primarily: two HDD of a given size, say 2TB, do not always provide
    the same amount of available space.  If you use a slightly smaller
    partition instead of the entire physical HDD, you're much more
    likely to have a happier experience when it comes time to replace an
    HDD.

  * There seems to be a consensus amongst some that leaving the start and
    and of your HDD empty.  Give the rest to ZFS.

Things I've read that led me to the above reasons:

* 
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=399538+0+current/freebsd-stable
* 
http://lists.freebsd.org/pipermail/freebsd-stable/2010-February/055008.html
* http://lists.freebsd.org/pipermail/freebsd-geom/2009-July/003620.html

The plan for this plan, I'm going to play with just two HDD, because 
that's what I have available.  Let's assume these two HDD are ad0 and 
ad1.  I am not planning to boot from these HDD; they are for storage only.

First, create a new GUID Partition Table partition scheme on the HDD:

   gpart create -s GPT ad0


Let's see how much space we have.  This output will be used to determine 
SOMEVALUE in the next command.

   gpart show


Create a new partition within that scheme:

   gpart add -b 34 -s SOMEVALUE -t freebsd-zfs ad0

Why '-b 34'?  Randi pointed me to 
http://en.wikipedia.org/wiki/GUID_Partition_Table where it explains what 
the first 33 LBA are used for.  It's not for us to use here.

Where SOMEVALUE is the number of blocks to use.  I plan not to use all 
the available blocks but leave a few hundred MB free at the end. 
That'll allow for the variance in HDD size.


Now, label the thing:

   glabel label -v disk00 /dev/ad0

Repeat the above with ad1 to get disk01.  Repeat for all other HDD...

Then create your zpool:

  zpool create bigtank disk00 disk01 ... etc


Any suggestions/comments?  Is there any advantage to using the -l option 
on 'gpart add' instead of the glabel above?

Thanks


-- 
Dan Langille - http://langille.org/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C47B57F.5020309>