Q. I'm trying to create a Storage Spaces Direct deployment on a cluster with 3 data copies but I get an error related to not enough eligible disks.
A. There are various types of disk resiliency available with Storage Spaces. A very common one is three-way mirroring, which has three copies of the data, for example when using the command:
New-VirtualDisk -StoragePoolFriendlyName stor* -Size 80GB -NumberOfDataCopies 3 -NumberOfColumns 2 -FriendlyName testspace -ResiliencySettingName Mirror -ProvisioningType Fixed -FaultDomainAwareness StorageScaleUnit -WriteCacheSize 0
You receive the error:
New-Volume : There are not enough eligible physical disks in the storage pool to create the specified virtual disk configuration.
In this example I had four nodes in the cluster, each with one local disk which was used in the Storage Pool. That would seem to support 3 copies of data -- but this is not the case. You actually need 3+2 disks (i.e. five disks), and for best practice you would have at least 2 disks in each of the 4 nodes.
For the clustered Storage Space, it's important that quorum for the disks can be maintained, i.e. 5 disks minimum is needed so 2 disks can fail and 3 disks are still available maintaining quorum, i.e. greater than 50% available of the total. This is the same logic as for physical nodes in a cluster. In the case of a split its important only one partition can make quorum and operate to avoid problems/corruption.
Note if you were using a two-way mirror (2 copies of data), you need at least 3 disks. View the "Controlling the Number of Columns" section on this TechNet article for detail on the minimum number of disks for various types of resiliency. This is to ensure you can support the number of failures you are protecting against and still maintain the resiliency level.