Proxmox Virtual Environment (PVE, or simply Proxmox) is a
virtualization
In computing, virtualization (abbreviated v12n) is a series of technologies that allows dividing of physical computing resources into a series of virtual machines, operating systems, processes or containers.
Virtualization began in the 1960s wit ...
platform designed for the provisioning of
hyper-converged infrastructure
Hyper-converged infrastructure (HCI) is a software-defined IT infrastructure that virtualizes all of the elements of conventional " hardware-defined" systems. HCI includes, at a minimum, virtualized computing (a hypervisor), software-defined ...
.
Proxmox allows deployment and management of
virtual machine
In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
s and
containers
A container is any receptacle or enclosure for holding a product used in storage, packaging, and transportation, including shipping.
Things kept inside of a container are protected on several sides by being inside of its structure. The term ...
. It is based on a modified
Debian
Debian () is a free and open-source software, free and open source Linux distribution, developed by the Debian Project, which was established by Ian Murdock in August 1993. Debian is one of the oldest operating systems based on the Linux kerne ...
LTS kernel. Two types of virtualization are supported: container-based with
LXC
Linux Containers (LXC) is an operating system-level virtualization method for running multiple isolated Linux systems (containers) on a control host using a single Linux kernel.
The Linux kernel provides the cgroups functionality that allows l ...
(starting from version 4.0 replacing
OpenVZ
OpenVZ (Open Virtuozzo) is an operating-system-level virtualization technology for Linux. It allows a physical server to run multiple isolated operating system instances, called containers, virtual private servers (VPSs), or virtual environments ...
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
The GNU Affero General Public License (GNU AGPL) is a free, copyleft license published by the Free Software Foundation in November 2007, and based on the GNU GPL version 3 and the ''Affero General Public License'' (non-GNU).
It is intended fo ...
, 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
Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the Kernel (operating system), kernel to function as a hypervisor. It was merged into the Mainline Linux, mainline Linux kernel i ...
(KVM) for virtual machines and
LXC
Linux Containers (LXC) is an operating system-level virtualization method for running multiple isolated Linux systems (containers) on a control host using a single Linux kernel.
The Linux kernel provides the cgroups functionality that allows l ...
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
The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed Directory service, directory information services over an Internet Protocol (IP) networ ...
or
Active Directory
Active Directory (AD) is a directory service developed by Microsoft for Windows domain networks. Windows Server operating systems include it as a set of processes and services. Originally, only centralized domain management used Active Direct ...
.
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
High availability (HA) is a characteristic of a system that aims to ensure an agreed level of operational performance, usually uptime, for a higher than normal period.
There is now more dependence on these systems as a result of modernization ...
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
SQLite ( "S-Q-L-ite", "sequel-ite") is a free and open-source relational database engine written in the C programming language. It is not a standalone app; rather, it is a library that software developers embed in their apps. As such, it ...
engine.
Another HA-related element in PVE is the distributed file system Ceph, which can be used as a shared storage for guest machines.
There is also an independent tool available for rebalancing virtual machines and containers between nodes, called Prox Load Balancer (ProxLB).
Virtual Appliances
Proxmox VE has pre-packaged server software appliances
A software appliance is a software application combined with just enough operating system (JeOS) to run optimally on industry-standard hardware (typically a server) or in a virtual machine. It is a software distribution or firmware that impleme ...
which can be downloaded via the GUI.
See also
* Comparison of platform virtualization software
Platform virtualization software, specifically emulators and hypervisors, are software packages that emulate the whole physical computer machine, often providing multiple virtual machines on one physical platform. The table below compares basic ...
* Kernel-based Virtual Machine
Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the Kernel (operating system), kernel to function as a hypervisor. It was merged into the Mainline Linux, mainline Linux kernel i ...
(KVM)
* oVirt
References
External links
*
{{Authority control
Hyper-converged infrastructures
2008 software
Debian-based distributions
Free software programmed in Perl
Free virtualization software
Linux distributions
Perl software
Software using the GNU Affero General Public License