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>
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# cellar
|
||||
|
||||
The home storage server. Exports fast NVMe storage over the network so other
|
||||
machines (notably `castle`) can boot and run from it.
|
||||
|
||||
- **Source:** [`nixos/boxes/home/palace/vms/cellar/`](../../../nixos/boxes/home/palace/vms/cellar)
|
||||
(`default.nix`, `spdk.nix`)
|
||||
- **Host:** VM on `palace` (NVMe drives passed through)
|
||||
- **Deploy address:** `192.168.68.80`
|
||||
|
||||
## Role
|
||||
|
||||
- Runs **SPDK** ([`spdk.nix`](../../../nixos/boxes/home/palace/vms/cellar/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`](river.md) |
|
||||
| `NVMeRaidp2` | `nqn.2016-06.io.spdk:castle` | [`castle`](castle.md) |
|
||||
| `NVMeRaidp3` | `nqn.2016-06.io.spdk:sfh` | [`sfh`](sfh.md) |
|
||||
|
||||
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.
|
||||
Reference in New Issue
Block a user