A snapshot is a copy of the virtual machine’s disk file (VMDK) at a given point in time and preserves the state and data of a virtual machine at the time you take the snapshot. In this article will share basic information of what is a snapshot and different snapshot formats available on VMFS and the difference.
The first point everyone should aware that snapshots is not a backup solution. When you are taking a snapshot any data that was writable on a VM becomes read-only. You can take multiple snapshots of a virtual machine to create multiple point-in-time restore points. When you revert the virtual machine to a snapshot, current disk and memory states are deleted and the snapshot becomes the new parent snapshot for that VM. The snapshot file cannot exceed the size of the original disk file, and it requires some overhead disk space so you must have enough free space on your datastore.
A Take Snapshot operation creates .vmdk, -delta.vmdk, .vmsd, and .vmsn files. By default, the first and all delta disks are stored with the base .vmdk file. The. vmsd and .vmsn files are stored in the virtual machine directory. And you can create snapshots in VMware vSphere’s Snapshot Manager or with the vmware-cmd command-line utility from vSphere or vCenter. Deleting, or committing, snapshots merges all the delta files into the VMDK.
vSphere Snapshot Formats on VMFS
Currently, there are two snapshot formats are available VMFSsparse and SEsparse. Delta disk inside the VMFS datastore is called sparse disk. Delta disk represents the difference between the current state of the VM disk and the state that existed when you took the previous snapshot.
Sparse disks use the copy-on-write mechanism, in which the virtual disk contains no data, until the data is copied there by a write operation. This optimization saves storage space. Depending on the type of datastore in your virtual infrastructure, delta disks use different sparse formats.
|VMFSsparse||Virtual disks smaller than 2 TB||N/A|
|SEsparse||Virtual disks larger than 2 TB||For all disks|
VMFS5 uses the VMFSsparse format for virtual disks smaller than 2 TB and it is implemented on top of VMFS. The VMFSsparse layer processes I/Os issued to a snapshot VM. Technically, VMFSsparse is a redo-log that starts empty, immediately after a VM snapshot is taken. The redo-log expands to the size of its base vmdk, when the entire vmdk is rewritten with new data after the VM snapshotting. This redo-log is a file in the VMFS datastore. Upon snapshot creation, the base vmdk attached to the VM is changed to the newly created sparse vmdk.
SEsparse is a format similar to VMFSsparse with some enhancements, SEsparse is a default format for all delta disks on the VMFS6 datastores. And on VMFS5 SEsparse is used for virtual disks of the size 2 TB and larger.SEsparse format is space-efficient and supports the space reclamation technique, were blocks that the guest OS deletes are marked. The system sends commands to the SEsparse layer in the hypervisor to unmap those blocks. The unmapping helps to reclaim space allocated by SEsparse once the guest operating system has deleted that data
In every VMware infrastructure planned or unplanned maintenance may occur and that time VMs will be migrated. You can migrate VMs with snapshots across different datastores with VMFS versions find the below points while performing a migration
- When performing the migration of a VM with the VMFSsparse snapshot to VMFS6, the snapshot format changes to SEsparse.
- When performing the migration of VM with a vmdk of the size smaller than 2 TB is migrated to VMFS5, the snapshot format changes to VMFSsparse.
- You cannot mix VMFSsparse redo-logs with SEsparse redo-logs in the same hierarchy.
In this article, we have discussed vSphere Snapshot Formats on VMFS and basic information of Snapshots. Snapshot is useful as a short-term solution for testing any application upgrade or any change on the guest operating system.