What is Snapshot?
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.
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.
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).
Implementations of Snapshot
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.
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).
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.
The Phantom OS is dependent on the concept of the snapshot. It is saving the status of each application by layout.