Urgh. I had a RAID 6 reshape on my NAS that was projected to take 28 days to complete, I kid you not. It was stuck at an abysmal 4MB/s transfer rate. Here’s how to unblock it.

First, follow all the advice on general raid speedups – assuming md2 is your RAID device and you need to replace sd[DEVICE] below with the correct block devices that constitute the array:

echo 50000 > /proc/sys/dev/raid/speed_limit_min

echo 100000 > /proc/sys/dev/raid/speed_limit_max

blockdev –setra 65536 /dev/md2

echo 32768 > /sys/block/md2/md/stripe_cache_size

echo 1 > /sys/block/sd[DEVICE]/device/queue_depth

This is all common advice that it is easy to find. But I was still stuck at the hideous transfer rate. I was worried there was a firmware fault with my drives. What unblocked it for me was:

echo max > /sys/block/md2/md/sync_max

Bingo. Up to 45MB/s now, even during heavy write usage from other processes.