$linuxjunkies
>

snapshot tree

also: snapshot hierarchy, snapshot lineage

A snapshot tree is a hierarchical collection of filesystem snapshots, typically used by copy-on-write (COW) filesystems like Btrfs and ZFS to organize and manage point-in-time backups with parent-child relationships.

A snapshot tree represents the genealogy of snapshots where each snapshot can have parent and child snapshots. This hierarchical structure allows you to track how snapshots relate to one another, enabling efficient storage and recovery strategies.

In Btrfs, for example, you can create nested snapshots: a snapshot of a subvolume, then later snapshot that snapshot, forming a tree structure. This parent-child relationship is useful for managing incremental backups and understanding snapshot dependencies.

Snapshot trees minimize storage overhead through copy-on-write mechanisms—only changed data is stored separately, with unchanged blocks referenced by all snapshots in the tree. You can query and visualize the tree structure using filesystem tools like btrfs subvolume list to see snapshot genealogy.

Related terms