A storage snapshot is a set of reference markers for data at a particular point in time. A snapshot acts like a detailed table of contents, providing the user with accessible copies of data that they can roll back to.
Each snapshot uses a differencing disk -- a virtual hard disk (VHD) -- that stores changes made to another virtual disk or the guest operating system. This VHD intercepts all future write operations and leaves the original data in an unaltered state. Snapshots have parent-child relationships and form a tree. Each snapshot taken creates another branch of the tree.
Snapshots are generally created for data protection, but they can also be used for testing application software and data mining. A storage snapshot can be used for disaster recovery when information is lost due to human error or data corruption.
Types of snapshot technology
There are several types of storage snapshots.
Copy-on-write snapshots store metadata about the location of the original data without copying it when the snapshot is created. These snapshots are created almost instantly, with little performance impact on the system taking the snapshot. This enables rapid recovery of data in case of a disk write error, corrupted file or program malfunction. Data in a copy-on-write snapshot is consistent with the exact time the snapshot was taken, hence the name copy-on-write. However, all previous snapshots must be available if complete archiving or recovery of all the data on a network or storage medium is required. Every copy-on-write process requires one read and two writes; data needs to be read and written to a different location before it is overwritten.
Clone or split-mirror snapshots reference all the data on a set of mirrored drives. Each time the utility is run, a snapshot is created of the entire volume, not only of the new or updated data. This makes it possible to access data offline, and simplifies the process of recovering, duplicating or archiving all the data on a drive. This is a slower process, and each storage snapshot requires as much storage space as the original data.
Copy-on-write with background copy takes snapshot data from a copy-on-write operation and uses a background process to copy the data to the snapshot storage location. This process creates a mirror of the original data and is considered a hybrid between copy-on-write and cloning.
Redirect-on-write storage snapshots are similar to copy-on-write, but writes are redirected to storage that is provisioned for snapshots, eliminating the need for two writes. Redirect-on-write snapshots write only changed data instead of a copy of the original data. When a snapshot is deleted, that data needs to be copied and made consistent on the original volume. Creation of more storage snapshots complicates original data access along with the snapshot data.
Incremental snapshots create timestamps that allow a user to go back to any point in time. Incremental snapshots can be generated faster and more frequently than other types of storage snapshots. And because they do not use much more storage space than the original data, they can be kept longer. Each time an incremental snapshot is generated, the original snapshot is updated.
VMware snapshots copy a virtual machine disk file and can restore a virtual machine (VM) to a specific point in time if a failure occurs. VMware snapshot technology is used in VMware virtual environments and is often deleted within an hour. VMware administrators take multiple snapshots of a VM, creating multiple, point-in-time restore points. When a VMware snapshot is taken, any writeable data becomes read-only.
Snapshots aren't an exact replacement for more traditional storage backups, but they offer their own advantages.
Continuous data protection
Continuous data protection (CDP) uses snapshots to back up a system in a way that allows users to recover the most up-to-date instance of data. While storage snapshots are typically scheduled at predetermined points, CDP can back up data each time a change is made. This allows a user to recover data with the most recent changes included, whereas those updates may be lost if a regular storage snapshot was not taken before the system failed. CDP also keeps a record of every change that occurs, so it is always possible to recover the most recent clean copy of the data.
Snapshot vs. backup
There are a number of benefits to using storage snapshots as part of a larger backup strategy. Snapshots provide quicker and easier access to data and can be leveraged by backup applications to enable features like instant recovery. But while storage snapshot technology is a helpful supplement to a backup plan, it is not considered a full replacement for a traditional backup.
Relying on stored snapshots for backups can take up storage space and seriously impact performance, and a storage snapshot is an instance, not a full copy of the data. Snapshots are dependent on source data, so if that data is lost, the snapshot is gone as well. Because of these vulnerabilities, it is not recommended to use snapshots in lieu of a full backup.