如何使 zpool 使用可读字符串引用磁盘?

如何使 zpool 使用可读字符串引用磁盘?

系统可以通过多种方式唯一地标识磁盘或分区、GUID/UUID、其连接方式“usb-...”以及传统的目录结构“/dev/sda”。 zpool 似乎是在它们之间随机选择的。我如何获取 zpool 状态以使用目录结构列出数组,因为这是其他工具唯一知道的事情?

更多信息:

历史揭示了池是如何创建的:

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

但现在的状态是:

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
...

构建时使用的名称与现在列出的名称不同。然而,该数组在创建后已经移动了很多次。

更新及结论:

看起来大多数实用程序都可以使用 ZFS 使用的长名称来代替短名称,通过

/dev/disk/by-id/*

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

虽然更麻烦,但我同意它更精确。

答案1

zpool使用您在创建池时和修改设备(例如附加磁盘或向池中添加 vdev)时指定的设备名称。因此,您可以使用您选择的名称销毁/重新创建池,或者依次分离/附加所有设备(当然,这只有在具有足够冗余的池布局时才可能实现)。

这就是它在 Solaris 上的工作方式,在 Linux 或 BSD 等其他系统上可能存在特定的警告。

相关内容