Files
nixfiles/docs/boxes/home/cellar.md
T
jackos1998 a7ea91f529 docs: Document the boxes
Add a top-level `README.md` mapping the boxes and per-machine docs under
`docs/boxes/` (grouped `colony/`, `home/`, `misc/`), one file per host, VM and
container documenting role, services and networking with source pointers.

Also point `AGENTS.md` at the new docs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 22:45:20 +01:00

1.6 KiB

cellar

The home storage server. Exports fast NVMe storage over the network so other machines (notably castle) can boot and run from it.

Role

  • Runs SPDK (spdk.nix) as a userspace storage target. The kernel nvme driver is blacklisted so SPDK can drive the NVMe devices directly (attached by PCI BDF).

  • Builds a RAID0 (NVMeRaid) across three NVMe drives, partitioned into three namespaces, and exports each as an NVMe-oF target over RDMA (port 4420) on the high-speed home network — one namespace per consumer:

    Namespace NQN Consumer
    NVMeRaidp1 nqn.2016-06.io.spdk:river river
    NVMeRaidp2 nqn.2016-06.io.spdk:castle castle
    NVMeRaidp3 nqn.2016-06.io.spdk:sfh sfh

    Each client is pinned by hostnqn, so river, castle and sfh all run their storage off cellar over the network.

Networking

  • Exports on the high-speed home network (lan-hi / the hi assignment) over RDMA; the SPDK target waits for that link to be online before starting.

Notes

  • The ublk_* calls in my.spdk.debugCommands are only a debugging script — they let you create a local ublk block device to mount and inspect the RAID on cellar itself. They are not how storage is exported to clients; that is the nvmf config above.