[Docs Draft] znas filesystem -- pending review (20260715-212517-docs-znas-681a) #16
Labels
No labels
doc-staleness
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
traveler/Netgrimoire#16
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
vault 129T 91.5T 37.7T - - 4% 70% 1.00x ONLINE -
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
pocket-media 4.55T 0 4.55T - - 0% 0% 1.00x ONLINE /mnt/pm
Key Notes:
fsid=0: Mandatory for NFSv4 pseudo-root. Without it, clients cannot enumerate the export tree.nohide: Required for sub-datasets (e.g.,vault/Data/media_books) to ensure they are visible to clients.crossmnt: Allows clients to traverse mountpoints within the export.Loopback Mount (ZNAS)
ZNAS mounts its own NFS exports back to itself at
/data/nfs/znas. This ensures Docker Swarm containers scheduled to ZNAS access storage at the same NFS-backed paths as containers on other nodes.Mounts (Server Side):
3. Autofs Mounts (Swarm Nodes)
All Swarm nodes (including ZNAS) access NAS storage via
/data/nfs/znas/using autofs.Client Configuration
/etc/auto.master/etc/auto.nfsMounts (Client Side):
Key Notes:
/data/nfs/znas/, ensuring path consistency regardless of scheduling.4. Loop-Mounted Images
No loop-mounted images are currently active on ZNAS (
losetup -aandmount | grep loopreturn empty).5. Pocket Sync Mechanism
Overview
The Pocket sync mechanism replicates select datasets from ZNAS to the Pocket Grimoire portable system using
syncoid. The sync is unidirectional (ZNAS → Pocket) and targets thepocket-greenpool on the Pocket device.Sync Target:
pocket-greenpocket-green(notpocket-media).vault/pocket/services/DockerVol(mounted at/pocket/services/DockerVolon ZNAS).Sync Command (Live)
Workflow
pocket-greenpool is imported on the Pocket device.syncoidreplicatesvault/pocket/services/DockerVoltopocket-green/services/DockerVol.pocket-greenpool is exported after sync completes.Key Notes:
pocket-mediavs.pocket-green: These are two distinct pools.pocket-mediais for media content and is always imported on ZNAS.pocket-greenis the sync destination for Docker volumes and is only imported during sync.vault/pocket/services/DockerVoluseszstdcompression.Discrepancies Noted
Pocket Sync Destination Pool:
pocket-mediaas the sync target in some notes.pocket-green. Live state wins — the sync destination ispocket-green./export/PocketExport:/export/Pocketin prior notes./export/Pocketis explicitly exported in/etc/exports. This is a new export not previously documented.vault/pocket/green/mediaMountpoint:/data/nfs/znas/Green/Pocketloopback mount.vault/pocket/green/mediais mounted at/data/nfs/znas/Green/Pocket. This is a new mountpoint.