有人能解释一下这个 RAID 错误消息吗?

有人能解释一下这个 RAID 错误消息吗?

我在工作时的生产服务器上有一个 8 驱动器 RAID 6(500x8)。

昨天我们注意到服务器运行缓慢,经过调查,我发现 RAID 中的 2 个驱动器出现故障,通知系统无法发送电子邮件通知。我们立即关闭服务器,更换了出现故障的 2 个驱动器,并让它们重建,然后重新启动 Windows。

现在启动回 Windows 可以找到,但有时会弹出一些错误,如下图所示:

Puncturing bad block:   PD   Port 0 - 3:0:0      Location   0x209a3686
Puncturing bad block:   PD   Port 4 - 7:0:7      Location   0x209a3686
Unrecoverable medium error during recovery:   PD   Port 0 - 3:0:0      Location   0x209a3686
Puncturing bad block:   PD   Port 0 - 3:0:0      Location   0x209a3686
Puncturing bad block:   PD   Port 4 - 7:0:7      Location   0x209a3686

此外,机器上运行的虚拟机似乎无法正确完成 Windows 更新。这可能与此有关,也可能无关。

经过一番调查后,我对 VD 进行了一致性检查,发现了几件事情,其中​​夹杂着更多与上述相同的事情:

Consistency Check completed with uncorrectable errors on VD:   0
Consistency Check found inconsistent parity on VD     strip:       ( VD   =   0,   strip       =   1068315)
Consistency Check detected uncorrectable multiple medium     errors:       ( PD   Port 4 - 7:0:7  Location   0x209a3686  VD       0)
Consistency Check found inconsistent parity on VD     strip:       ( VD   =   0,   strip       =   1067493)
Unexpected sense:   PD       =   Port 0 - 3:0:0Unrecovered read error,   CDB   =    0x28 0x00 0x1f 0xac 0x8c 0x00 0x00 0x02 0x00 0x00    ,   Sense   =    0xf0 0x00 0x03 0x1f 0xac 0x8d 0xdb 0x0a 0x00 0x00 0x00 0x00 0x11 0x00 0x00 0x00 0x00 0x00

我在一个论坛上看到,像 3:0:0 这样的数字表明问题出在驱动器 0 上,但我不确定,因为这里显示了多个驱动器。(我们更换了驱动器 1 和 5)。

有人能帮我分解一下吗?有没有简单的解决方法,比如进一步更换和重建其他驱动器?

提前致谢

答案1

通常,当驱动器损坏时,RAID 数据就不再可信。您可以尝试将其复制到其他地方,但数据的完整性无法信任。

之后,终止整个 RAID 结构,创建一个带有初始化选项的新结构来强制进行磁盘健全性检查。

最好的方法是主动监控 RAID 状态,以便在第一个磁盘出现故障时检测问题,而不是等到两个磁盘都出现故障。

是时候从备份中恢复了。

答案2

除了 DevOps 的答案之外:重建过程中出现其他错误的情况并不少见。

这通常归因于重建期间压力的增加,但我发现事实并非如此。繁重工作期间的压力不会导致读取错误。相反,这是由于驱动器上以前未检测到的位衰减:当数据几个月甚至几年都没有读取时,某些扇区可能会超出其错误校正,从而无法读取。当在重建期间遇到这些情况且没有剩余冗余时,重建将失败。

因此,重建阵列后,请确保打开每月数据清理、介质巡检、巡检读取或控制器上的任何名称。这样,任何薄弱的扇区都会被及时检测和修复。如果您的控制器没有该选项,请对整个逻辑驱动器运行每月一次的映像清零(例如使用)。

相关内容