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
A vSphere administrator can use VMware Remote Console to remotely access a VM's peripherals, configuration and desktop remotely through the vSphere ... Continue Reading
You can set up your infrastructure to better take advantage of new technology in just a few steps. Perform a VM version upgrade to get the most out ... Continue Reading
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
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.