Last week VMware released an important KB based around an issue with VSAN 6.2 where some VMs residing on existing Hybrid VSAN datastores may exhibit reduced disk IO performance after an upgrade. In a nutshell the issue is caused by a new operation that’s linked to the new deduplication and compression features in VSAN 6.2. The issue affects only VSAN 6.2 Hybrid deployments and is obviously not applicable to All Flash VSAN Clusters.
If impacted you may see:
- A significantly lower than expected read cache hit ratio is observed on VSAN caching tier.
- A higher percentage of IOPS may be observed on capacity tier disks on Hybrid diskgroups when compared from previous 6.x systems.
- Overall increased VM observed latency
This issue is caused by VSAN 6.2 performing low level scanning for unique blocks, which is related to deduplication, can still occur on VSAN hybrid disk groups. This causes performance deterioration on Hybrid Disk groups, as it has a significant read caching performance impact on the SSD cache tier of VSAN disk groups.
The Workaround:
To work around this issue, if you are using a Hybrid configuration, you can turn off the dedup scanner option on each VSAN host in the VSAN Hybrid cluster. The way to turn it off is to modify the advanced setting lsomComponentDedupScanType which is set to a default value of 2. For the workaround you set that to 0. The easiest way to archive this is through PowerCLI as shown below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
PowerCLI C:\> Get-VMHost | Get-AdvancedSetting -Name LSOM.lsomComponentDedupScanType | ft * Uid Value Description Type Entity --- ----- ----------- ---- ------ /VIServer=\adm.anthony.spiteri@10.17.0.69:443/VMHost=HostSystem-host-28/AdvancedSetting=VMHostSetting-LSOM.lsomComponentDedupScanType/ 2 VMHost per00-node-001.zettagr... /VIServer=\adm.anthony.spiteri@10.17.0.69:443/VMHost=HostSystem-host-48/AdvancedSetting=VMHostSetting-LSOM.lsomComponentDedupScanType/ 2 VMHost per00-node-002.zettagr... /VIServer=\adm.anthony.spiteri@10.17.0.69:443/VMHost=HostSystem-host-55/AdvancedSetting=VMHostSetting-LSOM.lsomComponentDedupScanType/ 2 VMHost per00-node-004.zettagr... /VIServer=\adm.anthony.spiteri@10.17.0.69:443/VMHost=HostSystem-host-92/AdvancedSetting=VMHostSetting-LSOM.lsomComponentDedupScanType/ 2 VMHost per00-node-003.zettagr... PowerCLI C:\> Get-VMHost | Get-AdvancedSetting -Name LSOM.lsomComponentDedupScanType |Set-AdvancedSetting -Value "0" Perform operation? Modifying advanced setting 'LSOM.lsomComponentDedupScanType'. [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): A Name Value Type Description ---- ----- ---- ----------- LSOM.lsomComponen... 0 VMHost LSOM.lsomComponen... 0 VMHost LSOM.lsomComponen... 0 VMHost LSOM.lsomComponen... 0 VMHost PowerCLI C:\> Get-VMHost | Get-AdvancedSetting -Name LSOM.lsomComponentDedupScanType | ft * Uid Value Description Type Entity --- ----- ----------- ---- ------ /VIServer=\adm.anthony.spiteri@10.17.0.69:443/VMHost=HostSystem-host-28/AdvancedSetting=VMHostSetting-LSOM.lsomComponentDedupScanType/ 0 VMHost per00-node-001.zettagr... /VIServer=\adm.anthony.spiteri@10.17.0.69:443/VMHost=HostSystem-host-48/AdvancedSetting=VMHostSetting-LSOM.lsomComponentDedupScanType/ 0 VMHost per00-node-002.zettagr... /VIServer=\adm.anthony.spiteri@10.17.0.69:443/VMHost=HostSystem-host-55/AdvancedSetting=VMHostSetting-LSOM.lsomComponentDedupScanType/ 0 VMHost per00-node-004.zettagr... /VIServer=\adm.anthony.spiteri@10.17.0.69:443/VMHost=HostSystem-host-92/AdvancedSetting=VMHostSetting-LSOM.lsomComponentDedupScanType/ 0 VMHost per00-node-003.zettagr... PowerCLI C:\> Get-VMHost | Get-AdvancedSetting -Name LSOM.lsomComponentDedupScanType Name Value Type Description ---- ----- ---- ----------- LSOM.lsomComponen... 0 VMHost LSOM.lsomComponen... 0 VMHost LSOM.lsomComponen... 0 VMHost LSOM.lsomComponen... 0 VMHost |
Note that each host needs to be rebooted for the settings to take affect so go through the normal process of ensuring hosts go into VSAN maintenance mode before reboot.
Also worth mentioning a PowerCLI script that Jase McCarty has put up on GitHub that Gets/Sets the Deduplication Scanner settings with the use of some checks via a PowerCLI script that accepts variables.
https://github.com/jasemccarty/DedupeScan
References: