A VMware snapshot preserves the state and data of a VM at a specific point in time. The state refers to the VM's...
power state -- whether it is powered-on, powered-off or suspended. The data refers to the files that make up the VM, including disks, memory and other devices, such as virtual network interface cards.
VMware snapshots are useful but come with some caveats. Some administrators use snapshots during long periods or use them as backups, which can create problems. The vSphere management client allows the administrator to restrict who has the ability to create or delete snapshots, but this management system is imperfect. The VM owner has the ability to create a snapshot by default but not the right to delete a snapshot. If the administrator and the rest of his team fail to communicate or work together to minimize snapshots, this can result in snapshot sprawl within your virtual environment.
Backup software uses snapshot technology and Changed Block Tracking to back up live VMs, but some backup software does not "clean" older snapshots after a successful backup. This can result in an environment accumulating snapshots and, again, lead to snapshot sprawl.
Manual snapshots are good for testing and development environments. I recommend manual snapshots for test/dev environments in which production VMs are critical and should only be exposed to automatic snapshots via backup software.
Now that we've talked about what snapshots are and the risks that surround them, what are VMware's best practices for vSphere snapshots?
VMware does not recommend creating a large number of snapshots in a chain. VMware supports a maximum of 32 snapshots in a chain, but you really shouldn't have more than two or three. VMware also recommends that you keep snapshots on a VM for no more than 72 hours. The longer you keep a snapshot file, the larger it grows. This causes the snapshot data store to run out of space faster, which can affect VMs that run on the same data store. Delete any vSphere snapshots older than 72 hours.
If you use third-party backup software, be mindful that it doesn't leave any snapshots behind. Consider using monitoring software to detect snapshots within a virtualized environment or scripts that email a daily report on your environment. Before you increase disk size for a VM, make sure that the VM doesn't have a snapshot. If you increase disk size without checking first, it will corrupt the data so that you can't revert to the snapshot. If you know that your VM is due to undergo changes, such as a software upgrade or patching, create a full backup with your usual backup software rather than create a vSphere snapshot.
There are multiple free tools you can use to detect and report snapshots in your virtualized environment, but you can also use the vSphere Web Client or a command line to manually check if a VM has snapshots. In many cases, the command-line tool is even preferable to the vSphere Web Client, as the Web Client doesn't always pick up on snapshots left behind by backup software.
Disable snapshots in vSphere 6 to boost performance
Use PowerCLI commands to locate vSphere snapshots
Why would you want to disable snapshots?
Dig Deeper on Backing up VMware host servers and guest OSes
Related Q&A from Vladan Seget
With access to logs, you can troubleshoot your ESXi host and track issues as they crop up. You can access your logs via the console or a web browser ...continue reading
You can use VMware Storage Policy-Based Management to create custom VM storage policies and automatically apply these policies to any new VMs you ...continue reading
FTT dictates how many failures can occur in a vSAN cluster without sacrificing availability. How can you use a VM storage policy to define the amount...continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.