Files
nuc/docs/hard-disk-change.md
Alejandro Gutiérrez 390eda1595 Initial commit - NUC server configuration and docs
- CLAUDE.md: Server instructions and service reference
- docs/: Persistent documentation (architecture, guides)
- .artifacts/: Session-generated notes
- playwriter-browser/: Remote browser container config

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 20:49:20 +00:00

4.6 KiB

NUC Hard Disk Change Guide

Date: 2026-02-01 17:30 Context: Step-by-step guide to replace NUC hard disk with larger one


Prerequisites

  • Clonezilla USB boot drive (download)
  • External USB drive (larger than current disk usage)
  • New internal disk (must be >= current used space)
  • 1-2 hours of downtime

Before You Start

Check current disk usage

ssh nuc "df -h / && lsblk"

Verify services are backed up

ssh nuc "docker exec kopia kopia snapshot list --all | tail -10"

Export critical configs (safety net)

ssh nuc "tar czf /tmp/nuc-configs-backup.tar.gz /data/coolify /opt/homepage/config 2>/dev/null"
scp nuc:/tmp/nuc-configs-backup.tar.gz ~/Desktop/

Phase 1: Create Clonezilla Image

1.1 Boot from Clonezilla USB

  1. Insert Clonezilla USB into NUC
  2. Power on, press F10 for boot menu
  3. Select USB drive
  4. Choose: Clonezilla live (Default)

1.2 Create disk image

Select: device-image
Select: local_dev (save to external USB)
Choose: savedisk
Image name: nuc-full-2026-02-01
Source disk: /dev/sda (or /dev/nvme0n1)
Compression: -z1p (parallel gzip, fastest)
Options: -fsck-src-part -c (check & checksum)

1.3 Wait for completion

  • 256GB disk → ~20-40 min
  • 512GB disk → ~40-60 min

1.4 Verify image

Clonezilla shows checksums. Note them down:

Image checksum: ________________________________

Phase 2: Swap Physical Disk

2.1 Power off NUC

ssh nuc "sudo shutdown now"

2.2 Open NUC and replace disk

  1. Disconnect power
  2. Remove bottom cover (4 screws)
  3. Remove old disk (M.2 or 2.5" SATA)
  4. Insert new disk
  5. Replace cover

Phase 3: Restore to New Disk

3.1 Boot Clonezilla again

  1. Insert Clonezilla USB + external drive with image
  2. Boot from USB

3.2 Restore image

Select: device-image
Select: local_dev
Choose: restoredisk
Image: nuc-full-2026-02-01
Target: /dev/sda (new disk)

3.3 Confirm and wait

Same time as backup (~20-60 min)


Phase 4: Expand Partition

After restore, the new disk has the old partition sizes. Expand to use all space:

4.1 Boot into Ubuntu

Remove USB drives, boot normally.

4.2 Expand partition

# Check current layout
lsblk

# Expand partition (usually partition 2 or 3)
sudo growpart /dev/sda 2

# Expand filesystem
sudo resize2fs /dev/sda2

# Verify
df -h /

For NVMe drives:

sudo growpart /dev/nvme0n1 2
sudo resize2fs /dev/nvme0n1p2

For LVM:

sudo pvresize /dev/sda2
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

Phase 5: Verify Everything Works

5.1 Check services

# All containers running?
docker ps

# Coolify healthy?
curl -s http://localhost:8000/api/health

# Check each service
docker ps --format 'table {{.Names}}\t{{.Status}}' | head -20

5.2 Test critical services

Service Test
Coolify http://192.168.1.3:8000
Homepage http://192.168.1.3:3000
Gitea http://192.168.1.3:3030
n8n http://192.168.1.3:5678

5.3 Verify databases

# LiquidGym Postgres
docker exec postgres-x4kk8g4k8w4g0cw480w84g4g psql -U postgres -c "\\l"

# LiquidGym MySQL
docker exec hgwcgs4oswwc8scg080scoo4 mysql -u root -pliquidgym_root_nuc_2026 -e "SHOW DATABASES;"

Troubleshooting

GRUB bootloader not found

# Boot from Ubuntu Live USB
sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
sudo chroot /mnt
grub-install /dev/sda
update-grub
exit
reboot

NVMe device name changed

Edit /etc/fstab to use UUID instead of device names:

# Find UUIDs
blkid

# Edit fstab
sudo nano /etc/fstab
# Change /dev/sda2 to UUID=xxxxx

Docker services not starting

sudo systemctl restart docker
docker ps -a  # Check for exited containers
docker start $(docker ps -aq)  # Start all

Rollback Plan

If new disk fails, you still have:

  1. Original disk (keep it safe for 1 week)
  2. Clonezilla image on external drive
  3. Config backup on your Mac (~/Desktop/nuc-configs-backup.tar.gz)

Worst case: put old disk back in, boot, everything works.


Quick Reference

Step Time Risk
Create image 30-60 min Low
Swap disk 10 min Low
Restore image 30-60 min Low
Expand partition 5 min Low
Verify services 10 min None
Total ~2 hours Low