我最近在一个SW RAID1系统(Debian 6.0)上发生了一个硬盘故障,发生了什么事是活动硬盘看起来有一些坏块,它以某种方式传播到硬盘上,但仍然没问题,但它被设置为备用,无法同步。 这基本上是我的假设,因为我不能肯定地说。
我想知道是否有谁知道是否有可能从一个坏的硬盘错误传播到另一个硬盘,如果有的话,如果有任何设置这样的事情不会发生?
任何有关这个问题的见解将不胜感激。 谢谢。
如果Linux软件RAID 知道它正在读取损坏的数据,它将不会镜像它。 但是,如果您的磁盘出现故障并提供不正确的数据,则无法恢复RAID中的设置。 如果两个磁盘上的块不相等,它根本不知道应该信任哪些数据。
但是,你提到它确实认定这些块是“坏”的。 在这种情况下,mdadm会踢出(标记为有问题的)该磁盘,您必须使用正确的磁盘手动启动arrays降级。 它会阻止你恢复与那个错误的磁盘同步,除非你强迫它。
尝试防止无提示数据损坏的最佳方法是使用文件系统级镜像,如ZFS和btrfs报价。 它将在物理层面承受一些数据损坏,因为它使用奇偶校验计算来检查所有数据。 不过,在某些情况下可能会变慢。