Snapshot

A snapshot is a record of a disk or volume's contents at a specific point in time. Taking a snapshot preserves the state of files, folders, and the overall file system. Each snapshot is incremental and saves the changes from the previous snapshot, which helps a computer user roll data back to an earlier state quickly. A snapshot is not a backup, but snapshots can be a valuable part of a data backup and recovery strategy.

Taking a snapshot of a disk volume does not require the time and workflow interruption that making a full backup does, since a snapshot does not actually create a copy of data elsewhere. Instead, taking a snapshot freezes the volume as it is, and any new data (as well as changes to existing data) gets added as new data blocks outside the snapshot. Data blocks within each snapshot are read-only, so each subsequent snapshot needs to preserve only the data blocks added since the previous one.

Rolling back to an earlier version of the volume only requires the system to discard or ignore every data block added after the end of the chosen snapshot. Over time, the system removes old snapshots by merging snapshots together, following the system's retention policy that may limit the number, age, or total size of the volume's snapshots. For example, one common policy is to maintain daily snapshots for a week, weekly snapshots for a month, and monthly snapshots for a year.

Snapshots are not replacements for external data backups. A snapshot can help restore a deleted file or roll back to an older version of a file, but only an external backup can preserve data if the original disk is damaged.

Some file systems natively support full file-system snapshots using basic file-system commands, including ZFS and APFS. Other file systems support snapshots only through software utilities; for example, NTFS and ReFS volumes support snapshots through a Windows service called Volume Shadow Copy Service (VSS). Many storage array systems and NAS devices also support volume snapshots, which administrators can configure through their management applications.

Updated December 20, 2023 by Brian P.

quizTest Your Knowledge

In computer programming, what is the difference between a variable and a constant?

A
A constant can be referenced by multiple functions, while a variable cannot.
0%
B
A constant stores a fixed value, while a variable's value can change.
0%
C
A constant is linked to another value, while a variable is independent.
0%
D
A constant is requires a boolean value, while a variable can be any data type.
0%
Correct! Incorrect!     View the Constant definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of Snapshot on this page is an original definition written by the TechTerms.com team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of TechTerms.com is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.