Windows Server 2012 R2/Windows Server 2016 Storage Spaces

Last Update: 17.03.2018

Technology description

Storage Spaces enables cost-effective, high availability, scalable, and flexible storage solutions for virtual or physical deployments. Storage Spaces delivers sophisticated storage virtualization capabilities that empower customers to use industry-standard storage for scalable multinode deployments or single server deployments. It is appropriate for a wide range of customers, including enterprise and cloud hosting companies that use Windows Server for high availability and scalable storage that is cost effective. (Microsoft)

With Storage Spaces the Windows storage stack has been fundamentally enhanced to incorporate two new abstractions:

  • Storage pools – A collection of physical disks that enable you to aggregate disks, expand capacity in a flexible manner, and delegate administration.
  • Storage spaces – Virtual disks created from free space in a storage pool. Storage spaces have such attributes as resiliency level, storage tiers, fixed provisioning, and precise administrative control.
  • Storage tier – Storage tiers combine the best attributes of solid-state drives and hard disk drives. They increase the performance of the most used (“hot”) data by moving it to solid-state drives, without sacrificing the ability to store large quantities of data on inexpensive hard disks.
  • Write-back cache – Storage Spaces can use existing solid-state drives in the storage pool to create a write-back cache that is tolerant of power failures and that buffers small random writes to solid-state drives before later writing them to hard disk drives.

Resiliency options and minimum amount of disks

Storage Spaces Resilency

Powershell commands

Get physical disks that can be pooled

Get-physicaldisk | ? {$_.canpool -eq $true}

Create a new pool

New-StoragePool -FriendlyName Pool1 -StorageSubSystemFriendlyName (Get-StorageSubSystem).FriendlyName -PhysicalDisks (Get-PhysicalDisk -CanPool $True)

Get physical disk info in the pool

Get-StoragePool Pool1 | Get-PhysicalDisk | Select FriendlyName,MediaType,UniqueId

New non-tiered thin size virtual disk

New-VirtualDisk -StoragePoolFriendlyName Pool1 -FriendlyName vDisk1 -Size 3TB -ResiliencySettingName Simple -ProvisioningType Thin

New non-tiered fixed size virtual disk with write-back-cache

New-VirtualDisk -StoragePoolFriendlyName Pool1 -FriendlyName vDisk1 -Size 3TB -ResiliencySettingName Simple -ProvisioningType Fixed -WriteCacheSize 92GB

Change disk MediaType in pool using FriendlyName

Set-PhysicalDisk -FriendlyName PhysicalDisk1 -MediaType SSD
Set-PhysicalDisk -FriendlyName PhysicalDisk2 -MediaType HDD

Change disk FriendlyName in pool using UniqueId

Set-PhysicalDisk -UniqueId “{8433b759-314d-11e5-94f3-806e6f6e6963}” -NewFriendlyName “SSD1”

New tiered disk witch custom write-back-cache

New-VirtualDisk -StoragePoolFriendlyName “My Storage Pool” -FriendlyName TieredSpace -StorageTiers @($ssd_tier, $hdd_tier) -StorageTierSizes @(50GB, 300GB) -ResiliencySettingName simple -WriteCacheSize 2GB

Extend virtual disk

Get-VirtualDisk vDisk1 | Resize-VirtualDisk -Size 4TB

Assign a frequent accessed file permanently to the SSD Tier

Set-FileStorageTier -FilePath F:\disk.vhd -DesiredStorageTier ($vdisk1 | Get-StorageTier -MediaType SSD)

Storage spaces links

Storage Spaces: How to configure Storage Tiers with Windows Server 2012 R2
Storage Spaces Overview
Monitor Storage Tiers Performance in Windows Server 2012 R2
Why R2? Step-by-Step: Automated Tiered Storage with Windows Server 2012 R2
Best Practices for Deploying Tiered Storage Spaces in Windows Server 2012 R2
The Effects Of WS2012 R2 Storage Spaces Write-Back Cache
SSD’S ON STORAGE SPACES ARE KILLING YOUR VM’S PERFORMANCE
Creating tiered Storage Spaces in Server 2012 R2
Windows Storage Spaces – Remove physical disk from storage pool with PowerShell

One thought on “Windows Server 2012 R2/Windows Server 2016 Storage Spaces

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.