Skip to content

Proxmox

Nodes

PVE1 (Primary)

Hardware

Component Details
CPU Intel Core i3-4005U @ 1.70GHz (2 cores, 4 threads)
RAM 16GB
Boot Disk Kingston SA400S37 240GB SSD
PVE 9.1.14 (kernel 7.0.2-4-pve)

Storage

Pool Type Size Purpose
rpool ZFS 222GB Main storage pool
local Directory 183GB ISO images, backups
local-zfs ZFS Pool 174GB VM/CT disks

Network

flowchart LR
    subgraph Bridge[vmbr0 - 192.168.1.199/22]
        eno1[eno1<br/>Internal LAN]
        usb[enx3c18a0d4eddd<br/>USB Adapter]
    end
    Bridge --> GW[Gateway<br/>192.168.1.254]

PVE2 (Secondary)

  • IP: 192.168.1.151
  • URL: pve2.mdhmedia.uk
  • Role: Secondary hypervisor, heavy workloads

Hardware

Component Details
CPU 2x Intel Xeon X5670 @ 2.93GHz (12 cores, 24 threads)
RAM 72GB
Boot Disk PNY CS900 120GB SSD
PVE 9.1.14 (kernel 7.0.2-4-pve)

Storage

Pool Type Size Purpose
rpool ZFS 110GB Main storage pool
local Directory 93GB ISO images, backups
local-zfs-pve2 ZFS Pool 107GB VM/CT disks

Network

flowchart LR
    subgraph vmbr0[vmbr0 - 192.168.1.151/22]
        eno1[eno1]
    end
    subgraph vmbr1[vmbr1 - 192.168.1.152/22]
        enp4s0f0[enp4s0f0]
    end
    subgraph vmbr2[vmbr2 - 192.168.1.153/22]
        enp4s0f1[enp4s0f1]
    end
    vmbr0 --> GW[Gateway<br/>192.168.1.254]

LXC Containers

Statuses as of 2026-07-07. The cluster was rationalised that day — 13 stopped test/legacy guests (10 CTs + 3 VMs) were removed (see the note below); only the running containers remain.

VMID Name Node Status IP Purpose
101 portainer pve1 running 192.168.1.241 Docker host + Portainer (all git stacks)
112 caddy pve1 running 192.168.1.245 Reverse proxy
113 homepage pve1 running 192.168.1.242 Dashboard
114 mariadb pve1 running 192.168.1.251 Database server
116 alpine-wireguard pve1 running 192.168.1.236 VPN server (WG Dashboard on :10086)
120 adguard pve1 running 192.168.1.244 DNS filtering (active)

Cluster rationalisation — 2026-07-07

Removed these stopped guests with pct/qm destroy --purge. Those with a pre-destroy vzdump on their node's local are marked ✓; the rest were throwaway/superseded and taken without a backup:

Removed Node Was Backup
CT 102 pve1 teleport (WireGuard + Authelia OAuth supersede it)
CT 103 pve1 docker0X template (stale)
CT 104 pve1 pihole (never integrated)
CT 105 pve1 ubuntu template (stale)
CT 106 pve1 adguard (old, superseded by CT 120)
CT 108 pve2 plex (dup; Plex runs on Holly .210)
CT 111 pve1 librenms
CT 115 pve1 vaultwarden (test)
CT 117 pve2 scanopy (test)
CT 119 pve2 n8n (LAN automations move to Jarvis)
VM 100 pve1 zabbix
VM 107 pve1 apiscp-dev
VM 109 pve2 PMS (dup Plex)

CT 118 (grafana) was likewise destroyed 2026-07-06. Network mapping (Zabbix/LibreNMS) is deferred to Jarvis rather than replaced. The vzdumps live on each node's local and can be pruned or offsite-archived later.

Virtual Machines

VMID Name Node Status RAM Disk Purpose
121 hermes-jarvis pve1 running 4GB 32GB (ZFS, discard=on,ssd=1) Jarvis host — Hermes agent at 192.168.1.252 (see Jarvis)
110 unraid pve2 running 32GB USB boot Unraid NAS "Holly" — 16 cores, 3× PCI passthrough, OVMF + TPM 2.0

Backups

Backups configured 2026-07-06

Two vzdump jobs exist (pvesh get /cluster/backup):

Job Guests Schedule Retention
jarvis VM 121 Sun 02:00 keep-weekly 2
priority CTs 101, 112, 114, 116 daily 02:30 keep-daily 3 + keep-weekly 2

Both snapshot mode / ZSTD → local. VM 110 (Unraid) is intentionally excluded (PCI passthrough / USB boot). Offsite: pve-offsite-sync.timer mirrors /var/lib/vz/dump nightly (~04:00) to a jailed Hetzner Storage Box sub-account (u195506-sub5, home homelab) via rclone SFTP — see proxmox/backup/ in the repo.

Backup Strategy

Backup Best Practices

Regular backups are critical for disaster recovery. Proxmox Backup Server (PBS) or built-in vzdump can be used for VM/CT backups.

Backup Type Frequency Retention Time
Full Backup (Critical VMs/CTs) Daily 7 days 02:00
Full Backup (Non-critical) Weekly 4 weeks Sunday 03:00
Configuration Backup Daily 30 days 01:00

Priority Containers for Backup

Based on the running services, prioritize backups for:

VMID Name Priority Reason
112 caddy High Reverse proxy - critical for all services
113 homepage Medium Dashboard configuration
114 mariadb High Database - contains application data
116 alpine-wireguard High VPN access - contains peer configurations
110 unraid High NAS VM - backup config only (data on array)

Storage Locations

Location Type Purpose
local Directory Short-term backup storage
[NFS_SHARE] NFS Mount Off-node backup storage (recommended)
[PBS_SERVER] Proxmox Backup Server Deduplicated long-term storage

Off-site Backups

Consider configuring off-site backups to a remote location or cloud storage for disaster recovery. Options include:

  • Proxmox Backup Server with remote sync
  • Rclone to cloud storage (Backblaze B2, Wasabi, etc.)
  • NFS mount to separate physical location

Backup Configuration

To configure scheduled backups via the Proxmox UI:

  1. Navigate to Datacenter > Backup
  2. Click Add to create a new backup job
  3. Configure the following settings:
Storage: [YOUR_BACKUP_STORAGE]
Schedule: [CRON_EXPRESSION]
Selection Mode: Include selected VMs
Mode: Snapshot (recommended for running VMs)
Compression: ZSTD (best compression/speed ratio)

Restore Testing

Test Your Backups

Schedule quarterly restore tests to verify backup integrity:

  1. Select a non-production time window
  2. Restore a backup to a temporary VM/CT
  3. Verify the restored system functions correctly
  4. Document any issues and adjust backup strategy