Skip to content

8TB WD Red Recovery Plan — 2026-03-12

Status: Pending (requires home access)

Background

On 2026-02-22, the 8TB WD Red Plus (WDC WD80EFBX-68AZZN0) suffered GPT partition table corruption caused by the Sabrent EC-DFLT USB enclosure's JMicron controller silently translating sector sizes (512e → 4096). Data was recovered via losetup --sector-size 4096 and copied to the Purple drive. The 8TB drive remains in the NAS with no partition table and no mount.

Current Drive Inventory

Device Model Size Mount Status

| sda | Lexar NQ100 SSD | 240GB | / (LVM) | Healthy — OS + Docker | | sdb | WD Purple (WD23PURZ) | 2TB | /mnt/purple | 98% full (1.7TB/1.8TB) | | sdc | WD Red Plus (WD80EFBX) | 8TB | unmounted | No partition table — needs recovery | | sdd | 512GB SSD | 476GB | unmounted | ext4 partition exists, not in fstab | | sde | Generic Flash Disk | 3.7GB | /boot/efi, /boot | Boot USB (permanent) |

Free SATA ports: 2 (ASUS P8H77-I has 4 SATA total, 2 occupied by sda + sdb)

Wait — sdc, sdd are also connected. The board may have more ports or sdd is via a different interface. Verify physical SATA topology when home.

Available Spare Drives (at home)

Drive Size Location Interface

