rss logo

How to Install Proxmox VE 9: Step-by-Step Guide

Proxmox logo

I've been using VMware ESXi for many years. For me, it was long considered the best choice for bare-metal virtualization. I appreciated its lightweight interface, powerful features, and even its flexible licensing, which made it easy to use in test environments. Back then, there were no subscription-only licenses - in short, everything you’d expect from professional-grade software. But that was before Broadcom took over.

I won't rehash the story, but basically, it stinks to high heaven, and it's only getting worse. So I decided to move on to another solution, and that's what I'm going to detail in a series of tutorials dedicated to Proxmox.

I chose Proxmox VE for several reasons: it’s free to use, open-source, powerful, and highly flexible. Paid subscriptions are also available, providing access to the enterprise repository and official support while helping fund the continued development of the project. And - last but not least - not controlled by Broadcom. Of course, as with any migration or platform change, it’s important to compare the features and limitations before making the switch. While Proxmox VE meets all my needs, it still doesn’t match VMware in every area.

This first tutorial - starting right from the basics - will focus on installing Proxmox VE 9.

Download the ISO

First, visit the official Proxmox download page: https://www.proxmox.com/en/downloads and download the latest Proxmox VE 9 ISO Installer.

Official Proxmox VE 9 ISO Installer download page
Download the latest Proxmox VE 9 ISO Installer from the official Proxmox website.

Next, prepare your installation media. You can create a bootable USB drive using a tool such as Rufus, write the ISO to a USB drive with dd on a Unix-like system, or mount the ISO remotely using a server management interface such as Dell iDRAC Virtual Media. You can find additional installation media methods in the official Proxmox wiki: https://pve.proxmox.com/wiki/Prepare_Installation_Media.

Architecture Overview

Network Configuration

In this example, the server is equipped with two physical network interfaces. After installing Proxmox VE 9, the interfaces are named according to the systemd predictable network interface naming scheme. For more information, see the official Proxmox documentation: https://pve.proxmox.com/wiki/Network_Configuration.

  • On this server, the two physical interfaces are named eno1 and eno2:
Rear view of a Proxmox server showing the physical network interfaces mapped to eno1 and eno2
Rear view of the server showing the two physical network interfaces used as eno1 and eno2 in Proxmox VE.
  • Since my server has two physical network interfaces, I chose to dedicate one to management traffic and the other to the virtual machine network. This helps separate administrative traffic from VM traffic, which can improve both security and network organization. It is also possible to use a single physical interface for both management and VM traffic, depending on your environment:
Proxmox VE network architecture with separate management and virtual machine network interfaces
Example Proxmox VE network architecture using separate physical interfaces for management and virtual machine traffic.
  • This second diagram shows the logical network configuration: each virtual machine is connected to the vmbr1 Linux bridge for VM traffic, while the Proxmox VE management interface uses the vmbr0 Linux bridge:
Proxmox VE network configuration with vmbr0 for management and vmbr1 for virtual machines
Proxmox VE network configuration with vmbr0 dedicated to management and vmbr1 used for virtual machine traffic.

Storage Configuration

For my storage setup, I wanted to use ZFS, so I configured my Dell PERC controller in HBA mode. This allows Proxmox VE 9 and ZFS to access the disks directly, which is the recommended approach for getting the best reliability and data integrity from the ZFS filesystem.

During installation, I created a ZFS RAID1 (mirror) for the system disks, where the Proxmox VE hypervisor is installed. I then configured the four remaining disks as a ZFS RAID10-style storage pool dedicated to virtual machine storage.

In practice, ZFS works best when it has direct access to the physical disks rather than sitting on top of a hardware RAID layer. This allows ZFS to manage redundancy, caching, and data integrity itself. You can read more in the official documentation: https://pve.proxmox.com/wiki/ZFS_on_Linux.

If you are using a Dell PERC controller and plan to use ZFS, it is worth checking whether your card supports switching from RAID mode to HBA mode. Dell provides a guide here: Dell: Convert RAID Mode to HBA Mode.

  • Example: switching a Dell PERC H730 controller from RAID mode to HBA mode before deploying Proxmox VE 9 with ZFS:
Dell PERC H730 controller option to switch from RAID mode to HBA mode for ZFS with Proxmox VE 9
Example of a Dell PERC H730 controller being switched from RAID mode to HBA mode for a Proxmox VE 9 installation using ZFS.
  • Example of a ZFS storage layout in a Proxmox VE 9 environment, with a mirrored system pool and a separate RAID10-style pool for virtual machine storage:
Proxmox VE 9 ZFS storage layout with RAID1 system disks and RAID10-style virtual machine storage
Example ZFS storage layout for Proxmox VE 9: a mirrored system pool for the hypervisor and a separate RAID10-style pool for virtual machine storage.

Installing Proxmox VE 9

Once the installation media is ready, you can start the Proxmox VE 9 installation. The graphical installer guides you through the main configuration steps, including storage, localization, administrator credentials, and network settings.

  • Boot from your prepared installation media. When the Proxmox VE welcome menu appears, select Install Proxmox VE (Graphical) to start the guided installation:
Proxmox VE 9 boot menu with the Install Proxmox VE Graphical option
Select Install Proxmox VE (Graphical) from the Proxmox VE 9 boot menu to start the graphical installer.
  • Accept the End User License Agreement (EULA) by clicking I Agree to continue:
