Use case · Virtualisation host

Proxmox hardware requirements, checked against a dedicated server

Proxmox VE needs a 64-bit x86 processor with the Intel VT or AMD-V flag, 2 GB of memory for the host itself plus whatever the guests are given, and storage that is either a hardware RAID whose write cache is battery-protected, or plain disks under ZFS. The 1 GB figure in the documentation is for evaluation only. Below, the Proxmox VE 9.2 requirements are set line by line against the machines we hand over with Proxmox VE 9 already installed, followed by the first hour on the host: port 8006 closed, a second factor on root, repositories, backups.

See the machines

Minimum against recommended, from the admin guide

The Proxmox VE 9.2 admin guide lists two sets of requirements. The minimum set is labelled for evaluation and not for production; the recommended set is what a host carrying real guests should meet.

ComponentMinimum (evaluation)Recommended (production)
Processor64-bit x86 with Intel VT or AMD-V for KVM; or arm64, ARMv8-AIntel 64 or AMD64 with the VT or AMD-V flag; or arm64, ARMv9-A
Memory1 GB plus guest memory2 GB for the OS and Proxmox services plus guest memory; about 1 GB more per TB of used storage under ZFS or Ceph
OS diskA hard driveHardware RAID with a battery-protected write cache, or no RAID and ZFS
Guest storageNot statedHardware RAID with a backed write cache, or raw disks for ZFS and Ceph; SSDs with power-loss protection
NetworkOne NICRedundant multi-gigabit NICs, more for storage and cluster traffic
PCIe passthroughNot statedAn IOMMU (Intel VT-d or AMD-Vi), enabled in the firmware

The ZFS chapter sets its own floor: 8 GB of RAM as the starting point, ECC memory recommended, and no ZFS on top of a hardware RAID controller. Ceph carries the same restriction.

arm64 hosts are supported on NVIDIA Grace Hopper and Vera and best-effort on other UEFI ARMv9-A hardware, but that does not help here: our Proxmox image is an x86 build, and no ARM line runs it.

Sizing memory

Memory is the figure to settle first, because guests are given fixed amounts. Take the documented 2 GB for the host, add the memory of every guest, then add roughly 1 GB per TB of used space if the pool is ZFS. Example, and this arithmetic is ours rather than Proxmox's: eight guests at 4 GB each on a ZFS mirror holding 2 TB of data come to 2 + 32 + 2 = 36 GB, so a 64 GB machine leaves room for growth and for the ZFS cache to do useful work.

Proxmox publishes no figure for cores per guest. Count the vCPUs your guests will actually keep busy, not the ones they are allocated. Run the bundled pveperf after install for a quick CPU and disk reading; the guide calls it a very quick, general benchmark and recommends more detailed I/O tests.

What the delivered host has

Proxmox VE 9 (installer image 9.2-1, on Debian 13) is installed unattended at build time on 15 of our dedicated lines, with no OS charge and no licence to buy. The root password arrives by email and the web interface is on port 8006. A racked machine is handed over about 30 minutes after the order is approved; a build to order takes 4 to 24 hours. The dedicated server range lists every line, and the Proxmox hosts page narrows it to the ones that take the image.

RequirementOn the delivered machine
VT or AMD-Vx86 lines only; the image is not offered on any ARM line
MemoryECC memory, size chosen in the configurator (registered ECC DDR4 on the blade and four-socket lines)
Storage, bladesext4 and LVM-thin on hardware RAID 1, HPE Smart Array with flash-backed cache
Storage, NVMe cartridgesZFS mirror on the m510, m710x and m750, with no RAID controller in front
NetworkOne connected port, unmetered, 1 Gbps on most lines; no second port, no private VLAN
ConsoleOut-of-band (HPE iLO or Dell iDRAC) on the blades and the m510 and m710x; power control only on the m700, m710, m710p and m750

The storage rows follow the guide: ZFS goes where the disks are raw, the RAID card keeps its own volume, and ZFS is never stacked on the card. The network row is where a single machine falls short of the recommended list, covered at the end. For two sockets and up to 1 TB of memory, the enterprise blades are the usual base.

First hour: closing port 8006

The web interface on 8006 exposes the whole Proxmox API. pveproxy listens on the wildcard address and accepts IPv4 and IPv6 clients alike, so a hand-written iptables rule for IPv4 leaves the same port open over IPv6. The built-in Proxmox firewall filters both protocols from one rule set, and it ships disabled.

  1. SSH in as root with the emailed password, change it with passwd, and add your SSH public key to root's authorized keys.
  2. Keep that SSH session open: the guide advises it before the firewall is switched on, so a mistake does not cut you off.
  3. Write the cluster-wide firewall file below. The guide recommends setting local_network to the single address for one host on a public network; otherwise the detected range covers the whole subnet around your address, and the automatic rules that admit API and SSH traffic are built from that range.
  4. Run pve-firewall status to check the rules compile, then open a second SSH session to confirm you still get in.
  5. Once key login works from that second session, set PermitRootLogin prohibit-password in /etc/ssh/sshd_config and run systemctl reload ssh. Port 22 stays open to the internet, so it should stop accepting passwords.
  6. Reach the web interface through an SSH tunnel over your own root login, not across the internet.
