Thread (11 messages) 11 messages, 5 authors, 2014-03-28

Re: raid resync speed

From: Stan Hoeppner <hidden>
Date: 2014-03-20 14:35:52

On 3/19/2014 8:12 PM, Jeff Allison wrote:
...
In this box I have a 3x2TB disk raid 5 array, which I am in the
process of extending to a 4x2TB raid 5 array.

I've added the new disk --> mdadm --add /dev/md0 /dev/sdb

And grown the array --> mdadm --grow /dev/md0 --raid-devices=4

Now the problem the resync speed is v slow, it refuses to rise above
5MB, in general it sits at 4M.
...
Model: ATA ST2000DM001-1E61 (scsi)
Disk /dev/sdb: 2000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Seagate Advanced Format 512e disk drive
Number Start End Size Type File system Flags
1 1049kB 2000GB 2000GB primary ntfs raid
Offset is 262 physical sectors, strange value, but won't incur RMW
internally.  So no performance hit here.

...
I've followed the article here -->
http://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html
to attempt to speed it up but no joy.

Any Ideas what I've done wrong?
Yes.  The article gives 16384 and 32768 as examples for
stripe_cache_size.  Such high values tend to reduce throughput instead
of increasing it.  Never use a value above 2048 with rust, and 1024 is
usually optimal for 7.2K drives.  Only go 4096 or higher with SSDs.  In
addition, high values eat huge amounts of memory.  The formula is:

stripe_cache_size * 4096 bytes * drive_count = RAM usage

(32768*4096) * 4 = 512MB of RAM consumed by the stripe cache
(16384*4096) * 4 = 256MB of RAM consumed by the stripe cache

 (2048*4096) * 4 =  32MB of RAM consumed by the stripe cache
 (1024*4096) * 4 =  16MB of RAM consumed by the stripe cache


Cheers,

-- 
Stan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help