How to interrupt software raid resync?
I want to interrupt a running resync operation on a debian squeeze software raid. (This is the regular scheduled compare resync. The raid array is still clean in such a case. Do not confuse this with a rebuild after a disk failed and was replaced.)
How to stop this scheduled resync operation while it is running? Another raid array is "resync pending", because they all get checked on the same day (sunday night) one after another. I want a complete stop of this sunday night resyncing.
[Edit: sudo kill -9 1010
doesn't stop it, 1010 is the PID of the md2_resync process]
I would also like to know how I can control the intervals between resyncs and the remainig time till the next one.
[Edit2: What I did now was to make the resync go very slow, so it does not disturb anymore:
sudo sysctl -w dev.raid.speed_limit_max=1000
taken from http://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html
During the night I will set it back to a high value, so the resync can terminate.
This workaround is fine for most situations, nonetheless it would be interesting to know if what I asked is possible. For example it does not seem to be possible to grow an array, while it is resyncing or resyncing "pending"]
If your array is md0
then echo "idle" > /sys/block/md0/md/sync_action
'idle' will stop an active resync/recovery etc. There is no guarantee that another resync/recovery may not be automatically started again, though some event will be needed to trigger this.
http://www.mjmwired.net/kernel/Documentation/md.txt#477
I wanted to slow down or pause the resync process to save some I/O to backup some stuff on another computer. This thread helped me but I found another solution.
On my Debian Lenny :
echo "idle" > /sys/block/md0/md/sync_action
works but the resync process is immediately restarted.checkarray -x --all
: works, but same result: the resync process is immediately restarted.
So I use this method:
echo 0 > /proc/sys/dev/raid/speed_limit_max