我应该多久清理一次我的 RAID?

mrf*_*red 14 maintenance raid storage hard-drive

一般来说,我想知道需要清理 RAID 阵列的频率。是什么导致需要更频繁地清理(读取数据?,写入数据?,意外关机?,驱动器寿命?,驱动器大小?,用户数量?等)?

我一直在这里阅读 Arch wiki ,它真正说的是应该定期进行擦洗。我只是想知道如何定期就足够了。显然这取决于,但合理的范围是多少?每年?每月?每周?日常的?非常感谢您提供任何信息。

sys*_*138 16

您应该多久扫描一次取决于很多事情。

  • 磁盘的年龄。他们年纪越大,就越有可能包含邪恶
  • 有问题的磁盘的原始质量。作为“企业”出售的东西更有可能无误,而且 2014 年 1 TB 大小的磁盘比 2009 年发货时更可靠。
  • 您的生产 I/O 对清理 I/O 的敏感程度。
  • 您认为有多少数据集是您的工作集。

出于这个原因,硬件 RAID 供应商通常包含一个后台清理过程,有些甚至允许您调整清理过程的 I/O 优先级,从而避免(或大大减少)清理的生产 I/O 损失。当然,如果您的优先级较低,并且您的生产 I/O 运行的磁盘几乎完全正常,您可能永远不会完成清理,甚至在出现故障之前都不会注意到它。

不幸的是,我不知道 Linux 内核是否会优先考虑清理 I/O。无论哪种方式,最好用您的产品负载对其进行测试,以确保对性能的任何影响都是可以接受的。如果可以接受就好了!如果不是,您可以选择是否添加主轴以允许清理+生产 I/O,或者只是接受未来可能出现阵列故障的风险。

影响清理频率的另一件事是 I/O 使用模式。如果生产负载仅命中少数磁盘,则通常会在空闲部分找到坏块的唯一 I/O 将是您的清理;在这种情况下,您想更频繁地擦洗。如果您的生产负载定期读取整个磁盘集(如每日完整备份),那么生产 I/O 将更快地遇到问题,您可以减少清理频率。

一个好的行动计划是:

  1. 运行一些测试,看看擦洗是否会妨碍生产。
    1. 弄清楚你在做一次完整的磨砂需要多长时间。
  2. 计算出您的磁盘集在给定的一周内将获得多次访问的百分比(在此计算中包括备份 I/O,如果有的话)。
  3. 根据 1 和 2 决定您是否在较少或较频繁的阵营中。

一旦你有了这些数据...

  • 如果完整扫描耗时不到一天,并且不会显着影响生产,那么您可以每周进行一次。
  • 如果完整扫描耗时不到一天并且确实影响了生产,请找出您一周/一个月中受影响最小的部分,然后尝试运行它。
  • 如果完整扫描需要一天多于一周,并且不影响生产,则每隔一周或每隔一个月运行一次。
  • 如果完整扫描需要一天但不到一周并且确实影响生产,请考虑添加资源以允许它运行,要求在安排的维护窗口期间运行扫描,或利用清理的空闲/检查能力来执行它断断续续地开始。
  • 如果完整扫描需要一周以上,则通常每月一次就足够了。但如果它影响生产,您将需要添加资源以使其完成。