我计划构建一些存储模式,但我必须预测停机时间、维护和重建时间。
有人对我说,10To (SATA) 的 10 磁盘 RAID6 重建将持续大约一周!一些公司政策要求在重建时停止 Array 上的活动。
如果我使用 RAID 5 或 6 或 5+1 或 6+1,是否有一个近似公式可以根据磁盘大小和类型(SAS/SATA/SSD)提示重建时间。类似 rpm x size(Mb) x type-factor x nb-of-disk ...
我希望能够根据大小/RAID 类型/磁盘类型预测所有重建时间方案。
我知道这可能取决于硬件质量,但可以说我没有像 3PAR / STOREWIZE / NETAPP 之类的专用硬件。我正在使用带有传统 SAS 或带有软件 RAID 的 SATA 驱动器的传统服务器。
您可以相当简单地计算最佳情况下的重建率:由于重建是连续的,因此所需的时间是
capacity / transfer rate
. 例如,以 200 MB/s 的传输速率重建 10 TB 磁盘至少需要10000000 / 200 = 50000s = ~14h
.现在把这个结果扔掉,因为它是一个过于乐观的场景:它假设重建操作和完全顺序读/写的磁盘可用性为 100%。混合一些非重建(即:应用程序)负载,将重建本身限制为 30%(以免其他应用程序停止运行),然后您突然进入10 倍(例如:一周)重建时间。
这些较长的重建时间是我在许多系统中避免使用 RAID5/6 的原因,而倾向于镜像。无论如何,使用如此大的驱动器,绝对避免 RAID5,因为它太容易出现双重故障和/或 URE 问题。
如果你想玩这个号码,看看这里
理论上的绝对最小重建时间是写入完整磁盘数据所需的时间:磁盘容量除以磁盘在没有缓存的情况下可以保持的平均持续写入速度。
(注意:平均持续写入速度可能甚至不会接近规格中引用的性能数字。)
更大的磁盘需要更长的时间。
较慢的磁盘需要更长的时间。
奇偶校验计算需要额外的时间。
现实世界中的数字会有所不同,但肯定会(很多)更大,并且取决于您的 RAID 级别、剩余磁盘的数量、阵列重建时系统上的负载、控制器等。
另请参阅有哪些广泛使用的不同 RAID 级别以及何时应该考虑它们?
这取决于您的 RAID 控制器(或软件 RAID 堆栈)。正如其他人所提到的,首先不要将 RAID-5与大型硬盘驱动器一起使用(对于高达 1TB 的 SSD 来说没关系,仅此而已)。
以我的经验,重建时间在很大程度上因存储请求而异。对于空闲系统,大多数控制器将需要 36 到 72 小时来重建 8 到 12 TB 驱动器的阵列(取决于您的控制器类型和磁盘大小)。
但是,当系统在重建期间处于 IO 负载下时,此持续时间增长到一周的情况并不少见。
请注意,氦气驱动器的可靠性记录比标准驱动器好得多;以我的经验,UltraStar He 驱动器的故障率足够低,仍然可以使 RAID-6 相关(典型的 100 TB 到 1 PB 系统在 5 年的时间跨度内不会看到超过一次的重建)。