Chapter 26. Using snapshots on Stratis file systems
You can use snapshots on Stratis file systems to capture file system state at arbitrary times and restore it in the future.
26.1. Characteristics of Stratis snapshots
In Stratis, a snapshot is a regular Stratis file system created as a copy of another Stratis file system.
The current snapshot implementation in Stratis is characterized by the following:
- A snapshot of a file system is another file system.
- A snapshot and its origin are not linked in lifetime. A snapshotted file system can live longer than the file system it was created from.
- A file system does not have to be mounted to create a snapshot from it.
- Each snapshot uses around half a gigabyte of actual backing storage, which is needed for the XFS log.
26.2. Creating a Stratis snapshot
You can create a Stratis file system as a snapshot of an existing Stratis file system.
Prerequisites
-
Stratis is installed and the
stratisd
service is running. For more information, see Installing Stratis. - You have created a Stratis file system. For more information, see Creating a Stratis file system.
Procedure
Create a Stratis snapshot:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow stratis fs snapshot my-pool my-fs my-fs-snapshot
# stratis fs snapshot my-pool my-fs my-fs-snapshot
A snapshot is a first class Stratis file system. You can create multiple Stratis snapshots. These include snapshots of a single origin file system or another snapshot file system. If a file system is a snapshot, then its origin field will display the UUID of its origin file system in the detailed file system listing.
Additional resources
-
stratis(8)
man page on your system
26.3. Accessing the content of a Stratis snapshot
You can mount a snapshot of a Stratis file system to make it accessible for read and write operations.
Prerequisites
-
Stratis is installed and the
stratisd
service is running. For more information, see Installing Stratis. - You have created a Stratis snapshot. For more information, see Creating a Stratis snapshot.
Procedure
To access the snapshot, mount it as a regular file system from the
/dev/stratis/my-pool/
directory:Copy to Clipboard Copied! Toggle word wrap Toggle overflow mount /dev/stratis/my-pool/my-fs-snapshot mount-point
# mount /dev/stratis/my-pool/my-fs-snapshot mount-point
Additional resources
- Mounting a Stratis file system
-
mount(8)
man page on your system
26.4. Reverting a Stratis file system to a previous snapshot
You can revert the content of a Stratis file system to the state captured in a Stratis snapshot.
Prerequisites
-
Stratis is installed and the
stratisd
service is running. For more information, see Installing Stratis. - You have created a Stratis snapshot. For more information, see Creating a Stratis snapshot.
Procedure
Optional: Back up the current state of the file system to be able to access it later:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow stratis filesystem snapshot my-pool my-fs my-fs-backup
# stratis filesystem snapshot my-pool my-fs my-fs-backup
Schedule a revert of your file system to the previously taken snapshot:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow stratis filesystem schedule-revert my-pool my-fs-snapshot
# stratis filesystem schedule-revert my-pool my-fs-snapshot
Optional: Run the following to check if the revert is scheduled successfully:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow stratis filesystem list my-pool --name my-fs-snapshot
# stratis filesystem list my-pool --name my-fs-snapshot UUID: b14987eb-b735-4c68-8962-f53f6b644cbc Name: my-fs-snapshot Pool: my-pool Device: /dev/stratis/p1/my-fs-snapshot Created: Mar 18 2025 12:29 Snapshot origin: f5a881b1-299d-4147-8ead-b4a56c623692 Revert scheduled: Yes Sizes: Logical size of thin device: 1 TiB Total used (including XFS metadata): 5.42 GiB Free: 1018.58 GiB
NoteIt is not possible to schedule more than one revert operation into the same origin filesystem. Also, if you try to destroy either the origin file system, or the snapshot to which the revert is scheduled, the destroy operation fails.
You can also cancel the revert operation any time before you restart the pool:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow stratis filesystem cancel-revert my-pool my-fs-snapshot
# stratis filesystem cancel-revert my-pool my-fs-snapshot
You can run the following to check if the cancellation is scheduled successfully:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow stratis filesystem list my-pool --name my-fs-snapshot
# stratis filesystem list my-pool --name my-fs-snapshot UUID: b14987eb-b735-4c68-8962-f53f6b644cbc Name: my-fs-snapshot Pool: my-pool Device: /dev/stratis/p1/my-fs-snapshot Created: Mar 18 2025 12:29 Snapshot origin: f5a881b1-299d-4147-8ead-b4a56c623692 Revert scheduled: No Sizes: Logical size of thin device: 1 TiB Total used (including XFS metadata): 5.42 GiB Free: 1018.58 GiB Size Limit: None
If not cancelled, the scheduled revert will proceed when you restart the pool:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow stratis pool stop --name my-pool stratis pool start --name my-pool
# stratis pool stop --name my-pool # stratis pool start --name my-pool
Verification
List the file system belonging to the pool:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow stratis filesystem list my-pool
# stratis filesystem list my-pool
The my-fs-snapshot
now does not appear in the list of file systems in the pool as it is reverted to the previously copied my-fs-snapshot
state. The content of the file system named my-fs
is now identical to the snapshot my-fs-snapshot
.
Additional resources
-
stratis(8)
man page on your system
26.5. Removing a Stratis snapshot
You can remove a Stratis snapshot from a pool. Data on the snapshot are lost.
Prerequisites
-
Stratis is installed and the
stratisd
service is running. For more information,see Installing Stratis. - You have created a Stratis snapshot. For more information, see Creating a Stratis snapshot.
Procedure
Unmount the snapshot:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow umount /dev/stratis/my-pool/my-fs-snapshot
# umount /dev/stratis/my-pool/my-fs-snapshot
Destroy the snapshot:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow stratis filesystem destroy my-pool my-fs-snapshot
# stratis filesystem destroy my-pool my-fs-snapshot
Additional resources
-
stratis(8)
man page on your system