Proxmox Setup & Management Guide#

For fresh installations and initial server builds, please refer to the [[Proxmox Initial Install]] guide for automated provisioning steps.


1. Storage Management#

1.1 Storage: ZFS Pool Creation#

Create a simple mirrored or striped ZFS pool via CLI.

# Create a pool named 'Storage' using two disks
zpool create Storage sdb sdc

# The pool will now appear in Node > Storage > ZFS

1.2 Storage Specific Tests#

# Test SMB Share Throughput
dd if=/dev/zero of=/mnt/pve/HP1Storage/test.file bs=1M count=4000

# Test local-lvm Performance
dd if=/dev/zero of=/var/lib/vz/test.file bs=1M count=4000

2. Networking#

2.1 Add Second Network Bridge (Isolated VM Traffic)#

Use this for dedicated VM traffic on a specific physical port (e.g., eno6).

  1. GUI Method: Node > System > Network > Create > Linux Bridge.
  2. Bridge Port: Set to eno6. Leave IP/CIDR empty to keep it a pure Layer 2 bridge.
  3. Verify Config:
    nano /etc/network/interfaces
    Ensure iface vmbr1 inet is set to manual.
  4. Switch Config: Ensure the physical switch port is tagged for VLAN 12 (Lab-VM).

3. Security & Hardening#

3.1 Two-Factor Authentication (TOTP)#

  1. Login as marc@pam.
  2. Datacenter > Permissions > Two Factor > Add.
  3. Save the Secret Key and Recovery Keys in 1Password.
  4. Repeat for marc@pve and root@pam.

4. Monitoring & Integration#

  • UniFi: Add the node IP address to the Hosts group in the UniFi controller.
  • Beszel: Deploy the Beszel agent for lightweight resource visualization.

5. High Availability (HA) Management#

5.1 UI Configuration#

  1. Migration Settings: Datacenter > Option > Migration Settings. Set to dedicated Ceph network.
  2. Shutdown Policy: Datacenter > Option > HA Settings > Shutdown Policy. Set to Default (Migrate).

5.2 CLI Management (Disable/Enable)#

Disable HA Services:

systemctl disable -q --now pve-ha-lrm
systemctl disable -q --now pve-ha-crm
systemctl disable -q --now corosync

6. Guest Management#

6.1 QEMU Agent#

Inside the Linux VM (Guest):

apt update && apt install qemu-guest-agent -y
systemctl enable --now qemu-guest-agent

6.2 Container Creation: Nesting#

After creation, navigate to Options > Features and enable Nesting for modern distributions or Docker.


7. External Storage: USB Backups#

  1. Mount via CLI:
    mkdir /mnt/usbstorage
    mount /dev/sdb1 /mnt/usbstorage
  2. Add to Proxmox: Datacenter > Storage > Add > Directory.

8. Troubleshooting & Maintenance#

8.1 Deleting “Ghost” Guests#

Use when storage is gone:

rm /etc/pve/lxc/<CTID>.conf
rm /etc/pve/qemu-server/<VMID>.conf
pct rescan && qm rescan

8.2 Cluster Operations: Node Removal#

  1. Identify: pvecm nodes
  2. Delete: pvecm delnode <NODE_NAME> (from another node).
  3. Clean FS: rm -rf /etc/pve/nodes/<NODE_NAME>