docs(beefcake): relocation runbook (ZFS-native mounts, done imperatively) #619
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "beefcake-relocate-state"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Moves the last two big stateful trees off beefcake's single non-redundant boot disk onto the pool:
zstorage/containers→/var/lib/containers(podman overlay store, ~42G)zstorage/varlib-private→/var/lib/private(systemd DynamicUser state, ~29G)Both as
legacymountpoints declared inhardware.nix(like/nix), so NixOS owns the mount and boot ordering.Why
Root sits at 224G/86% on a single 10K SAS spinner with no redundancy. Everything else already lives on
zstorage/storage; these never moved. Relocating gets them triple-parity + auto-snapshots and shrinks root enough for the planned 240GB SSD boot mirror./home(73G) is not in this PR — the audit found it's ~99% disposable (60G rootless podman images, caches, toolchains, ISOs, game tarballs). It's handled as cleanup in the runbook (rescue ~tens of MB — incl. 8 unpushedcode/nixcommits — then wipe).Runbook
issues/open/beefcake-relocate-state-to-pool.md— full copy→verify→swap procedure (originals kept as*.old), ordered: resilver-done → /home cleanup → containers → /var/lib/private → deploy this PR → verify → delete.old.⚠️ Ordering / coordination
🤖 Generated with Claude Code
feat(beefcake): relocate containers + DynamicUser state onto zstorageto wip: feat(beefcake): relocate containers + DynamicUser state onto zstoragewip: feat(beefcake): relocate containers + DynamicUser state onto zstorageto WIP: feat(beefcake): relocate containers + DynamicUser state onto zstorageMarked WIP/draft — do not merge as-is.
The migration was ultimately done with ZFS-native mountpoints (
mountpoint=/var/lib/containersand/var/lib/private, same pattern as/storage), executed imperatively on 2026-06-29. Thehardware.nixfileSystemsentries in this PR assume legacy mountpoints and would conflict with the live ZFS-native mounts if deployed — a backward / duplicate-mount hazard.To make ready, pick one:
hardware.nixchange; keepissues/open/beefcake-relocate-state-to-pool.mdas documentation (safe to merge).mountpoint=legacy(zfs set mountpoint=legacy zstorage/containers zstorage/varlib-private— needs the services stopped to remount) then deploy thesefileSystemsentries, for ironclad reboot ordering on/var/lib/private.Until one of those is done + verified, this stays draft.
WIP: feat(beefcake): relocate containers + DynamicUser state onto zstorageto docs(beefcake): relocation runbook (ZFS-native mounts, done imperatively)