我最近在 SW RAID1 系统(Debian 6.0)上发生了 HDD 故障,发生的事情是活动 HDD 看起来有一些坏块,这些坏块以某种方式传播到 HDD 仍然正常,但它被设置为备用并且无法同步. 这基本上是我的假设,因为我不能肯定地说。
我想知道你们中是否有人知道损坏的硬盘驱动器的错误是否有可能传播到另一个硬盘驱动器,如果有的话,是否有任何设置可以防止这种情况发生?
对此事的任何见解将不胜感激。谢谢你。
我最近在 SW RAID1 系统(Debian 6.0)上发生了 HDD 故障,发生的事情是活动 HDD 看起来有一些坏块,这些坏块以某种方式传播到 HDD 仍然正常,但它被设置为备用并且无法同步. 这基本上是我的假设,因为我不能肯定地说。
我想知道你们中是否有人知道损坏的硬盘驱动器的错误是否有可能传播到另一个硬盘驱动器,如果有的话,是否有任何设置可以防止这种情况发生?
对此事的任何见解将不胜感激。谢谢你。
如果 Linux 软件 RAID知道它正在读取损坏的数据,它就不会对其进行镜像。但是,如果您的磁盘发生故障并默默地提供不正确的数据,则没有任何设置或类似的设置可以在 RAID 中恢复它。如果两个磁盘上的块不相等,它根本不知道要信任哪些数据。
但是,您提到它确实将块识别为“坏”块。在这种情况下,mdadm 将踢出(标记为故障)该磁盘,您必须使用正确的磁盘手动启动降级的阵列。除非您强制执行,否则它将阻止您恢复与该故障磁盘的同步。
试图防止静默数据损坏的最佳方法是使用文件系统级镜像,如 ZFS 和 btrfs 提供的。它将承受物理级别的一些数据损坏,因为它通过使用奇偶校验计算来检查所有数据。不过,在某些情况下它可能会更慢。