# /etc/pve/firewall/cluster.fw  (one host on a public address)
[OPTIONS]
enable: 1
policy_in: DROP

[ALIASES]
local_network 203.0.113.10

[RULES]
IN SSH(ACCEPT)
# on your own computer; leave it running while you work
ssh -N -L 8006:127.0.0.1:8006 root@203.0.113.10
# then open https://127.0.0.1:8006 in a browser

With the input policy at DROP, 8006 stays closed to the internet over both IPv4 and IPv6, while loopback traffic, which is what the tunnel delivers, is still allowed. If a rule does lock you out, the out-of-band console on the blades and the m510 and m710x gets you back to a shell; the m700, m710, m710p and m750 offer only power control, so keep the second SSH session open on those until the new rules are proven.

Root with a second factor

In the web interface, open Datacenter, Permissions, Two Factor (or the TFA button in the user list) and add a TOTP factor for root@pam, scanning the QR code into an authenticator app. Generate recovery keys in the same panel and store them off the server. After 8 failed TOTP attempts Proxmox disables that user's TOTP factors; a recovery key unlocks them. With no recovery key left, open a root shell over SSH and run pveum user tfa unlock root@pam. The second factor guards logins to the web interface; SSH stays on keys.

Repositories and updates

According to the guide the pve-enterprise repository is enabled by default, and it needs a subscription key. A subscription is optional and bought from Proxmox, not from us. Without one, disable the enterprise entry and add pve-no-subscription, which Proxmox describes as fit for testing and non-production use and not recommended for production servers. Do the same with the Ceph enterprise entry in ceph.sources if apt update complains about it.

# add this line to the entry in /etc/apt/sources.list.d/pve-enterprise.sources
Enabled: no

# /etc/apt/sources.list.d/proxmox.sources
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg

# then, as root
apt update
apt full-upgrade

Always apt full-upgrade, never apt upgrade: the guide warns that a plain upgrade can leave Proxmox's rolling packages half-upgraded.

Backups that leave the host

vzdump takes full backups of a guest's configuration and data, from the GUI or a scheduled backup job. For VMs, snapshot mode copies blocks while the guest runs and, with the QEMU guest agent enabled, freezes the filesystem for consistency; stop mode gives the highest consistency at the cost of a short shutdown. The guide recommends a Proxmox Backup Server on a separate host as the target, with NFS as the alternative. A second, smaller dedicated server running Proxmox Backup Server fits that advice; a dump on the same disks as the guests does not.

Where one machine falls short

  • One NIC. The guide recommends redundant NICs and a dedicated one for cluster traffic. Every machine here has one connected port, and no private VLAN is sold, so corosync, migration and guest traffic share the public port.
  • Clusters. For high availability Proxmox wants at least three nodes (or two plus a QDevice), with latencies under 5 ms; in practice, nodes in one city. The single-host firewall file above does not fit a cluster: before joining nodes, admit every node's address and the corosync ports, UDP 5405-5412.
  • Unmanaged. We keep the hardware, the network and the console running; the hypervisor and the guests are yours to run.
  • Guest addresses. One IPv4 and IPv6 come with the server. Extra IPv4 come from the same /24, bridged or routed, with no MAC registration.

Questions

Is 16 GB enough memory for a Proxmox host?

For a few small guests on LVM-thin, yes: the host itself needs 2 GB by the guide, leaving 14 GB to hand out. With ZFS, the ZFS chapter says to start from at least 8 GB, and the guide adds about 1 GB per TB of used storage, so 16 GB gets tight quickly. Size from the sum of guest memory, not from the minimum.

Does Proxmox need ECC memory?

The system requirements do not list ECC, but the ZFS chapter recommends high-quality ECC memory to prevent data corruption. The blade and four-socket lines we deliver Proxmox on use registered ECC memory; check the memory listed for a cartridge line in the configurator before putting ZFS on it.

Can I put ZFS on the blades' hardware RAID?

No. The guide says neither ZFS nor Ceph is compatible with a hardware RAID controller. The blades arrive with ext4 and LVM-thin on the controller's RAID 1; for ZFS, take an NVMe cartridge line, where the disks are raw and the installer lays down a ZFS mirror.

Can virtual machines get their own public IPv4 addresses?

Yes. Extra IPv4 addresses come from the same /24 as the server's own and can be bridged or routed to guests, with no MAC registration. One IPv4 and IPv6 come with the server; guests on private addresses can reach out through NAT on the host.

Do I have to buy a Proxmox subscription?

No. Proxmox VE is free and the subscription is optional, bought from Proxmox directly. Without it, switch to the no-subscription repository, which Proxmox positions for testing and non-production use.

Can I build a Proxmox cluster from several dedicated servers?

Yes. For high availability use three nodes, or two plus a QDevice, with latencies under 5 ms between them, which in practice means one city. There is no private VLAN, so cluster traffic crosses each server's public port. The single-host firewall file above does not fit a cluster: before you join nodes, admit every node's address (for example in the management IP set, which opens SSH, the web interface, the VNC and SPICE consoles and the migration ports 60000-60050 to those addresses, plus a rule for UDP 5405-5412 from the other nodes) and keep everything else closed.

Pick the host

Every dedicated line with its processor, memory range, storage and port, priced live. Proxmox VE 9 is one click on the order form.

See the machines

Related on Server Room

Other use cases