Expanding Storage Spaces Direct Volumes

As many of you would have seen, Windows Server 2016 has been officially launched, with evaluation media available and General Availability slated for later this month.

One of the great new features in this release, is Storage Spaces Direct, a Software-Defined Storage Solution. There is already plenty of information available on how to get this up and running on Microsoft Docs, but I thought I’d share some of the operational tasks that aren’t so obvious, starting with expanding volumes.

Firstly we want to get the current size of the existing storage tiers that make up our volume

Get-VirtualDisk -FriendlyName vol1 | Get-StorageTier | Format-Table FriendlyName, @{Label=’Freespace(GB)’;Expression={$_.Size/1GB}} -autosize
Current size of Storage Tiers

Now in this example, we’re using a Multi-Resiliency Virtual Disk, which allows us to combine the performance of Mirror with the efficiency of Parity to get the best of both worlds. Let’s say this volume has a SQL Server on it, and I know my working data set hasn’t increased but I’ve got lots of cold data and my volume is almost full. I want to just add capacity to the volume to continue to store more cold data.

We want to select just the Parity tier and expand that one

Get-VirtualDisk -FriendlyName vol1 | Get-StorageTier | ?{$_.ResiliencySettingName -eq 'Parity'} | Resize-StorageTier -Size 1000GB

And then expand the partition to match the new size

Get-VirtualDisk -FriendlyName vol1 | Get-Disk | Get-Partition | ?{$_.type -eq 'Basic'} | Resize-Partition -Size 1100GB

Now if we check the storage tiers again we should see our new sizes

Get-VirtualDisk -FriendlyName vol1 | Get-StorageTier | Format-Table FriendlyName, @{Label=’Freespace(GB)’;Expression={$_.Size/1GB}} -autosize
Size of Storage Tiers after expansion

If you wanted to add more Performance Tier to your volume to account for an increase in your active working set, or the data that is write intensive, then you would just have to swap out Parity for Mirror in the command where we expanded the tier.

Shrinking of S2D (Storage Spaces Direct) volumes is not currently supported, however this is a less common scenario.

I’ll be posting more tips like this around Storage in Windows Server 2016 over the next few weeks