我想知道 RAID 重建过程是否会对系统性能产生重大影响。服务器在重建过程中是否能够以合理的延迟做出响应?
我想到了另一个问题。我们有什么办法可以优先考虑磁盘重建过程吗?例如,我们可以限制读取/写入数据的速率吗?当然,这可能是有风险的,因为我们在重建过程中可能会再次出现故障。让我们专注于性能方面,忽略这个风险!
我说的是 Linux raid mdadm。
答案1
根据我的经验,系统在重建期间仍然非常可用。当然,这取决于您的硬件和工作量。主要是读取还是通常有很多写入活动?我敢肯定,重建会使速度减慢约 20-30%。
您可以使用 sysctl 可调参数调整重建速率dev.raid.speed_limit_{min,max}
。默认情况下,最小重建速率为每秒 1000 千字节,最大重建速率为每秒 100 000 千字节。要调整它们,例如使用
sysctl -w dev.raid.speed_limit_max=10000
或者要使更改永久生效,使用
echo dev.raid.speed_limit_max=10000 >>/etc/sysctl.conf
并使用
sysctl -p
答案2
它可以对其产生很大的影响,重建优先级很高,“合理”是主观的,如果设置为高,它会尽最大努力,而如果重建设置为低,那么重建就会得到最大努力。
至于改变这些优先级,请查看 /proc/sys/dev/raid/speed_limit_max 和 /proc/sys/dev/raid/speed_limit_min。