Microsoft Storage Spaces optimizes performance by striping data across
multiple physical disks. The stripe size (interleave size) is set
by default to 256 KB. This means that Microsoft Storage Spaces stores
256 KB of data per stripe on each disk. You can configure the stripe
size when creating a new VD but only by using PowerShell.
To maximize performance, ensure that the interleave size
is as large as the most common I/O of your workload. I/O data that
exceeds the interleave size is split into multiple stripes, turning
one write operation into multiple write operations and reducing performance.
Interleave size is set in bytes.
Run the following
PowerShell command to create a VD with a specific interleave size.
New-VirtualDisk -FriendlyName <vdName> -StoragePoolFriendlyName <poolName>
-ProvisioningType Fixed -ResiliencySettingName <Simple| Mirror| Parity>
-PhysicalDiskRedundancy <1|2> -NumberOfColumns <#ofColumns> –Interleave <#ofBytes> -StorageTiers <ssdTierObject, hddTierObject>
-StorageTierSizes <ssdTierSize , hddTierSize>
For example, a new VD is created called exampleVD3
in storage pool MyPool1. This VD is a two-way mirror. The most common
I/O size for the workload is 64 KB. For this VD, the
Interleave attribute is set to
65536 (64 KiB converted to bytes).
New-VirtualDisk -FriendlyName “exampleVD3” -StoragePoolFriendlyName “MyPool1”
-ProvisioningType Fixed -ResiliencySettingName Mirror -PhysicalDiskRedundancy 1
–NumberOfColumns 4 –Interleave 65536 –StorageTiers $ssd_tier, $hdd_tier
–StorageTierSizes 50GB, 8TB