Storage Spaces is a great improvement over the baseline software RAID functionality built into Windows. The ability to have a SSD cache tier as well as full management via PowerShell only sweeten the deal.
I use it on my lab VM host which mostly does compiling of OS images and shuttling files back and forth to work. My existing setup was a mirrored 1TB SSD cache tier with 6 x 3TB HDD tier. I wanted to try keeping the SSD tier mirrored, but move the HDD tier to RAID5.
Long story short, the performance is pretty terrible for what I do, but I wanted to write a blog post for anyone looking to do this for their own purposes. I suspect a larger SSD cache might make a difference, but I'm also certain the performance characteristics are good enough for a fancy Plex server or other less write intensive application.
Here's the PowerShell to set it up (change the size values for your array. You might have to guess a bit):
Get-StorageTier |
Remove-StorageTier #Delete existing tiers if you have tried this 23939 times.
New-StorageTier
-StoragePoolFriendlyName StoragePool -FriendlyName SSD_Tier -MediaType SSD
-ResiliencySettingName Mirror
New-StorageTier
-StoragePoolFriendlyName StoragePool -FriendlyName HDD_Tier -MediaType HDD
-ResiliencySettingName Parity
$ssd_tier =
Get-StorageTier -FriendlyName SSD_Tier
$hdd_tier =
Get-StorageTier -FriendlyName HDD_Tier
New-VirtualDisk
-StoragePoolFriendlyName StoragePool -FriendlyName "VirtualDisk"
-StorageTiers @($ssd_tier,$hdd_tier) -StorageTierSizes 400GB, 13000GB
-WriteCacheSize 50GB