Storage Spaces Error

Though this could seems an outdated post, I forgot its core so I will write it down again.

When you configure a new Storage Pool with a bunch of disk and then create a virtual disk using wizard, if you choose “max Capacity” you will have the error above.

Even though you pop up a search on Google you will find (or even better, you will didn’t find) different and confused information about Storage Spaces, Storage Spaces Direct, Clustered Strorage and so on.

The real, and easy, solution is to avoid “max Capacity” choice and use powershell to set a new Virtual Disk that fill the entire Storage Spaces Pool capacity.

$SSDTier = Get-StorageTier | ? { $_.MediaType -match "SSD" }
$HDDTier = Get-StorageTier | ? { $_.MediaType -match "HDD" }

$StoragePoolDisks = Get-StoragePool -FriendlyName "SPname" | Get-PhysicalDisk | Select FriendlyName,Size
$SSDDisk = Get-StoragePool -FriendlyName "SPname" | Get-PhysicalDisk | ? { $_.FriendlyName -match "<SSD Disk Model>" }
$HDDDisk = Get-StoragePool -FriendlyName "SPname" | Get-PhysicalDisk | ? { $_.FriendlyName -match "<HDD Disk Model>" }
$SSDWriteCacheSize = 16GB

New-VirtualDisk -StoragePoolFriendlyName "SPname" -FriendlyName "VHDname" -StorageTiers @($SSDTier, $HDDTier) -StorageTierSizes @($($SSDDisk.Size - $SSDWriteCacheSize - 3GB), $($HDDDisk.Size - 3GB)) -ResiliencySettingName Simple -WriteCacheSize $SSDWriteCacheSize -ProvisioningType Fixed

New-Volume -Disk $(Get-Disk -FriendlyName "VHDname") -FriendlyName "Hyper-V" -FileSystem ReFS -DriveLetter H

The key point is to set the Virtual Disk size a little less then the full disks sum capacity (the “-3GB” part in my code).

The solution works even without storage tier, you should adjust the syntax for New-VirtualDisk command.