有一个事实:URE将RAID阵列的整个成员视为损坏,但是URE在阵列外部不将整个驱动器视为损坏。 造成这种情况的技术差异是什么?它们在操作系统级别的显示方式相似,因此必须低于操作系统和格式。
据我了解,当RAID 5的单个成员发生故障时,RAID控制器开始通过将其他值与奇偶校验值进行比较以在新磁盘上写入正确的值来重建被替换的磁盘。当URE发生时,“它”通过“读取错误”感测到“损坏的数据”,“它”无法纠正“读取错误”,并且它停止重建并将第二个成员标记为错误。如果您具有单个冗余,则将使该阵列不可用。
为什么在遇到URE时ENTIRE数组不可用?为什么不只是那条信息呢? 似乎可以很容易地指出阵列中的位置,检查文件表,并列出损坏的文件,以便可以从备份将损坏的文件重新添加到阵列中。
例如,在单个磁盘中,驱动器控制器将扇区标记为坏并继续前进;驱动器控制器不会将整个驱动器和其中的分区标记为“坏”。为什么RAID控制器不能模仿它并得到相同或相似的结果?
另外,可能与背景相关的第二个问题是URE是“硬错误”,其中从同一扇区的每次读取均失败(与拼版相关),或者一次发生的“软读取”错误(与数据传输相关),但是拼盘还不错吗?如果是后者,那就引出了一个问题,为什么不只是再次尝试读取?还是前者?
为什么RAID控制器不能模仿URE上的驱动器控制器动作?
TL;博士
这个问题实际上是一个相同的问题,但是咆哮者似乎把整个话题的答案和语气横摆了。“ RAID的目标是在磁盘死后使文件系统保持可用。而不是替换备份以确保重建成功。” 和 “在读取要从其构建的源时发生不可恢复的读取错误,因此无法从该损坏的源中正确重建阵列。” 不要回答这个问题。
这里没有怨言。RAID控制器“看到”事物的方式与必须引起这种行为的单个驱动器相比,必须有一些根本的技术差异。那技术上有什么区别? 我可以从逻辑上回答自己的问题;RAID控制器将阵列视为单个单元,驱动器在该单元中根据各个扇区来考虑事物。但是似乎可以通过类似于单个磁盘执行操作的方式来解决此问题,并允许该操作再次可用,因此我必须丢失某些内容。
Spiceworks的这一线索暗示着UREs确实存在问题,但令人费解。线程中有很多链接可以遵循。