Dan - Some fun ZFS questions about labels

New About Yours API Help
3.4 KB, Plain text
Hey there Alan and Benedict,

(Please just refer to me as "Gushi" on the show, as I don't want to cause embarassment for any current or former coworkers)

I love your show and find it quite informing.  I have a couple of simple ZFS questions for you that regard how to normalize a config I inherited from a coworker.

A former coworker set up a ZFS pool in kind of a crazy way: they have a raid10 with two bootable disks, and then they also used two raw disks, so my current zpool looks like this:

        NAME                                            STATE     READ WRITE CKSUM
        zroot                                           DEGRADED     0     0     0
          mirror-0                                      DEGRADED     0     0     0
            7459826724171781835                         REMOVED      0     0     0  was /dev/ada0
            gptid/31119637-1484-11e4-8333-00e081811446  ONLINE       0     0     0
          mirror-1                                      ONLINE       0     0     0
            ada1                                        ONLINE       0     0     0
            ada2                                        ONLINE       0     0     0

I'm in the process of recovering the failure, so it now looks like this:

        NAME                                            STATE     READ WRITE CKSUM
        zroot                                           DEGRADED     0     0     0
          mirror-0                                      DEGRADED     0     0     0
            replacing-0                                 REMOVED      0     0     0
              7459826724171781835                       REMOVED      0     0     0  was /dev/ada0
              ada3p3                                    ONLINE       0     0     0  (resilvering)
            gptid/31119637-1484-11e4-8333-00e081811446  ONLINE       0     0     0
          mirror-1                                      ONLINE       0     0     0
            ada1                                        ONLINE       0     0     0
            ada2                                        ONLINE       0     0     0

The top two disks have GPT partition tables.  Ada1 and ada2 do not.  This drives me crazy.  Ideally, I would like all four disks to have boot partitions and bootcode so no matter where they are in the chassis, the system can find and boot from them.

In addition, the partitions of the first mirror are labeled when older versions of the FreeBSD installer did this weirdness with root-on-zfs, where the first and second disk were not consistently named.

I understand that it's generally bad to use raw disks for your zpools, and I'd like to be able to "shrink down" the pools so that they don't use the entire disks, leaving me with some ability to manage them, and use things like GPT labels instead of their raw device names. 

However, I know that in a pool situation like this, the pool can only be as large as your smallest ZFS partition (which would be the size of the disks that had the boot and swap partitions on them).

Is there a ZFS command that will show the relative sizes of the individual disks?

Is there a way to remove and add ada2/ada3 as partitions without needing to resilver each one?

Is there an easy way to get my names all sane and consistent?  (I.e. change from /dev/gptid/foo to simply a gpt label that I had put on the partition instead?)

Thanks so much!

-Gushi
Pasted 1 week, 4 days ago — Expires in 354 days
URL: http://dpaste.com/3Q7DERN