Using GTP and glabel for ZFS arrays

Scot Hetzel swhetzel at gmail.com
Thu Jul 22 05:06:02 UTC 2010


On Wed, Jul 21, 2010 at 10:05 PM, Dan Langille <dan at langille.org> wrote:
> 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
>

Instead of using glabel to label the partition on a GPT disk, use this
command instead:

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

You will then see a /dev/gpt/disk00.

Then to create the zpool use:

zpool create bigtank gpt/disk00 gpt/disk02 ...

Scot


More information about the freebsd-stable mailing list