What is Snapshot?
Introduction
A snapshot can be defined as a system state at a specific point of time in a computer system. The snapshot term is introduced as the analogy in photography. The snapshot can assign to the capability given by some systems or to the system snapshot copy of a system’s state.
The hard drive snapshots contain the hard disk’s directory structure, including each file and folder over the disk efficiently. This backup type can also be assigned as a “disk image.”
The disk images permit the complete disk to restore in case the main disk fails. Several disk programs that are creating snapshots permit particular files to recover through the snapshot, rather than having to recover the complete backup.
However, snapshots are used for various backup. It is good to store the snapshot in any removable drive, secondary hard drive, or optical media, like DVDs and CDs.
Snapshot image
The snapshot is defined as the ability for undoing a change or versioning. The snapshot images are the volume content’s logical copy, captured at any specific time. Snapshot images utilize minimum space for storage.
How does snapshot work?
If we take a snapshot all time, for example, each of our folders or files can be returned back to that state. Hence, if we get any virus, we can return back our whole volume, folders, or files to that stage it was within before we got that virus.
How snapshots differ from backup?
A backup can be defined as our data’s complete copy. For example, if we have 6TB data, then all copies will take-up increased 6TB data. In case, we the backups each one hour, then after 10 hours, our backups will take 60TB space. Hence, it’s not general to store various copies of our backups. The backup is not great for versioning.
Snapshot is good for versioning since it is not a backup. It can have several versions without consuming much storage space. The snapshots require saving enough data to undo any modification and that enables it to take limited space when compared to any backup.
Rationale
A complete backup of a big data set might take time to complete. On multi-user or multi-tasking systems, there might be writes to the data while it’s being backed up.
It prevents the backup from being atomic and defines the version skew that might introduce data exploitation. For example, when a user moves any file into the directory which has been backed up already, that file will be missing over the backup media completely.
Since the backup operation has taken position already before the file’s addition. Also, version skew may result in corruption with various files that modify their contents or size during reading.
A single method to securely backing up active data is to disable writes authorization temporarily to information during backup, either by using locking API or by stopping the application access offered by OS for enforcing read access exclusively.
It is tolerable for all low-availability systems (on short workgroup servers and desktop computers, on which daily downtime is tolerable).
- However, 24/7 high-availability systems can’t bear stoppages of services.
- High-availability systems might rather implement backup over a snapshot to ignore downtime- a data set’s read-only copy frozen at any time and permit each of the applications to keep writing to the data.
- Most of the implementations of the snapshot are capable and can make snapshots within O(1).
- Besides, the I/O and time required to make the snapshot doesn’t enhance with the data set size.
- The I/O and time required by contrast for any direct backup will be proportional to the data set size.
- Once the starting systems are taken of the data set, consecutive snapshots copy only modified data and use the pointers systems for referencing the starting snapshot.
- This approach of the snapshot (pointer-based) occupies less capacity of the disk than when a data set was cloned repeatedly.
Implementations of Snapshot
Volume Managers
A few Unix systems contain snapshot-able logical volume managers. They perform copy-on-write on whole block devices via copying modified blocks to other storage just before these are to be overwritten in parent volumes.
Hence, it preserves any self-consistent previous images of a block device. On these types of snapshot images, filesystems could later be fixed as when they were over the read-only media.
A few volume managers permit the making of writable snapshots and increasing the copy-on-write method by separating the block changed in the snapshot through the parent blocks inside the real volume. Also, such a scheme can be specified as implementing additional copy-on-write actions triggered via various writes for snapshots.
Logical Volume Manager (LVM) permits the making of both read-write and read-only snapshots on Linux. The writable snapshots were defined with the LVM2 (LVM version 2).
File Systems
A few file systems like ODS-5, fossil to plan 9 from Bell Labs, and WAFL track previous file versions internally and make snapshots exist through a unique namespace. Others such as UFS2 facilitate an OS API to access histories of files.
Access to various snapshots in NTFS is offered via the Volume Shadow-copying Service (VSS) in Windows Server 2003 and Windows XP and Shadow Copy within Windows Vista.
Snapshots also have existed in the Novell Storage Services file system over NetWare since the 4.11 version and Linux environment within the Open Enterprise Server unit. Melio FS gives snapshots by a similar interface of VSS for distributed storage.
- Time Machine is not any snapshot scheme, although, it is s system-level additional backup service that is included in the Mac OS X 10.5 version operating system of Apple.
- Merely, it watches fixed volumes for copies and changes modified files to uniquely designed volumes with the help of hard links periodically.
- It is due to the HFS Plus Files system doesn’t have any snapshot feature.
- Besides, the new APFS file system of Apple introduces such features.
- Sun Microsystems ZFS includes a hybrid implementation.
- On a block level, it can track the read-write snapshots.
- However, it creates the sets of branched files remarkable to user applications like clones.
- The OCFS2 and Btrfs file systems can support the creation of cloning (snapshots) of single files on Linux.
- Btrfs additionally supports the snapshot creation of subvolumes.
- JFS2 also supports snapshots on AIX.
OSes
The Phantom OS is dependent on the concept of the snapshot. It is saving the status of each application by layout.