With my new role, I am once again drinking from the firehose. The result of which has primarily seen me go heads-down on all things vSAN related, including a course on the new features included in the vSphere 6.7 U1 release.
The latest vSAN release included in vSphere 6.7 U1, includes new functionality to support TRIM/UNMAP guest OS commands to reclaim unused disk space within a vSAN datastore. Previous versions of vSAN disregarded ATA TRIM and SCSI UNMAP commands issued by a virtual machine guest OS. The added support in vSphere 6.7 U1 helps with reclaiming unused disk space that are marked as such by a guest OS.
There are a few requirements for leveraging the new functionality.
- VMs must be thin-provisioned.
- Windows OS VMs must be at least HW version 9.
- Linux OS VMs must be at least HW version 13.
- The vSAN datastore must be On-Disk format version 7.
- VMs must be powered cycled after TRIM/UNMAP is enabled on the cluster or ESXi host. A reboot is not sufficient.
When enabled, the TRIM/UNMAP functionality will begin to reclaim space object on each vSAN disk group. If the vSAN cluster is leveraging deduplication, the work behind-the-scenes will potentially impact performance as there are more operations occurring transparent to the consumer. The performance latency values for TRIM/UNMAP commands can be viewed on each ESXi host in the
/usr/lib/vmware/vsan/bin/vsanTraceReader log file.
To enable the TRIM/UNMAP functionality on a vSAN cluster or ESXi host, the following commands should be executed.
To enable the functionality: $ esxcfg-advcfg -s 1 /VSAN/GuestUnmap To verify the functionality: $ esxcfg-advcfg -g /VSAN/GuestUnmap To disable the functionality: $ esxcfg-advcfg -s 0 /VSAN/GuestUnmap
Using the RVC, to enable the functionality: > vsan.unmap_support -e ~CLUSTER_NAME To verify the functionality: > vsan.unmap_support ~CLUSTER_NAME To disable the functionality: > vsan.unmap_support -d ~CLUSTER_NAME
Once enabled on all the hosts within the vSAN cluster, and the VMs have all undergone a power cycle operation, there is one more thing to consider. There are two methods for the TRIM/UNMAP functionality to actually reclaim unused space as reported by the guest OS — Passive and Active.
- For a Microsoft Windows Server 2012+ operating systems, it is enabled by default and reclaim operations are performed automatically.
- For Linux operating systems, it is not enabled by default unless the filesystem has been mounted with the
- For a Microsoft Windows Server operating system, the Optimize Drive Utility must be leveraged.
- For a Linux operating system, the fstrim command must be leveraged.