|
|
@@ -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
|