For troubleshooting snapshots that are not detected by the snapshot manager and consolidating the snapshots when the consolidate option is grayed out in the Host UI and vCenter Web Client. VM is running on a snapshot but snapshots are not present in the snapshot manager
VMware vSphere ESXi 6.5
VMware vSphere ESXi 6.7
VMware vSphere ESXi 6.0
Undetected snapshots can be caused by:
Run a disk consolidation on the VM from the vCenter or Host Web Client. If the consolidation option is grayed out, try the following workarounds to get the VM to realize it needs consolidation.
Option A - Recreate Snapshot Inventory and Tracking
Note: The files moved in step 2 can be safely deleted ,once the VM is consolidated.
Calculating consolidation progress - https://knowledge.broadcom.com/external/article/316414/how-to-calculate-snapshot-consolidation.html
Option B - Utilize vmkfstools to Clone a Disk
"nohup vmkfstools -i /vmfs/volumes/Datastore1/Test/Test.vmdk /vmfs/volumes/Datastore1/Test_Clone.vmdk -d thin”
Note: The nohup creates a text file that tracks the cloning process in the current running directory.
Note: Once it is verified that the VM is running and stable with the cloned disk, the original disk and snapshots can be safely deleted . It is recommended to let the run for a few days to make sure there is no unexpected behavior on the cloned disk.
Option C - Utilize V2V Converter to recreate the VM. (Vmware Standalone Converter has reached EOD and has been replaced with HCX .
Note: Once it is confirmed the converted machine is running and stable, the original VM with snapshots can be safely deleted. It is recommended to let the run for a few days to make sure there is no unexpected behavior on the cloned disk.
Prevention
As these snapshots will not show up in Snapshot Manager, we recommend checking periodically for these snapshots using vROPs, PowerCLI, RVTools, or the ESXi shell.
*Run this command from the root directory of an ESXi host. This command will only check for snapshots in datastores that the ESXi host has access to.*
find /vmfs/volumes/*/ -name "*000*.vmdk" | xargs ls -lh | awk '{ print $5,"\t"$6,$7,$8"\t",$9"\t",$10}'