June 03, 2026
Boot-disk swap executed: Corsair → 1 TB SSD (live clone)
Why: The ~2011 Corsair Force GT boot SSD (12.3 years powered on) was overdue for replacement. The 1 TB SATA SSD arrived, so we did the swap — and chose a pragmatic live clone over the offline-live-USB method in the runbook, because both drives were internal SATA (fast) and a quiesced live clone was simpler.
What we actually did (deviating from the runbook)
- New SSD connected to a free SATA port (no need to unplug anything for the clone). Identified everything by serial / by-id, never by
/dev/sd*letter. - Quiesced the writers — stopped Docker (clean container shutdown flushes the DBs), Plex, netdata, cron;
sync. This made the live clone effectively clean, not just crash-consistent. - Cloned with ddrescue:
ddrescue -f /dev/disk/by-id/ata-Corsair_Force_GT_12147901000014820017 /dev/disk/by-id/ata-SSV8_AA000000000000002477 /var/tmp/corsair-clone.map— ~112 GB at ~332 MB/s, 0 read errors, 0 bad sectors (~6 min). sgdisk -eon the new disk (move backup GPT to the end of the 954 GB drive). Restarted the stopped services.- Powered down → removed the old Corsair → re-seated plex1 (its cable had been knocked loose, causing ata-link resets) → added the 128 GB Kingston as a future scratch disk → booted from the new SSD.
- Grew root online into the full disk:
growpart <disk> 3+resize2fs→/went from 109 GB to 938 GB (818 GB free), zero downtime.
Result
- Boot disk: now the 1 TB "SSV8" SSD (serial
AA000000000000002477), root grown to 938 GB. The clone is proven good — the system booted and runs from it. - Retired: the Corsair Force GT (old boot) and the SMART-degraded WD
WUH721414ALE6L4(9RHHSV3L, old plex2_backup) — both physically removed. - plex1 (Seagate
ST14000NM001G,ZL2BG3W8) re-seated and healthy on internal SATA. - All services back up; all media drives mounted.
Loose ends
- 128 GB Kingston scratch disk dropped off the bus shortly after install (no kernel error → loose SATA cable, same as plex1's earlier symptom). Needs re-seating before its SMART can be read and it can be set up as scratch (Plex transcode temp, download staging,
/tmp, secondary swap). - Keep the old Corsair untouched for ~a week as a fallback before wiping.
/var/tmp/corsair-clone.mapcan be deleted.