Boot Drive Swap¶
The Proxmox boot drive is a Samsung 840 PRO 128GB SATA SSD. This runbook covers replacing it with a larger drive (target: 1TB SATA SSD).
Hardware details¶
| Property | Value |
|---|---|
| Current drive | Samsung SSD 840 PRO 128GB |
| Interface | SATA, behind Dell PERC RAID controller |
| Location | Front drive bay, Dell 2.5" SFF caddy |
| Replacement | Any SATA or SAS 2.5" SSD (1TB recommended) |
Spare Dell drive caddies are available.
Current boot drive layout¶
| Partition | Size | Purpose |
|---|---|---|
| sda1 | 1 MB | BIOS boot |
| sda2 | 1 GB | EFI (/boot/efi) |
| sda3 | 118 GB | LVM (pve volume group) |
| — pve-root | 39.6 GB | Proxmox OS (ext4) |
| — pve-swap | 8 GB | Swap |
| — pve-data | 53.9 GB | Thin pool for VM/CT disks |
What lives where¶
On the boot drive (backed up via vzdump — restored from NAS):
- All VM and LXC root disks (in LVM thin pool)
On the boot drive (host config — must be manually reconfigured):
- Network configuration (
/etc/network/interfaces) - NFS server and exports (
/etc/exports) - Proxmox storage backends (
/etc/pve/storage.cfg) - Hostname and DNS (
/etc/hosts,/etc/resolv.conf)
NOT on the boot drive (survives the swap untouched):
- ZFS pool
stashon 4x SAS SSDs (sdb–sde) — all media data intact
On the NAS (external — survives the swap):
- vzdump backups of all VMs and containers
Pre-swap checklist¶
- Confirm backups are current on the NAS:
- Verify backups exist:
- Shut down Proxmox:
Swap procedure¶
- Physically swap the drive — remove the 128GB SSD from its caddy, install the new 1TB SSD
- Boot from Proxmox installer USB — download the latest Proxmox VE ISO and flash to USB
- Install Proxmox — select the new 1TB drive as the install target. During install:
- Hostname:
proxfold.localdomain - IP:
192.168.1.250/24 - Gateway:
192.168.1.1 - DNS:
192.168.1.1
Post-install configuration¶
Step 1 — Import the ZFS pool¶
Verify:
Step 2 — Configure networking¶
Set /etc/network/interfaces — see Config Files for full contents.
Step 3 — Install and configure NFS server¶
Set /etc/exports — see Config Files for contents.
Step 4 — Add the NAS backup storage¶
apt install -y cifs-utils
pvesm add cifs nasbackup --server 192.168.1.253 --share backup --username admin --password '<password>' --content backup --smbversion 2.0
Step 5 — Restore VMs and containers¶
# List available backups
ls -lh /mnt/pve/nasbackup/dump/
# Restore each (use the most recent backup file for each)
pct restore 100 /mnt/pve/nasbackup/dump/vzdump-lxc-100-<timestamp>.tar.zst --storage local-lvm
qmrestore /mnt/pve/nasbackup/dump/vzdump-qemu-101-<timestamp>.vma.zst 101 --storage local-lvm
qmrestore /mnt/pve/nasbackup/dump/vzdump-qemu-102-<timestamp>.vma.zst 102 --storage local-lvm
pct restore 103 /mnt/pve/nasbackup/dump/vzdump-lxc-103-<timestamp>.tar.zst --storage local-lvm
Step 6 — Re-add the ZFS mount point to Plex LXC¶
Step 7 — Start and verify¶
pct start 100
qm start 101
qm start 102
# Verify Plex can see media
pct exec 100 -- ls /mnt/plex/Movies/ | head -5
# Verify arrstack NFS mount
qm guest exec 101 -- df -h /stash
# Verify Docker containers are running
qm guest exec 101 -- docker ps
Post-swap verification checklist¶
- [ ] Proxmox web UI accessible at
https://192.168.1.250:8006 - [ ] ZFS pool
stashimported and healthy (zpool status stash) - [ ] NFS export active (
exportfs -v) - [ ] Plex LXC running and media accessible
- [ ] Arrstack VM running, NFS mounted, Docker containers up
- [ ] Sonarr/Radarr show no errors, libraries visible
- [ ] qBittorrent accessible
- [ ] Overseerr accessible
- [ ] End-to-end test: request something in Overseerr, confirm it downloads and appears in Plex
- [ ] Nginx VM running (if needed)