Virtual machines are dynamic entities. They exist and run within a portion of the memory space available on a physical host server.
In spite of this dynamic nature, however, virtual machines (VMs) rely on disk for data storage. For example, when a host server boots up, the guest virtual machine must be loaded from the enterprise storage, which is often a high-performance Fibre Channel storage-area network (SAN). But virtual machines also require data-protection technologies in case of system crashes and hardware failures. VM snapshot backup techniques are the most common means of VM protection.
Simply stated, a VM snapshot is a copy of the VM state as it exists in server memory at a particular moment, along with any settings and the state of any virtual disks assigned to the VM. The VM snapshot is saved to disk, typically the SAN.
A regular snapshot backup process can significantly reduce the recovery point objective (RPO) for the protected VM. That is, if you take a VM snapshot every 15 minutes, you stand to lose only up to 15 minutes of data in the event of a failure. If the VM snapshot occurs every five minutes, the RPO is reduced to five minutes, and so on. It's only theoretically necessary to keep the latest VM snapshot, adding less demand for storage.
It may actually take several minutes to write a VM snapshot. During this time, it is impossible to write to the virtual machine disk file (such as a VMware VMDK file). However, an additional VM file will record any differences between the current machine state and the machine state at the start of the VM snapshot. This disk file, called a delta disk file, allows users to continue accessing the VM during the snapshot backup process. It also creates a full and complete copy of the machine state at the moment that the snapshot backup is complete, and the main disk file is available to receive writes again.
Taking a VM snapshot is a simple matter for an administrator. It's usually a feature integrated into the virtualization platform. For example, taking a snapshot in a VMware vSphere environment is as simple as right-clicking the VM, selecting Snapshot, and then choosing Take Snapshot. In the VM snapshot dialog that appears, enter a name and description, capture the VM's memory state, quiesce the VM, and click OK. A snapshot backup can also be scheduled to occur at a certain frequency.
A snapshot backup is an important data-protection tool for VMs, but it should not be the only backup technique. The VM snapshot backup process treats virtual machine disk files as a single file, so the entire instance must be restored to recover a lost text or deleted note. This has long forced administrators to restore the VM snapshot to a lab or other nonproduction server to recover specific files within the VM. However, this is changing with the introduction of more robust and capable tools that can look inside VM snapshots and find specific data.