Ada*_*am5 52 linux raid synchronization mdadm software-raid
我想中断 debian 挤压软件raid 上正在运行的重新同步操作。(这是常规的计划比较重新同步。在这种情况下,raid 阵列仍然是干净的。不要将其与磁盘发生故障并被替换后的重建混淆。)
如何在运行时停止此计划的重新同步操作?另一个突袭阵列是“重新同步挂起”,因为它们都在同一天(周日晚上)一个接一个地接受检查。我想彻底停止这个周日晚上的重新同步。
[编辑:sudo kill -9 1010不停止,1010 是 md2_resync 进程的 PID]
我还想知道如何控制重新同步之间的间隔和直到下一次的剩余时间。
[Edit2:我现在所做的是使重新同步变得非常慢,所以它不再打扰:
sudo sysctl -w dev.raid.speed_limit_max=1000
Run Code Online (Sandbox Code Playgroud)
取自http://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html
在夜间,我会将其设置回较高的值,以便重新同步可以终止。
这种解决方法适用于大多数情况,但知道我问的是否可行会很有趣。例如,似乎不可能增长数组,而它正在重新同步或重新同步“待定”]
Mar*_*ner 52
如果你的阵列是md0那么echo "idle" > /sys/block/md0/md/sync_action
“空闲”将停止活动的重新同步/恢复等。不能保证另一个重新同步/恢复可能不会再次自动启动,尽管需要一些事件来触发它。
http://www.mjmwired.net/kernel/Documentation/md.txt#477
小智 40
我想减慢或暂停重新同步过程以保存一些 I/O 以备份另一台计算机上的某些内容。这个线程帮助了我,但我找到了另一个解决方案。
在我的 Debian Lenny 上:
echo "idle" > /sys/block/md0/md/sync_action 有效,但重新同步过程会立即重新启动。
checkarray -x --all :有效,但结果相同:重新同步过程立即重新启动。
所以我用这个方法:
echo 0 > /proc/sys/dev/raid/speed_limit_max
小智 22
您可以使用以下命令序列(以 root 用户身份)取消正在进行的阵列重新同步:
echo frozen > /sys/block/md0/md/sync_action
echo none > /sys/block/md0/md/resync_start
echo idle > /sys/block/md0/md/sync_action
Run Code Online (Sandbox Code Playgroud)
请注意,这可能会使您的阵列处于不一致状态。除非您确定阵列状态良好,否则不要这样做,然后再重新运行同步。
(信用到期的信用:在此线程中找到了此咒语。)
小智 9
如上所述,在 Debian/Ubuntu 系统上,/etc/cron.d/mdadm脚本调用/usr/share/mdadm/checkarray脚本来启动重新同步检查。
此脚本具有取消所有正在运行的同步检查的选项:
/usr/share/mdadm/checkarray -x --all
Run Code Online (Sandbox Code Playgroud)
小智 6
对此的可能解决方案,花了一些时间来了解细节。
我的系统:CentOS 6.5 mdadm v3.3.2
每周不断检查,想暂停其中一个,RAID 是干净的,检查是通过每周运行的 /etc/cron.d/raid-check 脚本调用的。
要取消检查,请使用 --misc --action 函数。假设 RAID 设备是 /dev/md0 并且这只是每周一致性检查而不是设备故障,您将以 root 身份执行以下操作:
mdadm --misc --action=idle /dev/md0
同样,要开始一致性检查
mdadm --misc --action=check /dev/md0
不确定如何取消重新同步,但时间表由/etc/cron.d/mdadmDebian/Ubuntu 系统控制。
该脚本/usr/share/mdadm/checkarray可能会阐明您问题的其他部分,因为这就是 cron 所调用的内容。