RAID – Optimal Stripe Size for RAID10 in VMware with H730P Mini Raid Controller

raid

Below is our current server configuration. In a few weeks I will be simulating a disaster recovery by installing 7 new disks (1 hot spare) and restoring all VMs from the backups.

Will I gain anything by changing the RAID stripe size to something other than 64KB? The RAID controller has options for 8KB, 16KB, 32KB, 64KB, 128KB, 256KB, 512KB, 1MB.

Any recommendations based on the specification below would be greatly appreciated – thanks.

Hardware:

Dell R630
Dell H730P Mini Raid Controller
2XE5-2670 V3
512GB RAM
12G 1.8TB 10K SAS Disk

    Software:

   Vmware ESX 6.7 U3

    Configuration:

    RAID 10, 128k Stripe Size

Best Answer

Generally speaking, selecting a stripe size is a bandwidth vs IOPs tradeoff: smaller stripe size often means higher sequential read/write speed, while bigger stripe size means higher concurrent IOPs (due to less IO spanning multiple disks).

That said, mechanical HDD are highly unbalanced devices: latency dominates until relatively big IO (>= 32 KB) are issued, so stripe element size (or chunk size, in Linux MDRAID parlance) under 64 KB are rarely used (which happens to be the default value).

For a virtualization host, where IOPs are far more important than single-thread sequential speed, I would increase it to 256 KB.