How to Configure Tiered Storage and Write-Back Cache in Server 2012 R2 ====================================================================== #Storage Spaces reserves 256MB on each disk in the pool for internal VD metadata. Get-PhysicalDisk | Sort Size $SSDs = "PhysicalDisk4" $HDDs = "PhysicalDisk8" Get-PhysicalDisk $SSDs | Set-PhysicalDisk -MediaType SSD Get-PhysicalDisk $HDDs | Set-PhysicalDisk -MediaType HDD #List Disks in Storage Pool Get-StoragePool "Pool 1 (Tiered)" | Get-PhysicalDisk | sort FriendlyName,MediaType | FT FriendlyName,MediaType -auto #Create Storage Tiers $SSDt = Get-StoragePool "Pool 1 (Tiered)" | New-StorageTier –FriendlyName SSDTier –MediaType SSD $HDDt = Get-StoragePool "Pool 1 (Tiered)" | New-StorageTier –FriendlyName HDDTier –MediaType HDD Get-StorageTierSupportedSize SSDTier -ResiliencySettingName Simple Get-StorageTierSupportedSize HDDTier -ResiliencySettingName Simple $SSD_MaxSize = Get-StorageTierSupportedSize SSDTier -ResiliencySettingName Simple | % {$_.TierSizeMax} $HDD_MaxSize = Get-StorageTierSupportedSize HDDTier -ResiliencySettingName Simple | % {$_.TierSizeMax} $SSD_MaxSize -= 100GB Get-StoragePool "Pool 1 (Tiered)" | New-VirtualDisk -FriendlyName "VD1 (Tiered)" -ResiliencySettingName Simple -StorageTiers $SSDt,$HDDt -StorageTierSizes $SSD_MaxSize,$HDD_MaxSize -NumberOfColumns 4 -Interleave 64KB -WriteCacheSize 100GB $SSD_MaxSize = Get-StorageTierSupportedSize SSDTier -ResiliencySettingName Mirror | % {$_.TierSizeMax} $HDD_MaxSize = Get-StorageTierSupportedSize HDDTier -ResiliencySettingName Mirror | % {$_.TierSizeMax} $SSD_MaxSize -= 100GB Get-StoragePool "Pool 1 (Tiered)" | New-VirtualDisk -FriendlyName "VD1 (Tiered)" -ResiliencySettingName Mirror -StorageTiers $SSDt,$HDDt -StorageTierSizes $SSD_MaxSize,$HDD_MaxSize -NumberOfColumns 2 -Interleave 64KB -WriteCacheSize 100GB #Optimize Tiers Optimize-Volume -DriveLetter T -TierOptimize #Pin a single file to the SSD tier on vortual disk "VD1 (Tiered)" #First, list available tiers Get-StorageTier | FT FriendlyName, MediaType, Size -AutoSize #Then, pin the file to the SSD tier Set-FileStorageTier -FilePath "T:\VHD\Library.vhd" -DesiredStorageTierFriendlyName "VD1 (Tiered)_SSDTier" #and check the result Get-FileStorageTier -VolumeDriveLetter T #Remove a file from SSD tier Clear-FileStorageTier -FilePath "T:\VHD\Library.vhd" Get-ChildItem T:\VHD -Recurse $FilesToPin = Get-ChildItem T:\VHD -Recurse $FilesToPin = Get-ChildItem T:\VHD\*.vhd -Recurse Foreach ($File in $FilesToPin) {Set-FileStorageTier -FilePath $File.FullName -DesiredStorageTierFriendlyName "VD1 (Tiered)_SSDTier"} Foreach ($File in $FilesToPin) {Clear-FileStorageTier -FilePath $File.FullName} Get-FileStorageTier -VolumeDriveLetter T