Recommend me RAID 6 stripe size (storage server)

rmd3003

Limp Gawd
2FA
Joined
Apr 15, 2005
Messages
336
Let's say I'm running media server with 12 2TB drives (total 24TB) in RAID6. Data is stored like this (mix of large and small files):

FOLDER1--
FILE1.ISO 10GB
FILE1.TXT 5KB

FOLDER2--
FILE2.ISO 8GB
FILE2.TXT 1KB
FILE2.JPG 100KB

What would be the best stripe size in this case. It will be "write once" / "read a lot" single GPT volume on Windows Server 2008 R2. Controller is LSI 9260 with 512MB cache. I was thinking about 512KB stripe but I could be wrong.

Thank you.
 
You should not pick a too high stripesize for RAID5 or RAID6 since doing small I/O would then come at a high penalty.

With 512K stripesize and 12 disks in RAID6, the full block size would be 512K * 10 (12 - 2) = 5MiB. That means that to modify or write a few kilobytes, you have to:
- read the full stripe block (5MiB)
- calculate new parity for the stripe block (5MiB XOR)
- write the full stripe block (5MiB)

With a lower stripesize, small writes would be a bit faster. Note that RAID5 and RAID6 performance is much different from RAID0/1 and combinations (0+1 or 1+0) in this regard.

128KiB is a decent default stripesize. Note that alignment is also important. Windows 7 uses 2048 sector offset or 1MiB alignment. Your fill stripe block SHOULD be optimized for this:

- full stripe block = 128KiB = 1MiB / 128K = GOOD
- full stripe block = 512KiB = 1MiB / 512K = GOOD
- full stripe block = 768KiB = 1MiB / 768K = not so good
- full stripe block = 2MiB = 1MiB / 2MiB = better than above

Full stripe block is the number of DATA disks (so total disks minus parity disks) multiplied with the stripesize.
 
What would be the best stripe size in this case. It will be "write once" / "read a lot" single GPT volume on Windows Server 2008 R2. Controller is LSI 9260 with 512MB cache. I was thinking about 512KB stripe but I could be wrong.

512KB is an excellent choice for the usage you have described.
 
Back
Top