The column count indicates the number of physical disks that Storage Spaces stripes data across. The column count has a direct correlation to performance as increasing the column count allows more physical disks to be striped and accessed in parallel during reads and writes.
You can only configure column count at VD creation by using PowerShell. You cannot set the column count by using the graphical user interface (GUI). Creating a VD in the GUI selects a default column count that may not be optimized for your solution. After a VD is created the column, count cannot be changed. For a VD that uses storage tiers, the column count of the SSD tier and HDD tier must be identical.
Run the following PowerShell command for creating VDs with a specified column count.
New-VirtualDisk -FriendlyName <vdName> -StoragePoolFriendlyName <poolName> -ProvisioningType Fixed -ResiliencySettingName <Simple| Mirror| Parity> -PhysicalDiskRedundancy <1|2> -NumberOfColumns <#ofColumns> -StorageTiers <ssdTierObject, hddTierObject> -StorageTierSizes <ssdTierSize , hddTierSize>
For example,
A new VD is created called exampleVD2 in the storage pool MyPool1. This VD is a Two-way mirror. The column count is six for this VD so the NumberOfColumns attribute is set to 6.
New-VirtualDisk -FriendlyName “exampleVD2” -StoragePoolFriendlyName “MyPool1” -ProvisioningType Fixed -ResiliencySettingName Mirror -PhysicalDiskRedundancy 1 –NumberOfColumns 6 –StorageTiers $ssd_tier, $hdd_tier –StorageTierSizes 100GB, 15TB
Resiliency type | Minimum number of columns | Column-to-disk correlation | Minimum number of disks |
---|---|---|---|
Simple | 1 | 1:1 | 1 |
Two-way mirror | 1 | 1:2 | 2 |
Three-way mirror | 1 | 1:3 | 5 |
Parity | 3 | 1:1 | 3 |
Dual Parity | 7 | 1:1 | 7 |
When a disk fails and an automatic rebuilds are enabled, the VD attempts to repair the degraded VD by using existing free disk space in the pool. However, for an automatic rebuild to occur, the VD must not only have free disk space, but also have at least enough free disks available to restore the intended resiliency level when also maintaining the original column count.
To account for this, the equations listed here for Two-way and Three-way mirrors subtract 1 or 2 respectively for the column count calculation. If you do not intend to enable automatic rebuilds for the VD subtracting is not necessary.
When enclosure awareness is enabled the data copies are spread across the enclosures to allow for failure of a complete enclosure, when also maintaining access to the data. Storage Spaces must have enough free disks to rebuild the VDs in the remaining enclosures, when also maintaining the original column count.
For Two-way mirror VDs:
Without enclosure awareness
With enclosure awareness
For Three-way mirror VDs:
Without enclosure awareness
With enclosure awareness
For Dual parity VDs:
Without enclosure awareness
With enclosure awareness
For example, if you have three Dell PowerVault MD3060e storage enclosures each with 12 x SSDs and 48 x HDDs and decide to create two storage pools, MyPool1 and MyPool2, this is how you would calculate the column counts for the VDs in different scenarios.