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
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
How do I initialize $ssd_tier and $hdd_tier?