Container Snapshots¶
LXD snapshots are copy-on-write — instant to create, near-zero space cost until divergence. MFCloud surfaces the four primitives (list / create / restore / delete) in a single modal.
Open the snapshot modal¶
Containers → row → 📸 Snapshots.
Create¶
- Click + New Snapshot.
- Supply a Name — must start with a letter, only letters/digits/
./_/-, max 63 chars. Leave blank to get an auto-generatedsnap-YYYYMMDD-HHMMSS. - Toggle Stateful if you want CPU/memory state included (requires CRIU on the host + permissive container config — LXD will reject otherwise).
- Create.
The snapshot appears in the table within a second. Stateless snapshots are essentially free; stateful adds the time to checkpoint the running process.
Restore¶
Click ↺ Restore on the row. Destructive — anything written to the container since the snapshot is gone except for what's on bind-mounted volumes / external storage. The modal warns and requires confirmation.
The container is restarted with the on-disk state from the snapshot. Stateful restores skip the cold boot and resume execution at the captured CPU state.
Delete¶
Click 🗑 Delete on the row. The CoW chain is collapsed; space is reclaimed as the live container or other snapshots stop referencing the blocks.
Audit log¶
Every snapshot action lands in Recent Tasks with action snapshot and details like "Created snapshot 'snap-20260522-180101' (stateless)". Same audit pipeline as power / delete actions — searchable from the activity drawer.
What's NOT in this version¶
- Schedule — cron-style snapshot schedules are roadmap, not shipped. For now run
lxc snapshot --schedulemanually on the host if you need cadence. - Publish to image —
lxc publish <ct>/<snap>to mint a new image is roadmap. - Cross-host copy — snapshot copy between nodes uses LXD's native
lxc copyand isn't yet surfaced in the UI.