为什么 ZFS 在出现一些错误后会将磁盘离线,但在重启后又会将磁盘在线?

为什么 ZFS 在出现一些错误后会将磁盘离线,但在重启后又会将磁盘在线?

昨天在每月清理期间,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

我希望:

  1. 使故障驱动器永久脱机;或
  2. 在清理、重新镀银期间让故障驱动器处于在线状态,并警告我。

我认为 ZFS 要么尝试继续使用磁盘进行奇偶校验,要么决定使用磁盘坏了,再也不会用了(除非手动强制重试)。但显然,重启后,ZFS 改变了主意。

我为何关心?因为现在我知道了我应该总是尝试重新启动。并不是因为我可以忽略警告,而是因为在等待另一个磁盘时我可以继续使用奇偶校验。与性能下降的驱动器进行奇偶校验总比没有奇偶校验要好。如果我等了一个星期才拿到一个磁盘,其他如果磁盘发生故障,我将有很大机会恢复大部分数据,而当之前发生故障的驱动器保持离线状态时,肯定会丢失所有数据。

总之;故障驱动器状态从ONLINE变为OFFLINE清理期间,重启后从OFFLINE变为 (在线但) 。我预计它会保持,或从 变为清理期间。DEGRADEDOFFLINEONLINEDEGRADED

为什么会发生这种情况?我误解了什么?

相关内容