RAID 1真的能防止硬盘故障吗?

如果使用RAID 1,并且发现两个磁盘之间存在任何不一致,则将数据从主磁盘(最有可能是具有较低端口号的磁盘)复制到辅助磁盘。

1)但是,如果主磁盘已损坏,并且因此两个磁盘之间的数据差异仅仅是由于主磁盘中的硬件故障而存在? 然后将错误的数据同步到辅助磁盘? 是否有现代硬盘驱动器的校验和,以确保这样的事情不会发生?

2)如果我从2个USB-Sticks创build一个RAID 1? USB-Sticks上有什么机制来检测读取问题,这样损坏的数据不会被RAID同步到另一个USB-Stick,甚至可能覆盖正确的数据? USB-Sticks(针对embedded式系统)的RAID 1是否有意义,或者由于写入耐久性有限,可能会在同一时间失效?

你的意思是如果磁盘损坏,使得损坏的数据被读出来,这似乎是合法的? 这不是一个“正常的失败”。 RAID 1可防止单个磁盘的正常故障。

如果一个磁盘着火而另一个磁盘烧毁,它也不会保护你。 这些是“exception的失败”。 例如,如果一个磁盘的写入硬件中断,并且不真正写入数据,但不报告错误,则RAID 1将失败。

现代磁盘有数据错误检测。 所以除非有固件的问题,否则数据不能被准确读取,磁盘应该能够报告。

在运行RAID 1arrays中的两个磁盘之间的不一致已经是由RAID 1arrays防范之外的事情引起的失败状态。 例如,如果断电,可能会发生。 但RAID 1不应该保护你免受电力损失。 所以在这种情况下是否会破坏数据并不重要 – 不应该这样做。 无论它复制的磁盘是好的。 没关系。 两者都不是比另一个更正确。

如果要防止某个设备发生故障,RAID 1是有意义的。 写耐力与任何事情无关。 如果某个设备无法写入,则RAID 1arrays将失败。

RAID不是备份。 RAID只允许您容忍特定类别的故障。 如果你的故障不属于那个特定的类别,那么RAID不会帮助你,甚至会伤害到你。