Files
esh-pfi-infrastructure/persistent-memory.d/2026-08-27-anaheim-breaker-and-onboot-gap.md
T
vh 88d79375f7 memory: run 3c had TWO launches — the third was an untimestamped report
brokkr-smithy-dev asked how many times 3c was launched rather than
reconstructing it, and their reading was three. It was two.

  #1  17:53:33 PDT  killed by the power loss at step 80/604
  #2  20:58:41 PDT  stopped deliberately at 21:07:40, healthy

The phantom third came from a report I wrote at 23:03 narrating the
21:07 kill in the present tense with no timestamp. Every fact in it was
accurate; it was unreadable in sequence against a correctly-observed
22:46 snapshot of an idle GPU.

Evidence is ZFS birth times (a `>` redirect truncates the log but keeps
its birth, so mtime alone cannot separate "rewritten" from "created"),
plus the absence of any mtime under /tank/erp-tune after 21:07:34 — a
relaunch would have rewritten three files there.

Also pins the outage window to 18:14:45-18:17:00 PDT and corrects the
downtime from "~90 minutes" to 1h58m: the last journald entry before a
hard power loss is the last time anything wanted to log, not the moment
of the loss, and here it was 20 minutes early.

Corrects the in-flight header (step 22 -> last-logged step 24, stop
deliberate) and its stale "as of" stamp.
2026-08-27 10:59:29 -07:00

3.7 KiB

[2026-08-27] Anaheim tripped a power breaker — and four guests including the NAS never came back

Site-wide outage. ana-ml2 was down 1h58m — power lost between 18:14:45 and 18:17:00 PDT, boot at 20:13:14 (the "~90 minutes" first recorded here was an estimate; the window is now pinned by run 3c's training log and the hourly cron that never ran — see 2026-08-27-run3c-launch-count-reconstruction). Operator-confirmed cause: a tripped power breaker, not a fault and not the tunnel. The discriminator that established scope: ana-srv1 (38.120.12.44:443, Anaheim's PUBLIC address) was dark from the internet, so it was not the NH3↔ANA IPsec tunnel stranding NH3 — the site was not answering on any path. ana-ml2 returned with up 1 min, confirming a hard power event.

⚠ THE DURABLE FINDING — onboot was unset on four guests

pfi-pve came back and auto-started everything except:

CT109  ana-nas        the storage SPOF
CT113  ana-wg         the WireGuard remote-access path
CT112  ana-filebot
VM106  corviduo-dev

All four had onboot unset. Recovery was manual and would have been manual every time — including for the NAS that postgres/PBS/cross-site-restic depend on, and the WireGuard host that is the way in when the site misbehaves.

FIXED, with dependency ordering (operator-authorised):

CT109  ana-nas          onboot=1  order=1,up=45   <- first; 45s for NFS to SERVE
CT113  ana-wg           onboot=1  order=2         <- remote access before anything can fail
VM104/105 Mongo/Postgres          order=3,up=60   (pre-existing)
VM102  ANA-Docker                 order=4         (pre-existing)
VM101  ANA-DC                     order=5,up=120  (pre-existing)
CT112  ana-filebot      onboot=1  order=10
VM106  corviduo-dev     onboot=1  order=10

Every guest on pfi-pve now auto-starts. ana-nas precedes the databases deliberately; the up=45 is for NFS to be serving, not merely for the container to be running — the exact distinction that killed rest-server on ana-docker, which came up before the NAS existed, found nothing to serve, and exited 255.

/tank came back DEGRADED — a disk is genuinely gone

tank  DEGRADED, raidz2-0, 7 devices ONLINE
  9477159196657038377   FAULTED   was /dev/nvme4n1p1
errors: No known data errors

Only 7 physical NVMe present where the pool expects 8 — checked, so not renumbering. One drive did not re-enumerate. raidz2 carries two disks of parity; one is spent. Operator taking it; chassis is a Supermicro AS-4125GS-TNRT2 with PCIe hot-plug slots, so a swap should not need a power-down.

/mnt/smithy is manual by design — it will be missing after EVERY reboot

Not in fstab, and deliberately so: a cross-site NFS entry can hang boot on a GPU host, and it is soft rather than hard because ana-ml2 is cross-site from that NAS and a hard mount turns a link blip into unkillable D-state. Remount with the recorded spec, do NOT "fix" it into fstab:

sudo mount -t nfs4 -o ro,soft,timeo=30,retrans=3,proto=tcp,vers=4.1 \
  10.100.50.50:/volume1/smithy /mnt/smithy

Full rationale: 2026-08-23-smithy-mount-ana-ml2.

Power capacity is now the open item

Operator: "we'll triage this weekend, probably shut down some seats." ana-ml2 alone was pulling ~600 W across both GPUs at their 300 W caps during training. gen stays up by instruction; everything else on that box is idle.

Blast radius beyond us

heid lost both gateway-routed arms of a four-arm panel mid-dispatch and discovered the outage by losing half a panel. That report produced the single most valuable artifact of the incident — see 2026-08-27-empty-response-as-a-datum.