如何将 zfs 池中的驱动器引用从 /dev/sdX 更改为 /dev/disk/by-id (ata-XXXXXX)

如何将 zfs 池中的驱动器引用从 /dev/sdX 更改为 /dev/disk/by-id (ata-XXXXXX)

在下面的例子中,如何更改第二个镜像中的设备以便它们引用/dev/disk/by-id而不是/dev/sdX

user@pc:~$ sudo zpool status
  pool: storage
 state: ONLINE
  scan: scrub repaired 0 in 8h30m with 0 errors on Sun May 28 08:54:48 2017
config:

    NAME                                  STATE     READ WRITE CKSUM
    storage                               ONLINE       0     0     0
      mirror-0                            ONLINE       0     0     0
        ata-ST2000AS0002-1NA12Z_Z840MHWP  ONLINE       0     0     0
        ata-ST2000AS0002-1NA12Z_Z840MHTQ  ONLINE       0     0     0
      mirror-1                            ONLINE       0     0     0
        sdd                               ONLINE       0     0     0
        sde                               ONLINE       0     0     0

答案1

您只需使用不同的设备默认搜索目录导出并重新导入您的池(-d选项)。

例如:

zpool export storage
zpool import storage -d /dev/disk/by-id

答案2

我不熟悉 Linux 上的 ZFS(我猜这是 Linux 特有的问题,Solaris 和 FreeBSD 不会有这种设备名称分裂症……)但你可以尝试以磁盘为单位分离和重新连接驱动器(确保每次都完全重新镀银)

zpool detach mirror-1 sdd
zpool attach mirror-1 /dev/disk/sdd-by-id
<wait until zpool status shows it's rebuilt...>

等等...

相关内容