在维护这个zpool几年后,我遇到了第一个驱动器故障,所以我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 个干净的驱动器和一个可用的备用驱动器运行?
您需要运行以下命令:
这将清除与池中的虚拟设备关联的所有错误,并清除与池关联的所有数据错误计数。
来源:https ://docs.oracle.com/cd/E36784_01/html/E36835/gbbvf.html
一段时间后,我找到了答案,结果发现故障驱动器需要从池中分离出来。在这种特定情况下,我做了:
请注意,驱动器 ID 取自上述zpool状态中的“was”语句。完成此操作后,zpool状态为干净并标记为 state: ONLINE。
希望这可以帮助处于类似情况的人。