| WD Red 3TB (#1) | 3TB | Sabrent USB dock | SATA | | WD Red 3TB (#2) | 3TB | Spare | SATA | | Old drive | 1TB | Spare | SATA | | Old drive | 2TB | Spare | SATA |

Recovered Data on Purple (/mnt/purple/red-recovery/)

Directory Size Criticality Replaceable?

| raidmain/videos/ | 45GB | CRITICAL | No — family home videos (weddings, birthdays, 2010-2013) | | raidmain/photos/ | 168GB | CRITICAL | No — family photos 2006-2014, multiple cameras | | home/ | 473GB | Medium | Mostly — old laptop backups (Andre, XPS) | | music/ | 346GB | Low | Yes — re-downloadable | | videos/ | 145GB | Low | Partially — BD rips, music videos | | scanner/ | 40MB | Medium | Physical originals exist | | etc/ | 8MB | Low | Old system configs | | Total|~1.5TB | | |

Critical irreplaceable data: 213GB (videos + photos)

Purple Drive Space Crisis

/dev/sdb1  1.8T  1.7T  45GB  98%  /mnt/purple

Breakdown:

  • red-recovery: ~1.5TB
  • frigate recordings: ~158GB
  • restic backups: ~8KB (just initialized)
  • Free: 45GB

Purple is nearly full. Frigate will stop recording when it runs out of space. This is the immediate problem.


Recovery Plan (8TB Physically Healthy Scenario)

Prerequisites

  • Physical access to NAS (sudo password required)
  • All critical services stopped or paused during disk operations
  • Terminal session via SSH (not browser-based to avoid timeouts)

Phase 1: Verify 8TB Drive Health

# Run SMART health check
sudo smartctl -a /dev/sdc

# Check for reallocated sectors, pending sectors, uncorrectable errors
sudo smartctl -A /dev/sdc | grep -E 'Reallocated|Current_Pending|Offline_Uncorrectable'

# If SMART looks clean, run extended self-test (~14 hours for 8TB)
sudo smartctl -t long /dev/sdc

# Check result after test completes
sudo smartctl -l selftest /dev/sdc

Decision point

  • Reallocated_Sector_Ct > 0 OR Current_Pending_Sector > 0 → drive is degrading, go to "Failing Drive" plan
  • All zeros + extended test passes → drive is healthy, continue to Phase 2

Phase 2: Repartition 8TB Drive

# Verify there's no remaining data we missed
# Try the old losetup trick to check if more data exists
sudo losetup --sector-size 4096 -f --show /dev/sdc
# Mount read-only and compare with red-recovery
sudo mount -o ro /dev/loop0 /mnt/temp
# diff or ls to verify nothing was missed
sudo umount /mnt/temp
sudo losetup -d /dev/loop0

# Once confirmed all data is safe, create fresh partition table
sudo parted /dev/sdc mklabel gpt
sudo parted /dev/sdc mkpart primary ext4 0% 100%

# Create filesystem (ext4, optimized for large drive)
sudo mkfs.ext4 -L red8 -m 1 -T largefile4 /dev/sdc1
# -m 1: reserve only 1% for root (vs default 5% = 400GB wasted)
# -T largefile4: optimize inode ratio for media storage

# Create mount point and mount
sudo mkdir -p /mnt/red8
sudo mount /dev/sdc1 /mnt/red8
sudo chown augusto:augusto /mnt/red8

Phase 3: Restore Data to 8TB

# Create directory structure
mkdir -p /mnt/red8/{media,downloads,data,sync,backup}

# Copy critical data FIRST (most important)
rsync -avh --progress /mnt/purple/red-recovery/raidmain/videos/ /mnt/red8/data/family-videos/
rsync -avh --progress /mnt/purple/red-recovery/raidmain/photos/ /mnt/red8/data/family-photos/

# Verify critical data integrity
diff -rq /mnt/purple/red-recovery/raidmain/videos/ /mnt/red8/data/family-videos/
diff -rq /mnt/purple/red-recovery/raidmain/photos/ /mnt/red8/data/family-photos/

# Copy remaining data
rsync -avh --progress /mnt/purple/red-recovery/home/ /mnt/red8/data/home-backup/
rsync -avh --progress /mnt/purple/red-recovery/music/ /mnt/red8/media/music/
rsync -avh --progress /mnt/purple/red-recovery/videos/ /mnt/red8/media/videos/
rsync -avh --progress /mnt/purple/red-recovery/scanner/ /mnt/red8/data/scanner/

Phase 4: Add to fstab

# Get UUID
sudo blkid /dev/sdc1

# Add to /etc/fstab
echo 'UUID=<uuid-from-above>  /mnt/red8  ext4  defaults,noatime  0  2' | sudo tee -a /etc/fstab

# Test mount
sudo umount /mnt/red8
sudo mount -a
df -h /mnt/red8
# Restore /srv/ symlinks (adjust paths to match new layout)
sudo ln -sfn /mnt/red8/media /srv/media
sudo ln -sfn /mnt/red8/downloads /srv/downloads
sudo ln -sfn /mnt/red8/data /srv/data
sudo ln -sfn /mnt/red8/sync /srv/sync
sudo ln -sfn /mnt/red8/backup /srv/backup

Phase 6: Free Purple Drive

# ONLY after verifying all data is safely on the 8TB
# Double-check critical data exists on red8
ls -la /mnt/red8/data/family-videos/
ls -la /mnt/red8/data/family-photos/

# Remove recovery data from Purple
sudo rm -rf /mnt/purple/red-recovery/

# Verify Purple has space again
df -h /mnt/purple
# Should show ~1.5TB free (back to ~15% usage)

Phase 7: Backup Critical Data (213GB)

The 512GB SSD (sdd) already in the NAS is perfect for this.

# Mount the 512GB SSD
sudo mkdir -p /mnt/backup-ssd
sudo mount /dev/sdd1 /mnt/backup-ssd

# Copy critical irreplaceable data
rsync -avh --progress /mnt/red8/data/family-videos/ /mnt/backup-ssd/family-videos/
rsync -avh --progress /mnt/red8/data/family-photos/ /mnt/backup-ssd/family-photos/

# Verify
diff -rq /mnt/red8/data/family-videos/ /mnt/backup-ssd/family-videos/
diff -rq /mnt/red8/data/family-photos/ /mnt/backup-ssd/family-photos/

# Add to fstab
echo 'UUID=<uuid>  /mnt/backup-ssd  ext4  defaults,noatime  0  2' | sudo tee -a /etc/fstab

This gives you 2 copies of critical data (8TB + 512GB SSD) plus offsite via rclone to Google Drive.

Phase 8: Restart Services

# Restart Docker containers that depend on /mnt/red8 or /srv/ paths
cd /opt/homelab/repo/docker/fixed/nas/storage && docker compose up -d
cd /opt/homelab/repo/docker/fixed/nas/backup && docker compose up -d

# Verify NFS exports if Docker VM mounts from NAS
sudo exportfs -ra

# On Docker VM: verify NFS mounts
ssh docker-vm "df -h /mnt/nas/*"

Alternative: Failing Drive Plan

If SMART shows bad sectors or extended test fails:

  1. Do NOT write to the 8TB — any writes risk further damage
  2. Check if more data needs recovery via losetup (read-only)
  3. Install 3TB drives in free SATA ports
  4. Distribute data:
  5. 512GB SSD (sdd): family videos (45GB) + photos (168GB) = 213GB
  6. 3TB drive #1: home backups (473GB) + music (346GB) = 819GB
  7. 3TB drive #2: videos (145GB) + service data + Restic target
  8. Decommission 8TB or use as non-critical scratch space
  9. Purchase replacement 8TB WD Red Plus when budget allows

Post-Recovery Checklist

  • [ ] SMART extended test passes on 8TB
  • [ ] Fresh GPT + ext4 on 8TB
  • [ ] All red-recovery data restored and verified (diff -rq)
  • [ ] Critical data (213GB) duplicated to 512GB SSD
  • [ ] Critical data synced to Google Drive via rclone
  • [ ] Purple drive freed (should be ~15% used)
  • [ ] Frigate recording unblocked
  • [ ] fstab updated for both red8 and backup-ssd
  • [ ] /srv/ symlinks recreated
  • [ ] NAS Docker services restarted
  • [ ] NFS exports verified from Docker VM
  • [ ] Update MEMORY.md with new drive layout

Estimated Time

  • Phase 1 (SMART test): ~14 hours (run overnight)
  • Phase 2 (repartition): ~10 minutes
  • Phase 3 (restore 1.5TB): ~3-4 hours (SATA-to-SATA)
  • Phase 4-6 (fstab, symlinks, cleanup): ~15 minutes
  • Phase 7 (backup 213GB to SSD): ~30 minutes
  • Phase 8 (restart services): ~15 minutes

Total active time: ~1 hour (plus overnight SMART test)