feat(nh3-pve): prepare for GPU install — pin NIC names by MAC, pull AMT port from vmbr0

nh3-pve and esh-pve are the same Minisforum MS-01 (BIOS AHWSA.1.17). With a
card in the x16 slot its root port takes bus 01 and every NIC moves down a
bus (measured on esh-pve), so predictable names change (enp2s0f0np0 ->
enp3s0f0np0 etc.) and vmbr0 would boot with no uplink. systemd .link files
now pin all NICs by MAC, baked into every initramfs and synced to the ESP;
udev confirms the files apply. The AMT-capable I226-LM (enp88s0) leaves
vmbr0's bridge-ports in the file (next boot), so cabling it for AMT cannot
loop the STP-less bridge.

Also: documented the NanoKVM (https://10.100.250.171) as nh3-pve's console
OOB and that AMT is not wired; nh3-dev's Beszel agent no longer binds NAS
shares (it died on the last NH3 cold start); post-boot checklist in
persistent-memory.
This commit is contained in:
vh
2026-09-25 10:56:17 -07:00
parent 20039bcda2
commit 2118449881
5 changed files with 179 additions and 10 deletions
+40
View File
@@ -117,6 +117,46 @@ no longer deployed sidecars here. See Recent decisions.)
_As of 2026-09-24 ~2245 PT._
### ⭐⭐ IN PROGRESS 2026-09-25 ~1100 PT: nh3-pve shut down for a GPU install (Prime on site)
This session runs ON nh3-dev and dies with it. **Successor: work this list
first.** (No /tmp handoff: nh3-dev wipes /tmp at boot.)
Pre-flight done before shutdown:
- NIC names pinned by MAC (a GPU renames every NIC on this MS-01), initramfs
rebuilt and ESP synced.
- AMT port `enp88s0` removed from vmbr0 in the file.
- nh3-dev's Beszel agent no longer binds NAS shares.
- Details in `servers/nh3-pve/README.md`.
**Post-boot checklist:**
1. **Host on the network:** `ping 10.100.250.60`, then `ip -br link` — names
unchanged, `enp2s0f0np0` UP inside vmbr0. If there's no network, open the
NanoKVM console at **https://10.100.250.171**.
2. **GPU seen:** `lspci | grep -i nvidia` → expect `01:00.0`, and the X710 moved to
`03:00` while keeping its pinned name. The BIOS primary display must stay on the
iGPU, or the NanoKVM goes black.
3. **Guests:**
- running: 100 nh3-docker1, 101 nh3-extdev, 102 nh3-dev, 105 pbs-nh3, CT 103
nh3-wg, CT 106 nh3-headscale, CT 107 nh3-scale;
- staying off (expected): 104 nh3-laser, 108 opnsense-lab.
4. **NFS:** touch the automounts — nh3-docker `/mnt/compose` `/mnt/backup`, nh3-dev
`/mnt/backup` `/mnt/smithy`.
5. **Post office** reachable (`postbox status`, `mode: push`). Kuma "althing post
office" green.
6. **nh3-dev services:** svos :8770 + hermes-gateway (Miranda's channel), Booth
:8090, ttyd/zellij seats, `dev-backup.timer`. Beszel shows nh3-dev /
nh3-docker / pbs-nh3 up.
7. **Claude sessions:** relaunching them is Prime's call.
8. **pfi-gx10:** if Prime ran the AC-pull test on this visit, verify it came back
by itself.
9. **Next work:** the GPU's purpose is TBD with Prime; likely the second embed/rerank
backend. Reuse `playbooks/esh-pve-nvidia-host.yaml` / `esh-ml1-lxc.yaml` (make
them host-generic). nh3-pve runs kernel 6.8.12-11 with **no matching
proxmox-headers installed**, on PVE 8.4.1 (Debian 12 template only). If the LM
port was cabled, MEBx provisioning can be done through the NanoKVM.
### ⭐ esh-ml1 = the fleet's utility GPU host (2026-09-25): embed/rerank (TEI) + reward (vLLM)
TEI is the fleet embed/rerank engine (Prime) and esh-ml1 is the SOLE backend