Franco Martelli wrote: > Hello, > > I've a RAID5 array of 4 HDDs (3+1spare), my goal is to speedup mdadm's > resyncing process, sometime after a (rare) system freeze mdadm starts a > resync process, just after the reboot, and it takes 1½ hour to complete the > process. > > It seems to me that mdadm uses a single core during the resync process, is > it possible to configure mdadm to use all the core of my CPU for the resync?
It is irrelevant; the I/O is almost always the limiting factor. The resync requires every disk to be read, and then one disk written, for block after block. > Is it safe and the right thing to do increase the value of: > "stripe_cache_size"? The default value is: > > ~# cat /sys/block/md0/md/stripe_cache_size > 256 No. > or play with "speed_limit_max" value, the default is: > > ~# cat /proc/sys/dev/raid/speed_limit_max > 200000 During the resyncing, `cat /proc/mdstat` will show you a figure on how fast it is going. If it hits 200000 consistently, then you have enough I/O to increase that value. If it does not, then nothing you can do with this RAID5 array will help the resync speed. It is almost certainly the case that your system will not go about 150000 or so. If you have a RAID5 of 3 disks, plus a spare, you would almost certainly be better off using RAID10 across all 4 disks. -dsr-

