这篇文章声明RAID控制器对于不可恢复的读取错误很聪明,并尝试用组件驱动器的冗余重写这些扇区。如果扇区不好,磁盘的固件将透明地重新分配扇区。
Linux会做类似的事情吗?也许我的Google-Fu是坏的,但我找不到任何关于它的东西。
发布于 2020-03-22 14:11:58
简短的回答:镜像和基于奇偶校验的RAID布局支持修复一个坏扇区,在正常读取和擦洗期间,都是这样。然而,传统的RAID (基于硬件和软件)无法防止无声的数据损坏,这需要以数据校验和的形式(例如,由BTRFS和ZFS提供)进行更强的保护。
长答案:这个问题和提供的答案合并了关于磁盘、MDRAID和校验求和文件系统如何工作的不同概念。让我们逐个解释它们;无论如何,请考虑到确切的行为在某种程度上是固件和实现依赖的:
md手册页中阅读更多内容,特别是“恢复”部分。这显然意味着应该立即更换磁盘。为了避免太晚发现太多不可读扇区,所有RAID实现都支持一个“清空”o“巡逻读取”操作,在该操作中,定期读取整个数组来测试底层磁盘。注: RAID6或3路RAID1布局理论上可以提供一些额外的保护,与RAID5和双向RAID1相比,使用某种形式的“多数票”。然而,由于它会带来巨大的性能影响,我从未在常见的实现中看到过这样的行为。有关更多详细信息,请参阅这里。
发布于 2014-07-25 08:30:03
最严格意义上的linux无法做到这一点,但是dmraid (设备映射器,lvm的内核端)有一个糟糕的块重新映射模块。
当然,dm和md可以并行使用。在最流行的配置中,raid数组上有一个lvm卷组。这也可以用坏块映射器来扩展。
我必须注意:当前的硬盘控制器在固件中有这样一个坏块映射器功能。
大多数专业的系统管理员不处理有坏块的磁盘,但是他们在第一个问题发生后就把它扔掉了。他们用成本风险计算来解释这一点,但事实并非如此。事实是,他们只是懒惰。在大多数操作系统中(特别是在linux中)有非常好的块处理,您可以使用这样的硬盘而不用担心。
https://serverfault.com/questions/615413
复制相似问题