当我拥有 ZFS 时,3ware“ECC-ERROR”对 JBOD 有影响吗?

当我拥有 ZFS 时,3ware“ECC-ERROR”对 JBOD 有影响吗?

我有一台运行 ZFS 并配备 3ware 9690SA 控制器的 FreeBSD 8.x 机器。

3ware 控制器显示其中一个磁盘出现 ECC-ERROR:

//host> /c0 show
VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    OK             u0   279.39 GB SAS   0   -            SEAGATE ST3300657SS 
p1    OK             u0   279.39 GB SAS   1   -            SEAGATE ST3300657SS 
p2    OK             u1   931.51 GB SAS   2   -            SEAGATE ST31000640SS
p3    ECC-ERROR      u2   931.51 GB SAS   3   -            SEAGATE ST31000640SS
p4    OK             u3   931.51 GB SAS   4   -            SEAGATE ST31000640SS

/c0 show events显示其近期历史中未出现 ECC 错误。

zpool statusZFS目前未检测到任何错误。No known data errors

我的问题是:这是ECC-ERROR我需要担心的事情吗?

根据3ware CLI 9.5.2 手册,这ECC-ERROR意味着 3ware 控制器捕获了此驱动器上一个或多个扇区的读取错误。当 RAID 阵列从故障磁盘中恢复时,有时会发生这种情况。我相信当 3ware 控制器验证每个磁盘时也可以检测到 ECC-ERRORS。所有驱动器均未发生故障,因此没有驱动器重建,因此我假设 3ware 在运行每周的磁盘自动验证扫描时发现了坏扇区。这是一个安全的假设吗?

根据我们的日志,ZFS 未检测到此驱动器上的任何坏扇区。ZFS 可以解决读取错误问题 - 如果 ZFS 检测到驱动器上的坏扇区,它会将该扇区标记为坏扇区并且不再使用它。从 ZFS 的角度来看,一个坏扇区并不是什么大问题,尽管它可能表明驱动器开始出现问题。

我可以ECC-ERROR使用tw_cli /c0 rescan、 和清除错误根据 tw_cli 手册页如果情况不再存在,重新扫描控制器将清除错误状态“。由于 ECC 错误仅在读取特定磁盘扇区时才会发生,因此错误ECC-ERROR会消失。由于 ZFS 可能已将坏扇区移至磁盘的另一个区域,并将坏扇区标记为“坏”,因此坏扇区将永远不会再次被读取。

答案1

根据文档,如果是单驱动器,这意味着数据可能损坏,也可能没有损坏。ZFS 保存对象的校验和,因此可以进行数据完整性检查. 确保有 RAID 和计划的完整性检查。

相关内容