Qumulo’s Distributed File System
Contents of this guide (old table of contents)
Snapshots let system administrators preserve the state of a file system or directory at a given point in time.
If a file or directory is modified or deleted unintentionally, users or administrators can revert it to its saved state. Snapshots in Qumulo’s file system have an extremely efficient and scalable implementation.
A single Qumulo cluster can have a virtually unlimited number of concurrent snapshots without performance or capacity degradation. Snapshots are implemented as out-of-place block writes. When a snapshot is taken and blocks are modified, they are written to a new spine of B-tree blocks. Existing blocks that were not modified are linked to the new spine and are now shared. The new modified spine has been written “out of place” but still references existing data, sharing the unchanged blocks. No space is consumed by the snapshot until data is modified or deleted.
As an example, assume you add a 4MB file to the Qumulo file system and then take a snapshot. After the snapshot is created, the amount of capacity used is still just 4MB. Then, you modify a 1MB region of your file.
The new data (1MB) is written out of place, and associated with the “live” version of the file. 3MB of the original 4MB of data is shared between the live version and the version captured in the snapshot. The total storage usage for this file is now 5MB.
Snapshots are a safety feature that help make the file system resilient in case users mistakenly delete or modify file data. For example, if some of the data is accidentally deleted, users can recover files from a previously taken snapshot. Single files or whole directories can be restored by copying them back into the live file system. When space runs low, administrators often decide to delete snapshots to free up storage.
Because snapshots share data, deleting a snapshot does not usually reclaim an amount of space equal to the sum of all of the files it contains. In legacy systems, it’s difficult to know how much space would, in fact, be reclaimed. Snapshots in Qumulo’s file system take advantage of the intelligence built into the file system. Administrators can calculate how much storage would actually be reclaimed if they delete a set of snapshots.