在 Linux 上重建软件 RAID 1 期间,我是否需要停止或限制服务(Apache、MySQL 等)?
是否存在损坏或丢失数据的风险?
我在 Debian 5 上使用 Linux MD 设备(带有 mdadm)。
谢谢
答案1
正如评论的那样,重建期间数据损坏的风险非常小。在重建完成之前,您显然仍然面临丢失另一个驱动器的风险。您应该确保您的备份是最新的并且正常工作。您有备份,不是吗?
重建显然会使用 IO,但正在运行的进程将具有更高的优先级。这意味着 IO 密集型进程将使重建花费更长时间。
Linux 有几个调节旋钮可以改变进程的运行速度:
/proc/sys/dev/raid/speed_limit_min
/proc/sys/dev/raid/speed_limit_max
在我的计算机上,它们分别设置为 1000 和 200,000。最小值并不那么可靠,因为我相信用户空间 IO 仍然胜过它。只需将新值回显到这些文件中即可更改它们。您可以通过检查来查看当前速度/proc/mdstat
。您可以使用以下方式获得漂亮的更新显示:
watch cat /proc/mdstat
按ctrl-c退出。
答案2
如果你正在重建 RAID,
A)你应该先备份
B)您的性能会很差。发生这种情况时,您最好将所有关键服务移至另一台主机,在这种情况下,我会关闭各种守护进程。
答案3
同意其他人的说法。但我只想谈谈你问题的最后一点:
如果您在重新同步期间继续使用驱动器,则不会有损坏或丢失数据的风险。
答案4
是的,重新同步会严重影响磁盘性能。根据 RAID 分区的大小,您可以降低重新同步速度(以 root 身份):
echo 10000 > /proc/sys/dev/raid/speed_limit_max
例如,将重新同步速度限制在 10MB/秒。您可以根据需要将其限制到为您的服务留出 I/O 容量的程度。
缺点是,您越是限制它,RAID 再次冗余所需的时间就越长。因此,剩余驱动器发生故障并导致整个阵列失效的时间也更长。