Using GPT labels and ZFS root?

I've got a system using ZFS for its root filesystem, but unfortunately it's not using the GPT labels when accessing the block devices in the vdev. At first I didn't mind, but as I add disks to the system, things start to get really ugly, and now I have a mix of device node names (e.g. ada0p2), GPT IDs, and, if you consider all my pools, GPT labels as well.
Code:
zpool status zroot
...
        NAME                                            STATE     READ WRITE CKSUM
        zroot                                           ONLINE       0     0     0
          raidz1-0                                      ONLINE       0     0     0
            ada0p2                                      ONLINE       0     0     0
            gptid/28cdc62c-b86f-11e1-a2be-003018a1d97f  ONLINE       0     0     0
            gptid/2d0c917e-b86f-11e1-a2be-003018a1d97f  ONLINE       0     0     0

zpool status zbackup
...
        NAME          STATE     READ WRITE CKSUM
        zbackup       ONLINE       0     0     0
          gpt/backup  ONLINE       0     0     0

I'd like to use GPT labels for everything, and the partitions that zroot resides on are already labeled. Having read this post, it seems that an export/import can fix things, but I wanted to clear up a few things in the special case of ZFS for root.

  1. Is there anything particularly special about using ZFS root and GPT labels? I.e., is there any reason I shouldn't be able to use labels instead of device names/GPT IDs?
  2. What's the best way to perform such a procedure on a root pool? md root? Boot from another medium?
  3. Any issues caused by having the ZFS mountpoint being "legacy"? Will I need to change it temporarily in order to export/import?
  4. Any other pitfalls I should know about?
 
Back
Top