如果使用RAID 1,并且发现两个磁盘之间有任何不一致之处,则将数据从主磁盘(很可能是端口号较低的磁盘)复制到辅助磁盘。
但是,如果主磁盘被损坏,因此两个磁盘之间的数据差异仅由于主磁盘中的硬件故障而存在,该怎么办?那么,错误的数据会被同步到第二盘吗?现代HDD是否存在校验和,以确保这样的事情不会发生?
2)如果我用两个USB棒构建一个RAID 1会怎么样?是否有任何在USB棒上检测读取问题的机制,这样损坏的数据就不会被RAID同步到另一个USB棒上,甚至可能会覆盖那些正常的数据?U盘的RAID 1(对于嵌入式系统)是完全有意义的,还是会因为读写能力的限制而在同一时间失效?
发布于 2012-08-15 10:15:05
您的意思是说,如果磁盘被损坏,以致损坏的数据被读取,那么它就会显示为合法的?这不是“正常的失败”。RAID 1保护单个磁盘的正常故障。
如果一个磁盘着火,另一个磁盘爆炸,它也不会保护你。这些都是“不正常的失败”。例如,如果一个磁盘的写入硬件中断,而且它并不真正写入数据,但不报告错误,那么RAID 1就会失败。
现代磁盘有数据错误检测。因此,除非存在类似固件错误的东西,否则如果无法准确读取数据,磁盘应该能够报告它。
在一个有效的RAID 1数组中,两个磁盘之间的不一致性已经是由于RAID 1数组所保护的内容之外的某个东西导致的失败状态。例如,如果电力被移除,就可能发生这种情况。但是RAID 1不应该保护你不受电力损失的影响。因此,在这种情况下,它是否会破坏数据并不重要--它不应该不这样做。它复制的任何磁盘都可以。无所谓。两种方法都不比另一种更正确。
如果您想保护一个设备的故障,RAID 1是有意义的。写耐性和任何事都没有关系。如果无法写入任何设备,RAID 1数组将失败。
RAID不是备份。RAID只允许您容忍特定类别的错误。如果你的错不是那个特定类别中的一个,RAID不会帮助你,甚至会伤害你。
https://serverfault.com/questions/417738
复制相似问题