2

There are loads of ways a system might uniquely identify a disk or partition, GUID/UUID, how it's connected 'usb-...', and the traditional directory structure '/dev/sda'. zpool seems to choose randomly between them. How can I get a zpool status to list the array using the directory structure as it is the only thing other tools know about?

Further Information:

The history reveals how the pool was created:

zpool history XX
History for 'XX':
YYYY-MM-DD.HH:MM:SS zpool create -f XX -m /XX raidz sda sdb sdc sdd sde

However status now reads:

zpool status XX
pool: XX
...
                                                    STATE     READ WRITE CKSUM
      XX                                                         0     0     0
        raidz1-0                                                 0     0     0
          ata-WDC_WD10EFRX-68PJCN0_WD-XXXXXXXXXXXX  ONLINE       0     0     0
...

The names used on build are not the same as those now listed. The array has been moved around a lot once it was created however.

Update and conclusion:

It looks like most utilities can use the long name ZFS uses in place of the short, via

/dev/disk/by-id/*

say

smartctl --all /dev/disk/by-id/ata-WDC_...

While more cumbersome, I agree it is more precise.

1 Answer 1

1

zpool uses the device names you have given at pool creation time and when modifying devices (for example attaching disks or adding vdevs to the pool). Therefore, you can either destroy/recreate the pool with your chosen names, or detach/attach all devices one after each other (this is only possible with pool layouts that have enough redundancy, of course).

This is how it works on Solaris, there might exist specific caveats on other systems like Linux or BSD.

6
  • This isn't the case in my experience, I've basically universally created pools using the /dev/sdx notation, only to after a while get back the long unintelligible strings. Alternately, is there a way in zpool to 'identify' a drive a command to light up one drive light say..?
    – J Collins
    Dec 7, 2017 at 9:41
  • @JCollins On which operating system did this happen? IIRC BSD has had problems in the past when using the shorthand notifier, because the system reordered those names on reboot (which does not happen on Solaris).
    – user121391
    Dec 7, 2017 at 9:51
  • It is CentOS 7, kernel 3.10.0. Yes the drives come in with different names on every reboot.
    – J Collins
    Dec 7, 2017 at 10:01
  • 1
    @JCollins Most likely reason is to make replacement of disks easier, because you can easily spot your new (or old, but reinserted) disk by the name of its id/serial number. Especially when using large arrays (24, 48 or more disks) and frequent replacements, or with the help of dependent scripts, it would be easier. Also, the reshuffling would drive someone with OCD certainly mad ;-)
    – user121391
    Dec 7, 2017 at 14:15

This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .