How to Calculate and Manage VMware Snapshot Size
This article explains knowledge about VMware snapshot size and detailed steps to calculate and manage snapshot size in VMware, which is beneficial to improving VM performance.
How large is VMware snapshot size
Snapshot is similar to a rolling back point used to protect VM when error occurs. When a snapshot is taken, it creates .vmdk, -delta.vmdk, .vmsd, and .vmsn files. The original disk remains read-only, all changes are directed into the new -delta.vmdk files.
Generally, an initial VMware snapshot size is 16 MB, and it grows in 16 MB increments to reduce SCSI reservation conflicts. The growth rate depends on the amount of disk write activity on the virtual machines. The ones with disk-write-intensive apps will see a faster growth of snapshot files.
The size of the snapshot file can never exceed the size of the original disk file. Each time a disk block is changed, the snapshot is created in the delta file and updated along with the changes. If every disk block in the virtual machine changes afterward, the snapshot will be the same size as the original disk file.
Impacts of VMware snapshot size
When taking a snapshot, the state of the virtual disk is preserved. The guest OS stops writing to it, and a delta or child disk is created. As time pass by, more snapshots may be taken and more data are subsequently recorded into child disk, consuming huge amounts of storage space and eventually affecting VM performance. Therefore, it is usually not recommended to keep multiple snapshots for a long time.
As for VMware snapshots, there is a maximum of 32 snapshots in a VMware chain, but we only recommend 2-3 snapshots instead of 32 and keep them no more than 72 hours.
To conserve disk space, administrators need to continuously manage snapshot growth per VM, and delete high-capacity snapshot files that may not be of use any longer. You can use the 2 ways to check VMware snapshot size.
- To check the size of the snapshot, simply Browse Datastore and look for a numbered vmdk file. For example, VM-0000001.vmdk
- Or right-click a virtual machine and select Manage Snapshot, click each snapshot, you can see its disk usage.
How to calculate snapshot size in VMware
You may know that snapshots are small at first, but it grows rapidly in production environment. So many users may be curious about how to estimate the size of snapshots, especially when they plan to schedule VMware snapshots.
The truth is, there's no formula to calculate snapshot size precisely. The snapshot size can be as small as MB or as large as GB or even TB, and it is a direct reflection of what is happening on that VM.
In general, if you have a native backup, large file transfer or disk-write intensive apps such as SQL and Exchange on a VM, the size of snapshot will grow significantly. Meanwhile, VMs with mostly static content and fewer disk writes will grow at a much slower rate.
One thing we can tell, as stated before, is that the size of the snapshot file cannot exceed the size of the original disk file. But you cannot only use this to predict the maximum size a snapshot can reach, because there‘s some additional disk space that contains information for managing snapshots. It is based on the block size of the VMFS:
|Maximum VMDK size
If your VM's virtual disks are close to the maximum VMDK size of a VMFS volume and the required overhead disk space is not reserved, creating a snapshot may fail. For example, if the virtual disk disk of your VM is 1024 GB with 4 MB block size, the maximum overheard will be 8 GB, and the snapshot can reach up-to 1032 GB.
Therefore, to manage snapshots better, it's best to make the virtual disk smaller than the VMDK maximum when creating virtual machine, and leave space for the maximum overhead amount, which concludes 1016 GB in the above example. This way you can create snapshots without failing.
How to manage VMware snapshot size
After calculating VM’s capacity and taking snapshots, you may forget to manage snapshots that exist in your VM or find it difficult to locate the useless snapshots precisely per VM. This process takes much time and energy to locate snapshots and monitor snapshots size in VMware, especially for business.
To avoid time-wasting and running out of disk space, you need to find and delete the snapshots timely, especially for those that occupied large space and no longer needed.
The part covers how to manage the size of snapshots simply in VMware with in-built features.
Method 1: Delete snapshots from Snapshot Manager
If the -delta.disk is occupied without any space, navigate to the VM you want to manage and choose to delete snapshots.
★Delete Snapshot: Removes the snapshot from the Snapshot Manager and consolidates the snapshot files into the parent snapshot disk and merge with the virtual machine base disk.
★Delete All Snapshots: Consolidates all the changes before the current-state icon (You Are Here) to the VM previous base parent disk and removes all snapshots for that virtual machine.
Method 2: Control maximum of VMware snapshot per VM
By default, a virtual machine with a snapshot tree depth of 31 can support up to 496 snapshots in the worst-case scenario. You could modify the maximum number of snapshots to control the VMware snapshot size. Please refer to the following steps to modify the VM's .vmx configuration file by using vSphere client.
1. Shut down VM
2. Go to Edit Setting >> VM Option >> Advanced >> Edit Configuration >> Add Configuration Params.
3. Enter the name for the new configuration >> Enter the number of snapshots in the unit in the Value column.
4. Click OK to finish the modification.
5. Open VM and take snapshots to check whether the setting is done.
Here, for example, when I take the second snapshot, it fails. You can notice the error alert: An error occurred while the snapshot Exceeded the maximum number of permitted snapshots.
Method 3: Use vCenter Alarm to manage VMware snapshot storage
In virtual environment, snapshots in VMware are a wonderful helper for VM protection, but the increasing size of snapshots is an annoying problem.
Removing snapshots seems to be kind of easy in VMware, but how to know the locations and how to deal with the old and heavy-weight snapshots are much more challenging.
This part introduces how to monitor and manage snapshot size via vCenter.
1. Log in the vSphere web client >> Right-click the VM that you want to monitor, and click Alarms >> New Alarm Definition.
2. Enter a name and description >> Select the VM in Monitor drop-down menu, select specific condition or state, for example CPU usage >> Enable this alarm >> Next.
3. In the Triggers section, click VM Snapshot Size(GB) for trigger type >> Is above >> Set Warning Condition to the snapshot size in GB (such as 20 GB) that should trigger a warning >> Set the Critical Condition to the snapshot size in GB (such as 30 GB) that should trigger a critical alert >> Next.
4. Select the action you want to occur when the alarm is triggered, I set send a notification email to manage VMware snapshot size >> Enter email >> Set frequency >> Click Finish to complete the alarm configuration.
After setting a new alarm for snapshots, you don’t need to worry about the heavy-weight snapshots running out of your disk space anymore. When the size of the snapshot is beyond your limitation, it will trigger the alarm and get you noticed.
However, if you are managing multiple virtual machines, snapshots cannot be used as a secure method for data protection. You’d better use backup to prevent VM data loss and save VM storage space.
Better protect VMware VM with less space occupation
Snapshots can protect data security of VM, but it cannot replace backup. As we mentioned, taking snapshots continuously will occupy large space, and it is also a way to be damage.
So why not use a more reliable and efficient backup tool such as AOMEI Cyber Backup? It can not only back up multiple virtual machines, but also set retention policies to delete old backups automatically. It allows you to keep the new backups without consuming too much space.
In this part, I will use this backup software to perform a secure and efficient backup task.
Less-storage: Set up the retention period for each backup to delete the useless and old files regularly.
Batch VM Backup: Backup large number of VMs managed by vCenter Server or standalone ESXi host.
Fast backup and recovery: It reduces the VM downtime and financial loss for fast recovery when unpredictable events happened to your virtual machines.
Email notification: Set up an email address to receive backup status and abnormalities automatically.
*You can choose to install this VM backup software on either Windows or Linux system.
How to schedule VM backup with retention policy:
1. Click Backup Task >> Create New Task to create an efficient backup task.
2. Enter a name and select the devices for backup. In the page, you are able to select multiple virtual machines at the same time.
3. Select backup Target for storage. Local path and network path are all available.
4. Schedule backup and select retention policy. Specify the time for automatic backup and decide how long you want to keep the backup files.
5. Click Start Backup.
6. Click Restore >> Restore to Original/ New Location to achieve fast and complete recovery.
Using AOMEI Cyber Backup is efficient to make up for the shortcomings caused by snapshots. It saves storage and provides a better way for data protection.
Snapshots in VMware is a convenient way to achieve fast disaster recovery, but large size of snapshots does impact the performance of VM. So, it is necessary for you to manage VMware snapshot size.
Besides, when you want to restore a snapshot to a new virtual machine, what should you do in VMware?