# Proxmox Virtual Environment

Proxmox Virtual Environment (PVE) is a virtualization platform designed for the provisioning of hyper-converged infrastructure.
Proxmox allows deployment and management of virtual machines and containers. It is based on a modified Debian LTS kernel. 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), and full virtualization with KVM.
It includes a web-based management interface. There is also a mobile application available for controlling PVE environments.
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.
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.

## 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. It also integrates out-of-the-box-tools for configuring high availability between servers, software-defined storage, networking, and disaster recovery.
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. Since PVE 7.3 there is an experimental feature for migration between unrelated nodes in different clusters.
To authenticate users to the web GUI, Proxmox can use its own internal authentication database, PAM, OIDC, LDAP or Active Directory. Multi-factor authentication is also available using TOTP, WebAuthn, or YubiKey OTP.
Since PVE 8.1 there is a full Software-Defined Network (SDN) stack implemented and is compatible with Secure Boot.
Guest machine backups can be done using the included standalone vzdump tool. PVE can also be integrated with a separate Proxmox Backup Server (PBS) using a web GUI, or with the text-based Proxmox Backup Client application.
Since PVE 8, along with the standard GUI installer, there is a semi-graphic (TUI) installer integrated into the ISO image. From PVE 8.2 it is possible to make automatic scripted installations.

### High-Availability Cluster

Proxmox VE (PVE) can be clustered across multiple server nodes.
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. If a Proxmox node becomes unavailable or fails, the virtual machines can be automatically moved to another node and restarted. The database and FUSE-based Proxmox Cluster file system (pmxcfs) makes it possible to perform the configuration of each cluster node via the Corosync communication stack with SQLite engine.
Another HA-related element in PVE is the distributed file system Ceph, which can be used as a shared storage for guest machines.

### Virtual Appliances

Proxmox VE has pre-packaged server software appliances which can be downloaded via the GUI.