Proxmox VE 9 installer End User License Agreement screen
Accept the Proxmox VE End User License Agreement to continue with the installation.
  • On the Target Harddisk screen, click Options to configure the storage layout for the Proxmox VE 9 installation:
Proxmox VE 9 installer target disk selection screen
Open the storage options from the Target Harddisk screen to configure the Proxmox VE 9 system disks.
  • In the Hard Disk Options window, select ZFS (RAID1) and choose the two disks that will host the Proxmox VE 9 system. Set the remaining disks to Do not use so they remain available for a separate VM storage pool after installation:
Proxmox VE 9 installer configuring a ZFS RAID1 mirror for the system disks
Configure a ZFS RAID1 mirror for the Proxmox VE 9 system disks and leave the remaining drives unused for later VM storage configuration.
  • Select your country, time zone, and preferred keyboard layout:
Proxmox VE 9 installer location, time zone, and keyboard layout selection
Configure the country, time zone, and keyboard layout for the Proxmox VE 9 system.
  • Set a strong password for the root account and enter an email address for system and administrative notifications:
Proxmox VE 9 installer root password and administrator email configuration
Configure the root password and administrator email address for Proxmox VE 9.
  • Select the physical network interface that will be used for management, then configure the hostname, IP address, gateway, and DNS server:
Proxmox VE 9 installer management network configuration with hostname IP gateway and DNS settings
Configure the Proxmox VE 9 management interface, including the hostname, IP address, gateway, and DNS server.
  • Review the installation summary and verify the selected storage, location, network, and administrator settings. If everything is correct, click Install to start the Proxmox VE 9 installation:
Proxmox VE 9 installer summary screen before starting the installation
Review the Proxmox VE 9 installation settings before starting the installation process.
  • After the installation completes and the server reboots, the console displays the URL of the Proxmox VE web interface. By default, the management interface is available over HTTPS on port 8006:
Proxmox VE console displaying the HTTPS web interface URL on port 8006
The Proxmox VE console displays the management web interface URL, accessible over HTTPS on port 8006.

Connecting to the Web Interface

  • Open a web browser and connect to the Proxmox VE administration interface using the management IP address configured during installation. Use https:// and port 8006, for example https://192.168.1.100:8006. Your browser may display a warning because Proxmox VE uses a self-signed certificate by default on a fresh installation. On the login screen, select Linux PAM standard authentication as the realm, then sign in with the root account and the password configured earlier:
Proxmox VE 9 web interface login screen with Linux PAM authentication
Log in to the Proxmox VE 9 web interface with the root account using the Linux PAM authentication realm.

Post Installation

Add the No-Subscription Repository

If you do not have a Proxmox VE subscription, you can disable the enterprise repositories, which require an active subscription, and enable the no-subscription repository instead.

💡 Note: For production environments, a valid Proxmox VE subscription is recommended because it provides access to the Enterprise Repository, where packages undergo additional testing before release, as well as access to official support depending on the subscription level.

  • In the APT Repositories section, select each enabled Enterprise Repository entry and click Disable:
Proxmox VE 9 APT repositories screen with enterprise repositories disabled
Disable the Proxmox VE Enterprise Repository entries if the server does not have an active subscription.
  • Click Add to configure a new APT repository:
Proxmox VE 9 APT repositories screen with the Add Repository button
Click Add in the Proxmox VE 9 APT repositories section to configure a new repository.
  • Select No-Subscription from the repository list, then click Add to enable it:
Proxmox VE 9 repository selection with No-Subscription repository selected
Select the No-Subscription repository and add it to the Proxmox VE 9 APT configuration.
  • Open the Shell and update the package lists, then upgrade the installed packages with the following command:
root@pve:~# apt update && apt full-upgrade
Proxmox VE 9 shell running apt update and apt full-upgrade
Update the package lists and upgrade Proxmox VE 9 after enabling the No-Subscription repository.

Create a ZFS Storage Pool

  • Go to the ZFS section and click Create: ZFS to create a new ZFS storage pool:
Proxmox VE 9 ZFS menu with the Create ZFS storage option
Open the ZFS section in Proxmox VE 9 and click Create: ZFS to create a new storage pool.
  • Select the disks to include in the pool, enter a name, choose the appropriate RAID level, and click Create. In this example, the four disks are configured as a RAID10 ZFS pool for virtual machine storage:
Proxmox VE 9 ZFS RAID10 pool configuration for virtual machine storage
Example of a ZFS RAID10 pool configured in Proxmox VE 9 for virtual machine storage.

Create a Linux Bridge for Virtual Machines

  • Go to the Network section and click Create, then select Linux Bridge:
Proxmox VE 9 network configuration screen for creating a Linux bridge
Create a new Linux Bridge from the Proxmox VE 9 network configuration screen.
  • Enter a name for the bridge, such as vmbr1, and specify the physical network interface to use as the bridge port. In this example, the bridge is associated with eno1. Then click Create:
Proxmox VE 9 Linux bridge configuration using eno1 as the physical bridge port
Configure a Proxmox VE 9 Linux Bridge using eno1 as the physical bridge port for virtual machine traffic.

With your Proxmox VE 9 server now installed and configured, you can continue by learning how to create your first virtual machines or how to set up Proxmox Backup Server to protect your virtual infrastructure.