Windows Server 2008 软件 RAID-5 可以防止出现坏集群吗?

Windows Server 2008 软件 RAID-5 可以防止出现坏集群吗?

我曾测试过在整块磁盘发生故障后重建 Windows Server 2008 RAID-5,效果很好。测试几个集群发生故障有点困难。

Windows 会检测到这个问题、进行纠正并提醒我吗?

显然,如果数据只是变成随机字节,它就无法纠正,但如果簇不可读,它可以从剩余卷重建数据,因为它知道哪个驱动器有坏簇。但它真的能做到这一点吗?对正在运行的应用程序来说,它是透明的吗?

答案1

坏簇通常由硬盘本身检测,然后透明地重新定位。如果您的操作系统报告坏簇,则意味着没有可用的备用簇,并且磁盘确实坏了。

现在,如果出现坏簇,Windows RAID 会向您发出警报,因为 RAID 随后会失败,磁盘会被标记为坏的。不过,通常您不会等到那个阶段:您可以使用磁盘的 SMART 状态报告来查看磁盘必须执行多少次坏簇重定位,并在次数过多时主动更换磁盘。

答案2

RAID 设置中坏扇区处理的标准策略是让驱动器在读取时立即报告坏扇区并允许在写入时重新分配。

如果某个扇区无法正确读取,通常会从其他磁盘恢复数据,然后将其重写到同一个逻辑块地址;然后驱动器要么设法在原始位置正确写入扇区,要么重新映射;如果重新映射失败,则驱动器被标记为失败。

如果数据无法恢复,RAID 组会将错误报告给文件系统,然后文件系统开始无助地挣扎,所以这种情况不应该发生。

为了检测坏扇区,大多数 RAID 系统都具有验证模式,该模式会读取所有硬盘并测试校验和是否匹配。它们通常会匹配,因为驱动器对各个扇区都有校验和,并返回正确的数据或正确的错误(处理方式如上所述)。

如果您没有足够的可用 I/O 带宽来进行每月左右的验证运行,那么您应该添加更多冗余。

在 RAID5 设置中,只能检测到读取的正确数据(没有错误),但不能纠正(为此需要 RAID6)。

您将收到磁盘进入故障状态和验证过程中读取不一致数据的通知;后者是一种非常罕见的情况,除非您的驱动器存在问题(在这种情况下我永远不会再从该供应商处购买)。

相关内容