我有一台运行ZFS的FreeBSD 8.x机器,带有一个3ware 9690SA控制器。
3 3ware控制器显示了其中一个磁盘的ECC错误:
//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错误。
ZFS目前没有检测到任何错误。zpool status说No known data errors
我的问题是:这是我需要关心的ECC-ERROR吗?
根据3件CLI 9.5.2手册,ECC-ERROR意味着3 3ware控制器捕捉到该驱动器上一个或多个扇区的读取错误。当RAID数组从失败的磁盘中恢复时,有时会发生这种情况。我相信,当3 3ware验证每个磁盘时,也可以检测到ECC-错误。所有驱动器都没有故障,因此没有进行驱动器重建,所以我假设3 3ware在运行时发现了一个坏扇区--它每周对磁盘进行自动验证扫描。这是个安全的假设吗?
根据我们的日志,ZFS没有在这个驱动器上检测到任何坏扇区。ZFS可以避免读取错误--如果ZFS在驱动器上检测到一个坏扇区,它只会将该扇区标记为坏扇区,并且不再使用它。从ZFS的角度来看,一个坏的部门并不是什么大问题,尽管它可能意味着驱动器开始变坏。
我可以使用ECC-ERROR清除tw_cli /c0 rescan错误,根据tw_cli手册页“恢复控制器将清除错误状态,如果条件不再存在”。而且,由于ECC错误仅在读取特定磁盘扇区时才会发生,因此ECC-ERROR就会消失。由于ZFS可能已经将该坏扇区移到磁盘的另一个区域,并将坏扇区标记为“坏”,因此坏扇区将不会再被读取。
发布于 2013-06-27 21:20:51
根据医生,在单个驱动器的情况下,这意味着您可能已经损坏了数据,也可能没有。ZFS保存对象的校验和,因此保存数据完整性检查是可能的。。确保有RAID和计划的完整性检查。
https://serverfault.com/questions/518883
复制相似问题