Snapshot

Snapshot

A snapshot freezes a specific state of, for example, a file system. Any subsequent write changes are recorded separately. When the files are read, the system first looks for an entry in the difference and then on the original file system if no changes are found in the difference. When a snapshot is deleted, the difference is merged with the snapshot.

A physical example of this are ‘errata’ pages, which are occasionally included with a finished book and correct errors in the book that were only noticed after printing. But be careful: if you take this idea further and imagine that, over time, the entire content of the original book is rewritten via errata pages, you will realise that you will end up with the book and errata pages the same size as the book. A snapshot can therefore result in twice the actual storage space being used and should be merged promptly.

A typical use case is a snapshot of a virtual machine before an upgrade, which is removed again once the upgrade has been completed without any problems.