Proxmox Virtual Environment
Linux distribution for server virtualization
From Wikipedia, the free encyclopedia
Proxmox Virtual Environment (PVE, or simply Proxmox) is a virtualization platform designed for the provisioning of hyper-converged infrastructure.
| Proxmox Virtual Environment | |
|---|---|
Proxmox VE 8.0 administration interface screenshot | |
| Developer | Proxmox Server Solutions GmbH |
| Written in | Perl,[1] Rust[2] |
| OS family | Linux (Unix-like) |
| Working state | Current |
| Source model | Free and open source software |
| Initial release | 15 April 2008 |
| Latest release | 9.2[3] |
| Latest preview | 9.0 beta1[4] / 18 July 2025 |
| Repository | |
| Available in | 25 languages[5] |
| Update method | APT |
| Package manager | dpkg |
| Supported platforms | AMD64 |
| Kernel type | Monolithic (Linux) |
| Userland | GNU |
| Default user interface | Web-based |
| License | GNU Affero General Public License[6] |
| Official website | www |
Proxmox allows deployment and management of virtual machines and containers.[7][8] It is based on Debian GNU/Linux[9] and uses a modified Ubuntu LTS kernel.[10] Two types of virtualization are supported: container-based with LXC (starting from version 4.0 replacing OpenVZ used in version up to 3.4, included[11]), and full virtualization with KVM.[12] New releases are made approximately every two to four months, with major updates taking longer.
It includes a web-based management interface.[13][14] There is also a mobile application available for controlling PVE environments.[15]
Proxmox is released under the terms of the GNU Affero General Public License, version 3.
History
Development of Proxmox VE started in 2005 when Dietmar Maurer and Martin Maurer, two Linux developers, discovered OpenVZ had no backup tool or management GUI. KVM was also appearing at the same time in Linux, and was added shortly afterwards.[16]
The first public release took place in April 2008. It supported container and full virtualization, managed with a web-based user interface similar to other commercial offerings.[17]
Features
Proxmox VE is an open-source server virtualization platform to manage two virtualization technologies: Kernel-based Virtual Machine (KVM) for virtual machines and LXC for containers - with a single web-based interface.[12] It also integrates out-of-the-box-tools for configuring high availability between servers, software-defined storage, networking, and disaster recovery.[18]
KVM Virtualization
Proxmox VE includes a Linux kernel that runs directly on hardware as a hypervisor (also called a Virtual Machine Monitor) using KVM. Starting from Linux kernel version 2.6.21, the kernel provides the paravirt ops interface as a framework for virtualization applications. The advantage of KVM is the ability to run virtually any x86 operating system without modification under centralized management. This mode is referred to as full virtualization or Hardware Virtual Machine (HVM). Hardware support for virtualization via AMD-V or Intel VT is required on the host system for HVM virtualization.
LXC Containers
From version 4.0 onward, Linux Containers (LXC) replace the previously used OpenVZ containers (used through Proxmox VE 3.4). Unlike virtual machines, containers have a lower memory footprint; however, the guest system is limited to Linux, since containers share the host kernel. LXC in Proxmox VE 4.x and later supports storage plugins including Ceph, ZFS (local or via iSCSI), NFS, GlusterFS, iSCSI, Sheepdog, and local storage (directories or LVM). DRBD9 is no longer directly supported since Proxmox 4.4 due to licensing issues and can only be integrated via external plugins.
OpenVZ (legacy)
Through version 3.4, Proxmox VE used OpenVZ as its container technology. OpenVZ uses a single shared kernel for all container instances, providing lower memory and CPU overhead compared to KVM. However, only Linux guest systems are supported, and guests cannot load their own kernel modules, as the kernel is shared with the host system. To simplify administration, Proxmox VE/OpenVZ provided templates that automated the necessary adjustments to the guest system. All running containers benefit immediately from a host kernel update, potentially reducing administrative overhead. When upgrading a Proxmox cluster from version 3.4 or earlier, existing OpenVZ containers can be converted to LXC.
Storage
PVE supports local storage media such as hard drives (HDD) and solid-state drives (SSD), as well as network-based storage including SAN and NAS, accessible via NFS or as block devices over iSCSI. For local storage management, LVM is used; virtual disk images are stored either in thinly provisioned logical volumes (thin-LVM) or in a filesystem using the qcow2 format standard to QEMU, allowing disk images to be exchanged between virtualization environments at the file level. Both ext4 and the more resource-intensive ZFS are available as host filesystems.
Live Migration
Proxmox VE supports live migration for guest machines between nodes in the scope of a single cluster, which allows smooth migration without interrupting their services.[19] Since PVE 7.3 there is an experimental feature for migration between unrelated nodes in different clusters.[20]
Firewall
PVE provides an iptables-based firewall configurable both at the host system level and individually for each guest system. Firewall rules can be managed through the web interface.
Console Access
The console interface for guest systems — including graphical output and keyboard/mouse input via a virtual KVM switch — is available either through the SPICE protocol or via an HTML5-based implementation of Virtual Network Computing (noVNC). To avoid allocating a separate port for each guest's console interface on the host, encrypted access with authentication is routed through a proxy.
PCIe Passthrough
Since version 5.3, the web interface supports passing individual host hardware components — such as PCIe expansion cards or GPUs — directly to specific guest systems for exclusive access. This requires enabling Intel VT-d or AMD-Vi in the system BIOS.
Authentication
To authenticate users to the web GUI, Proxmox can use its own internal authentication database, PAM, OIDC, LDAP or Active Directory.[21] Multi-factor authentication is also available using TOTP, WebAuthn, or YubiKey OTP.[22]
Since PVE 8.1 there is a full Software-Defined Network (SDN) stack implemented and is compatible with Secure Boot.[23]
Guest machine backups can be done using the included standalone vzdump tool.[24] PVE can also be integrated with a separate Proxmox Backup Server (PBS) using a web GUI,[25] or with the text-based Proxmox Backup Client application.[26]
Since PVE 8, along with the standard GUI installer, there is a semi-graphic (TUI) installer integrated into the ISO image.[21] From PVE 8.2 it is possible to make automatic scripted installations[27] and a wizard for importing VMware guest systems is available.
High-Availability Cluster
Proxmox VE (PVE) can be clustered across multiple server nodes.[28]
Since version 2.0, Proxmox VE offers a high availability option for clusters based on the Corosync communication stack. Starting from PVE 6.0, Corosync 3.x is in use (not compatible with earlier PVE versions). Individual virtual servers can be configured for high availability using the integrated HA manager.[29][30] If a Proxmox node becomes unavailable or fails, the virtual machines can be automatically moved to another node and restarted.[31] The database and FUSE-based Proxmox Cluster file system (pmxcfs[32]) makes it possible to perform the configuration of each cluster node via the Corosync communication stack with SQLite engine.[14]
Another HA-related element in PVE is the distributed file system Ceph, which can be used as a shared storage for guest machines.[33]
There is also an independent tool available for rebalancing virtual machines and containers between nodes, called Prox Load Balancer (ProxLB).[34]
Virtual Appliances
Proxmox VE has pre-packaged server software appliances which can be downloaded via the GUI.[35]
Additional Software
Proxmox Server Solutions offers several products alongside Proxmox VE, some of which integrate directly with it.
Proxmox Backup Server
The Proxmox Backup Server (PBS) allows users to back up virtual machines at configurable intervals using incremental backups: after an initial full backup, only changes relative to the previous backup are stored, enabling backup intervals as short as a few minutes. A separate schedule for full backups can also be configured. Additional features include backup encryption, configurable retention policies, and backup verification jobs. PBS integrates with PVE through the web GUI;[36] a standalone Proxmox Backup Client command-line application is also available for backing up files independently of PVE.[37]
Proxmox Mail Gateway
The Proxmox Mail Gateway can be used independently of Proxmox VE. It provides dedicated spam filtering for email traffic, the ability to block specific senders, and email traffic statistics.[38]
Proxmox Datacenter Manager
At the end of 2024 it was announced that Proxmox Datacenter Manager (PDM) was being developed. Its role is to aggregate management of multiple PVE clusters or hosts, possibly thousands. First release was labelled as alpha, with beta and stable versions expected in 2025.[39] Beta version (0.9), which has been released in September 2025, is lacking notifications and console access for nodes, but allows pulling error logs from nodes and managing updates on them. It enables simple migration of virtual machines and LXC containers between managed nodes.[40]
Trivia
Proxmox VE is used at the Columbus ISS Module — Columbus is a ESA science laboratory module that forms part of the International Space Station (ISS).[41][42]