Skip to content

Pools & Mirrors — ZFS on exampleHost

ZFS on exampleHost guards data in twin Samsung mirrors. The following rites inspect and maintain the pools.

See also Vaults of the Machine-Spirit for the architectural overview.

Terminal window
# Pool status
zpool status
# Disk usage
zfs list -r rpool bpool
# Existing snapshots
zfs list -t snapshot -r rpool
# Begin manual scrub
zpool scrub rpool
zpool scrub bpool
# Track progress
zpool status -w

Docker uses ZFS as the storage driver on exampleHost. Image layers and volumes are datasets beneath /var/lib/docker.

Terminal window
# Verify the storage driver
docker info | grep "Storage Driver"
zfs list | grep docker

zrepl pulls snapshots from storage2.retrohive.fr (the archive-shrine) into rpool/backup/storage2 on exampleHost.

Terminal window
# Job status
sudo zrepl status
# List received snapshots
zfs list -t snapshot rpool/backup/storage2

Retention is configured: 7 days (all) + 3 months (30 days per month).

  • zfs.forceImportRoot = false — NixOS does not force-import pools at boot
  • neededForBoot = true on all ZFS datasets (including /home) for uniformity
  • canTouchEfiVariables = false — GRUB is installed in removable mode, no EFI variables are touched
  • Disk IDs are hardcoded in boot.nix — if disks change, update both boot.nix and disko.nix