如何中断软件raid重新同步?

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

  • 如果您有多个突袭: echo idle | 须藤三通/sys/block/md*/md/sync_action (2认同)

小智 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


Zor*_*che 3

不确定如何取消重新同步,但时间表由/etc/cron.d/mdadmDebian/Ubuntu 系统控制。

该脚本/usr/share/mdadm/checkarray可能会阐明您问题的其他部分,因为这就是 cron 所调用的内容。