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/
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to