昨天在每月清理期间,zpool
在出现 61 个错误后将磁盘下线,并敦促我更换它。我订购了一个新的。在此之前,状态是“性能下降。”
今天,打开电脑时,驱动器正在执行大量工作。当它停止时,我执行了zpool status
,令我惊讶的是,一切都恢复正常了。
pool: pool
state: ONLINE
status: One or more devices has experienced an unrecoverable error. An
attempt was made to correct the error. Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-9P
scan: resilvered 924M in 0 days 00:00:40 with 0 errors on Fri Dec 14
config:
NAME STATE READ WRITE CKSUM
dataset ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
ata-Seagate_xxx ONLINE 0 0 0
ata-Hitachi_xxx ONLINE 0 0 0
ata-Samsung_xxx ONLINE 0 0 61
我希望:
- 使故障驱动器永久脱机;或
- 在清理、重新镀银期间让故障驱动器处于在线状态,并警告我。
我认为 ZFS 要么尝试继续使用磁盘进行奇偶校验,要么决定使用磁盘也坏了,再也不会用了(除非手动强制重试)。但显然,重启后,ZFS 改变了主意。
我为何关心?因为现在我知道了我应该总是尝试重新启动。并不是因为我可以忽略警告,而是因为在等待另一个磁盘时我可以继续使用奇偶校验。与性能下降的驱动器进行奇偶校验总比没有奇偶校验要好。如果我等了一个星期才拿到一个磁盘,其他如果磁盘发生故障,我将有很大机会恢复大部分数据,而当之前发生故障的驱动器保持离线状态时,肯定会丢失所有数据。
总之;故障驱动器状态从ONLINE
变为OFFLINE
清理期间,重启后从OFFLINE
变为 (在线但) 。我预计它会保持,或从 变为清理期间。DEGRADED
OFFLINE
ONLINE
DEGRADED
为什么会发生这种情况?我误解了什么?