Răsfoiți Sursa

docs(nvme): swap procedure - the 2TB replacement is 48 GB smaller, so no raw clone

Measured: stock XG7000 namespace 2,048,408,248,320 B (1.863 TiB) vs Corsair
MP600 Mini 2 TB 2,000,398,934,016 B (1.819 TiB). A raw sector duplicator
cannot fit the source; a partial copy leaves a 2.048 TB GPT and a 1.907 TiB
ext4 on a 1.819 TiB device.

Of dgx4's 1.33 TiB used, 1,215 GB is re-fetchable package store and only a
~10 KB config set is irreplaceable (controller.key included - without it all
eight agents need re-pairing; a ready tarball is at
~/dgx4-swap-backup-20261104/dgx4-config.tar.gz). Records the fresh-install
path, the resize-aware clone alternative, and the 4 TB option that removes
the constraint.
Alexander Korolev 8 ore în urmă
părinte
comite
9c20c4f9ff
1 a modificat fișierele cu 40 adăugiri și 0 ștergeri
  1. 40 0
      specs/tech-architecture/dgx4-nvme-investigation.md

+ 40 - 0
specs/tech-architecture/dgx4-nvme-investigation.md

@@ -145,6 +145,46 @@ single screw (an ASUS Ascent GX10 owner confirmed 2230 support); a 2230->2242
 adapter bracket is the fallback, and a thermal pad is worth adding since a 2230
 has less surface area than the stock 2242.
 
+## Swapping the drive on dgx4 (size trap first)
+
+Measured on 2026-11-04:
+
+| device | bytes | TiB |
+|---|---|---|
+| stock `XG7000-2TB` namespace | 2,048,408,248,320 | 1.863 |
+| Corsair MP600 Mini 2 TB | 2,000,398,934,016 | 1.819 |
+
+The replacement is **~48 GB smaller**, so a **raw sector clone cannot fit**:
+a duplicator either refuses or truncates, and a partial copy leaves a 2.048 TB
+GPT plus a 1.907 TiB ext4 on a 1.819 TiB device (backup GPT header out of
+range, filesystem larger than the disk). dgx4's used space is 1.33 TiB, of
+which **1,215 GB is re-fetchable** package store (`~/flare-pkgs` 477 GB +
+`~/.cache/flare` 738 GB) — only ~10 KB of config is irreplaceable.
+
+Two paths that work:
+
+1. **Fresh DGX OS install + restore** (recommended — no offline shrink, no
+   boot-media gymnastics on the controller):
+   1. Back up `~/.config/flare/` (**controller.key + agent identity — without
+      it all eight agents must be re-paired**), `~/.ssh`, `/etc/netplan`,
+      `/etc/fstab`, `/etc/hosts`. A ready-made tarball of exactly these:
+      `~/dgx4-swap-backup-20261104/dgx4-config.tar.gz` (9.6 KB).
+   2. Install DGX OS on the new module, restore the tarball, reinstall the
+      `flare` agent and the patched runtime (the same build the other ranks
+      run — a mixed set fails at rendezvous).
+   3. Re-create the package store with `flare download … --revision gb10
+      --tensor-parallel 4` (~50 min, network). **Do not rsync it from dgx1
+      while dgx1 serves**: that node's disk is on the serving critical path.
+   4. Run the acceptance gates below, then the two engine tests.
+2. **Filesystem-aware clone with resize** (Clonezilla `device-device`, which
+   copies used blocks and resizes): keeps OS, keys and both stores unchanged,
+   but needs a USB boot environment and a `sgdisk -e`/`resize2fs` pass
+   afterwards. Fine if a duplicator with smart/resizing mode is at hand; a
+   plain raw duplicator is not usable here.
+
+A 4 TB module (instead of 2 TB) sidesteps the size trap entirely and makes a
+raw clone valid — relevant if the replacement is still returnable.
+
 ## Reproducing the measurement
 
 ```bash