ZFS:如何在另一次故障后重新镀银时更换发生故障的磁盘?

ZFS:如何在另一次故障后重新镀银时更换发生故障的磁盘?

ZFS 中的磁盘替换出现问题,现在替换的磁盘虽然不再物理存在,但“卡”在池中,阻止进一步的替换尝试。如何移除它?

在 OmniOS r151010 上具有 11 个磁盘的 raidz3 池中,其中一个磁盘出现故障。我将问题磁盘脱机,用新磁盘替换它,然后重新配置新磁盘。它开始重新同步,然后替换磁盘出现错误。Dmesg 显示“SYNCHRONIZE CACHE 命令失败”。我想知道这是否可能是电缆松动,所以关闭了机器,重新安装磁盘和电缆并重新启动它。它开始重新同步,过了一会儿又出现了同样的问题。此时问题磁盘的 zpool 状态显示

replacing-0                UNAVAIL      0     0     0  insufficient replicas
    c4t5000C5004DC8693Fd0  OFFLINE      0     0     0
    c4t50014EE658315C1Dd0  FAULTED      0     0     0  too many errors

我决定尝试另一个磁盘,看看是否有任何不同。我怀疑不会,但尝试起来很容易。我热交换了磁盘,然后 cfgadm -al 显示

c8                             scsi-sas     connected    configured   unknown
c8::w50014ee6ad8f0df2,0        disk-path    connected    configured   unknown
c8::w50014ee658315c1d,0        disk-path    connected    unconfigured unknown

新磁盘已存在,但旧磁盘尚未消失。我重新启动了机器以清除旧状态,然后 cfgadm -al 显示

c8                             scsi-sas     connected    configured   unknown
c8::w50014ee6ad8f0df2,0        disk-path    connected    configured   unknown

但是 zpool status 仍然显示旧磁盘。我尝试清除故障,现在原始磁盘和第 1 个替换磁盘都处于离线状态

replacing-0                UNAVAIL      0     0     0  insufficient replicas
    c4t5000C5004DC8693Fd0  OFFLINE      0     0     0
    c4t50014EE658315C1Dd0  OFFLINE      0     0     0

此时,我应该怎么做才能使新的替换磁盘重新同步?在原始磁盘或第一次替换上执行 zpool replace 只会产生错误(此处略作缩短)“无法打开‘c4t500....’/dev/dsk 中没有这样的设备。”

在 c4t50014EE658315C1Dd0 上执行 zpool remove 会产生错误消息“无法删除 c4t50014EE658315C1Dd0:只能删除非活动热备件、缓存、顶层或日志设备”

答案1

我找到了答案。使用池上的 zdb 获取原始磁盘的 GUID,然后使用 format 查找替换磁盘的名称,然后执行

# zpool replace <pool> <GUID of original disk> <name of replacement disk>

重新同步时看起来像这样:

    NAME                         STATE     READ WRITE CKSUM
    raid                         DEGRADED     0     0     0
      raidz3-0                   DEGRADED     0     0     0
        replacing-0              UNAVAIL      0     0     0  insufficient replicas
          c4t5000C5004DC8693Fd0  OFFLINE      0     0     0
          c4t50014EE658315C1Dd0  OFFLINE      0     0     0
          c4t50014EE6AD8F0DF2d0  ONLINE       0     0     0  (resilvering)

完成后恢复正常。

相关内容