如何解读 SMART 和 zfs 提供的故障数据

如何解读 SMART 和 zfs 提供的故障数据

在小型服务器系统中,我有一个 zfs 文件系统,其中有一对镜像消费级驱动器(Seagate Barracudas)。最近,在定期清理操作期间,出现了以下结果:

  pool: storage
 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: scrub repaired 10.9M in 44h14m with 0 errors on Tue Jun  6 00:11:23 2017
config:

        NAME          STATE     READ WRITE CKSUM
        storage       ONLINE       0     0     0
          mirror-0    ONLINE       0     0     0
            map2_sda  ONLINE       0     0     0
            map2_sdb  ONLINE       0     0    55

errors: No known data errors

这次清理操作和上一次清理操作之间发生了几次电源故障和类似事件,我认为这可能是导致故障的合理原因,但我担心这可能是即将发生的硬件故障,特别是考虑到一个磁盘完全干净而另一个磁盘有多个错误。

smartctl 告诉我,可疑驱动器在其使用寿命(935 天)内总共发生了 117 个错误,但最明显的错误指标都远远超过了它们的阈值:

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   109   081   006    Pre-fail  Always       -       22737688
  5 Reallocated_Sector_Ct   0x0033   092   092   010    Pre-fail  Always       -       9784
  7 Seek_Error_Rate         0x000f   083   060   030    Pre-fail  Always       -       213798923
  9 Power_On_Hours          0x0032   075   075   000    Old_age   Always       -       22599
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0

这里是否有任何迹象表明我需要预先更换此磁盘?我不需要这台机器 100% 的正常运行时间,但如果我确实需要在紧急情况下更换磁盘,我宁愿不必担心需要多天的重新镀银。

答案1

如果我是你,我不会真的惊慌,当然不会代替它(这实际上让你陷入了一个更危险的境地,只有一个驱动器,运行近三年,进行 44 多个小时的重新镀银...)我会把我能负担得起的最大驱动器放入一个空闲插槽,并将其添加到池中(不是作为备用,而是作为三向镜像)并且当(如果)其他两个中的一个首先出现故障时,我会用另一个大驱动器替换它并扩大池...zfs 的一个更好的功能...但这只是我的看法。

老了,但看看google 对 SMART 的经验、驱动器故障率、发热量、年龄......

答案2

校验和错误远没有读取或写入错误严重。读取/写入错误表示某个块根本无法读取或写入(很可能是因为该块已永久损坏),而校验和错误仅表示收到的内容不是应该收到的内容(根据 ZFS 自己的校验和)。

您可能需要调查错误的原因:

  • 这些事情以前发生过吗,还是这是第一次发生?
  • 机器是否发生过任何问题(有人移动过、触碰过、更换过其他硬件)?
  • 是否发生意外重启和/或断电或其他电源事件(如果您的设备允许监控)?
  • 两块磁盘在机壳内的受热及冲击情况如何?
  • 两个磁盘是否存在任何不同(不同的电缆、电缆所在的位置不同、控制器不同等)?
  • 在任何可用日志中是否发生了任何奇怪的事情?

如果您找不到任何东西,并且出现额外的(可能增加或很高的)校验和错误,您可能需要更换磁盘。您可以先添加第三个镜像,就像 quadruplebucky 建议的那样,然后在非工作时间重新同步。机器上的任何额外负载都会减慢重新同步的速度。根据磁盘的不同,单独的“好”磁盘重新同步的速度也可能比两个磁盘都快,但前提是“坏”磁盘真的很坏(我不这么认为)。

相关内容