In Windows Server 8 beta (Windows Server 2012 beta), Microsoft released a lot of new features for Cluster Shared Volumes (CSV). One of them is CSV Cache. CSV Cache gives you the possibility to allocate system memory (RAM) of the cluster nodes as cache. This can improve the performance of read requests in workloads like Hyper-V.
Now to enable the CSV Cache on a cluster you have to do this with Windows PowerShell.
- First open the PowerShell prompt
- Set the size of the CSV Cache. The default it 512MB. With this command you will reserve the Memory on all Cluster nodes for caching.
(Get-Cluster). SharedVolumeBlockCacheSizeInMB = 512
- Now you have to enable the Cache on on the Cluster Shared Volumes you want to use.
Get-ClusterSharedVolume “Cluster Disk 1” | Set-ClusterParameter CsvEnableBlockCache 1
Here you can find a Windows Server 2012: CSV Cache Benchmark
If you want to know more about CSV Cache, you can read this blog post from Elden Christensen on the Failover Clustering and Network Load Balancing Team Blog.Tags: Cache, Cluster, Cluster Shared Volume, CSV, CSV Cache, Hyper-V, Hyper-V Server 8, Microsoft, PowerShell, Windows Server, Windows Server 2012, Windows Server 8 Last modified: May 22, 2012
i use hypper-v cluster over SMB (SOFS Cluster). Can i use the CSV Cache or is this only for iSCSI or Fiber Channer Disks in the Hyper-V Cluster?
recommend turning it on for all scenarios, including both Hyper-V Clusters using CSV and Scale-out File Servers using CSV.
Can you recall if a reboot is required?
No reboot needed :) However in 2012 when you enable CSV cache you have to take the CSV offline and back online again. In 2012 R2 this is not needed.
This seems to only work for clusters with CSV Storage.
Is it possible to set a memory read cache on a single 2012 R2 Hyper-V host which uses internal storage for the VHD’s?
Yes, CSV Cache is only available in a Cluster configuration.