▤ Homelab

Proxmox VE: installation and a well-reasoned first setup

Installing Proxmox VE and setting it up properly from day one: repositories, updates, storage, bridged networking, users, notifications and the first VM.

Proxmox VE is the most widely used virtualisation platform in homelabs, and one good reason is that it installs in a few minutes. Precisely for that reason, though, many people stop at the welcome screen and start creating virtual machines without fixing a few settings that, months later, make all the difference. This guide follows the order in which it pays to proceed.

Before installing

Three checks prevent trouble:

  1. Virtualisation enabled in the firmware. In the BIOS or UEFI, enable VT-x or AMD-V and, if you plan to assign devices to virtual machines, VT-d or AMD-Vi as well.
  2. A carefully chosen system disk. Proxmox writes logs and state data fairly often: a quality SSD is preferable to a USB stick or memory card, which wear out quickly.
  3. An IP address decided in advance. The host should have a static address, or a DHCP reservation on the router, outside the range automatically handed out to other devices.

Installation

Download the official ISO image, write it to a USB stick and boot the machine. The installer asks for little: target disk, filesystem, country and time zone, root password, email address for notifications, hostname and network configuration.

For the filesystem, the main choice is between ext4 with LVM and ZFS. With a single disk, ext4 is simple and light. With two identical disks, a ZFS mirror protects the system from the failure of either and offers snapshots and integrity checks. ZFS does use more memory, and that must be counted in the RAM budget.

The hostname should be chosen as a fully qualified name, for example pve1.home.arpa, and should not be changed later, because it is tied to certificates and, in a cluster, to the node's identity.

Repositories and updates

On first login to the web interface, on port 8006, a notice about the missing subscription appears. By default the "enterprise" repository is enabled, and without a subscription it returns errors during updates.

The fix is to disable that repository and enable the public "no-subscription" repository, both managed from the Repositories section of the interface. Do the same for the Ceph repository, if present. Then update the system:

apt update
apt full-upgrade

On Proxmox you use full-upgrade (or dist-upgrade) rather than plain upgrade, because updates may require installing or removing packages.

Storage

After installation there are usually two stores: local, for ISO images, container templates and backups, and local-lvm or local-zfs, for virtual machine disks. Decide straight away where things will go:

  • virtual machine disks: on the fastest SSD;
  • ISOs and templates: on local storage or a network share;
  • backups: never only on the same disk as the virtual machines, but on a separate disk, a NAS or a dedicated backup server.

Networking

Proxmox creates a Linux bridge, usually called vmbr0, attached to the physical network card. Virtual machines connect to this bridge as if they were computers plugged into the same switch. If you plan to use VLANs, you can make the bridge "VLAN aware" and give each virtual machine its own tag directly in its network settings.

Users and access

Always working as root is convenient but unwise. A few precautions:

  • create a personal user with the permissions you need;
  • enable two-factor authentication for administrative accounts;
  • do not expose port 8006 to the Internet; to manage the lab from outside, go through a VPN;
  • log in over SSH with keys rather than passwords.

Notifications and email

Proxmox sends alerts about failed backups, disk problems and available updates. For them to actually arrive, configure a working delivery method, for example an external SMTP server with authentication. A system that silently fails its backups is worse than one that does not make them, because it gives a false sense of security.

The first virtual machine

With everything in order, upload an ISO and create the first virtual machine. Some recommended settings for modern Linux systems:

Setting Typical choice
Machine type q35
Firmware OVMF (UEFI) for recent systems
Disk controller VirtIO SCSI single
Network card VirtIO
CPU type host, unless you need to migrate between different processors
QEMU Guest Agent enabled, with the agent installed in the guest

The QEMU Guest Agent lets the host shut the virtual machine down cleanly, read its IP addresses and coordinate snapshots.

The first backup

Before considering the setup finished, schedule a backup of the first virtual machine and, above all, try restoring it. Only a successful restore proves the backup is genuinely useful.

In short

  • Before installing, enable virtualisation extensions and choose a quality SSD for the system.
  • Replace the enterprise repository with the no-subscription one if you have no subscription, and update with full-upgrade.
  • Backups belong on a disk or machine other than the one holding the virtual machines.
  • Never expose the web interface to the Internet; use 2FA, SSH keys and a VPN for outside access.
  • Configure email notifications and always test-restore the first backup.
MM
Marco Marzaduri

Marco Marzaduri works in cybersecurity, digital forensics and web development. A computer science graduate, he combines rigorous technical analysis with attention to the people who use technology.

Read also