Add a top-level README mapping the boxes and a full docs/ tree: topic pages (architecture, networking, deployment), per-site box pages for colony and home with containers nested under their hosts, remote and mobile boxes, the installer, and the home switch fabric reference (folded in from home-switches.md, with AGENTS.md and code comments retargeted to its new home). Box pages carry marked assignment tables that CI regenerates from nixos.allAssignments. AGENTS.md points at the new docs and keeps its terse agent version of the mechanics, referring to the topic pages for depth.
2.5 KiB
cellar
The home storage target. A VM on palace that drives three passed-through NVMe disks with SPDK
and exports them over NVMe-oF/RDMA — river, sfh and castle all run their root storage off
it.
- Source:
nixos/boxes/home/palace/vms/cellar/(default.nix,spdk.nix) - Host: VM on
palace
Role
-
Runs an SPDK userspace target (
my.spdk,spdk.nix): the kernelnvmedriver is blacklisted so SPDK can claim the three NVMe controllers directly (host BDFs41:00.0–43:00.0, attached in the guest as02:00.0–04:00.0). -
Builds a RAID-0 (
NVMeRaid, 64 KiB strip) across the three drives and exports one partition per consumer as an NVMe-oF subsystem over RDMA (port 4420) on thehinetwork:Bdev NQN Consumer NVMeRaidp1nqn.2016-06.io.spdk:riverriverNVMeRaidp2nqn.2016-06.io.spdk:castlecastleNVMeRaidp3nqn.2016-06.io.spdk:sfhsfhEach subsystem is pinned to its consumer's
hostnqn(themy.nvme.uuidon the client side). -
spdk-tgtis ordered afterlan-hiis online; the RDMA listener binds thehiaddress (192.168.68.80:4420). The VM itself is pinned to NUMA node 1 onpalaceand gets SR-IOV VF 0. -
netdata(port 19999 allowed in the firewall) andfstrim. -
Deploy address
192.168.68.80(my.deploy.node.hostname).
Network assignments
| Name | Assignment | IPv4 | IPv6 | Domain | Notes |
|---|---|---|---|---|---|
| cellar | hi | 192.168.68.80/22 gw 192.168.71.254 |
2a0e:97c0:4d0:1::4:1/64 |
h.nul.ie |
Notes
- The
ublk_*calls inmy.spdk.debugCommandsare only a debugging aid — they create a local ublk device so the RAID can be mounted and inspected oncellaritself. Client exports are thenvmfsubsystems above.
Notable config files
nixos/boxes/home/palace/vms/cellar/default.nix— box config (assignment, networking, netdata).nixos/boxes/home/palace/vms/cellar/spdk.nix— SPDK target: RAID-0, NVMe-oF/RDMA subsystems.nixos/boxes/home/palace/vms/default.nix— the VM definition onpalace(VF 0, NVMe passthrough, NUMA pinning).