假设我从 HA 服务器上的 RAID 阵列中移除一个驱动器一段时间,然后重新添加它。有没有办法将重建限制为与移除后发生的变化不同,还是必须进行完全重建?
我们一直在非 RAID 设备上使用 Spinrite 来捕获驱动器损坏,以免损坏严重到 SMART 无法注意到它们。而且它在运行于 1 级或 2 级的 SSD 上效果很好,可以向内部控制器提供它不知道的坏单元。我们想要做的是从 RAID 中取出驱动器,在 1 级驱动器上运行 Spinrite(因为它无法将其与硬件 RAID 隔离),然后将其返回到 RAID。如果 SSD 定期重写驱动器的全部内容,则会抵消通过证明驱动器的可读性而获得的任何可靠性收益。当驱动器返回时,是否有办法仅使用驱动器停止服务以来的更改差异而不是全部内容来重建它?
答案1
如果驱动器(或阵列的其余部分)没有携带元数据,这只允许同步自拉出以来的更改,那么您将无法避免对驱动器进行完全重新同步。到目前为止,我见过的唯一可以做到这一点的系统是 ZFS。
请注意,使用 Spinrite(或任何其他工具)对拉出的 RAID 阵列驱动器上的数据进行完整的读写循环是一个坏主意(但不能说是愚蠢的)。拉出驱动器会降低阵列的性能,降低其性能,并且不必要地增加整个阵列故障的风险 定期。您还应该放弃 Spinrite 会在您的驱动器上撒些仙尘的想法,这样它们的寿命就会更长、更可靠。
大多数 RAID 控制器支持“巡读”或者“一致性检查”该功能将读取每个物理磁盘上的所有数据并根据校验和进行验证(如果存在)不会降低阵列性能- 这才是你应该关注的。显然,需要监控这些检查的结果并更换可疑驱动器。