如何清除修复池中的 ZFS DEGRADED 状态

如何清除修复池中的 ZFS DEGRADED 状态

在我维护这个系统几年后,我第一次遇到了硬盘故障所以我用zpool replace我的一个备用驱动器重新镀银。重新镀银阵列花了 60 个小时(如下所示),但似乎没有任何错误。

问题是它仍然显示 DEGRADED 状态。输出是:

# zpool status
  pool: sbn
 state: DEGRADED
status: One or more devices could not be used because the label is missing or
    invalid.  Sufficient replicas exist for the pool to continue
    functioning in a degraded state.
action: Replace the device using 'zpool replace'.
   see: http://zfsonlinux.org/msg/ZFS-8000-4J
  scan: resilvered 1.07T in 60h9m with 0 errors on Fri Aug  7 01:15:41 2020
config:

    NAME                                   STATE     READ WRITE CKSUM
    sbn                                    DEGRADED     0     0     0
      raidz2-0                             DEGRADED     0     0     0
        ata-ST4000DM005-2DP166_ZDH1TP9H    ONLINE       0     0     0
        ata-ST4000DM005-2DP166_ZDH1TM7G    ONLINE       0     0     0
        ata-ST4000DM005-2DP166_ZDH1TLHP    ONLINE       0     0     0
        ata-ST4000DM005-2DP166_ZDH1TL8F    ONLINE       0     0     0
        ata-ST4000DM005-2DP166_ZDH1TNT8    ONLINE       0     0     0
        spare-5                            UNAVAIL      0     0     0
          15983766503331633058             UNAVAIL      0     0     0  was /dev/disk/by-id/ata-ST4000DM005-2DP166_ZDH1TNCF-part1
          ata-ST4000DM005-2DP166_ZDH1TW8L  ONLINE       0     0     0
        ata-ST4000DM005-2DP166_ZDH1TW63    ONLINE       0     0     0
        ata-ST4000DM005-2DP166_ZDH1TM4R    ONLINE       0     0     0
        ata-ST4000DM005-2DP166_ZDH1TLSG    ONLINE       0     0     0
        ata-ST4000DM005-2DP166_ZDH1TMAM    ONLINE       0     0     0
    spares
      ata-ST4000DM005-2DP166_ZDH1TW8L      INUSE     currently in use
      ata-ST4000DM005-2DP166_ZDH1TM17      AVAIL   

errors: No known data errors

我找不到任何文档来解释spare-5替换后显示的结构。坏掉的驱动器显示为,15983766503331633058并且它会记住原始故障磁盘 ID 为ata-ST4000DM005-2DP166_ZDH1TNCF

我该如何清理它,以便它再次运行,有 10 个干净的驱动器和一个可用的备用驱​​动器?

答案1

过了一段时间,我找到了答案,原来故障的驱动器需要分离的从池中。在这个特定情况下,我做了:

zpool detach sbn ata-ST4000DM005-2DP166_ZDH1TNCF

请注意,驱动器 ID 取自状态。完成此操作后,状态干净并标记为状态:ONLINE。

希望这能帮助处于类似情况的人。

答案2

您需要运行以下命令:

zpool clear sbn

这将清除与池中的虚拟设备相关的所有错误,并清除与该池相关的任何数据错误计数。

来源:https://docs.oracle.com/cd/E36784_01/html/E36835/gbbvf.html

相关内容