在我维护这个系统几年后,我第一次遇到了硬盘故障池所以我用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