Waarom je servers virtualiseren met Proxmox

Proxmox VE is een open source virtualisatieplatform voor virtuele machines en containers. Dit artikel geeft een high-level overzicht van PVE.

Waarom je servers virtualiseren met Proxmox

De kans is groot dat je als systeembeheerder als eens in aanraking bent gekomen met VMware ESXi of Microsoft Hyper-V als virtualisatieplatform. Deze platformen zijn in de bedrijfswereld misschien wel het meest verspreid voor het hosten van virtuele machines, maar zijn zeker niet de enige in hun soort.

Proxmox Virtual Environment (kortweg Proxmox VE) is een open source virtualisatieplatform, sinds 2008 ontwikkeld door het Oostenrijkse Proxmox Server Solutions en vrijgegeven onder de GNU AGPL licentie. Het ondersteunt zowel VM's (virtuele machines) op basis van KVM (Linux Kernel-based Virtual Machine) alsook containers op basis van Linux Container LXC. Proxmox VE is geen "gratis alternatief" voor ESXi of Hyper-V, maar een stevig, volwassen en onafhankelijk platform voor het hosten van VM's en containers.

Met Proxmox VE kan je zowel Linux als Windows installaties draaien.

Hardware

Proxmox VE draait op Intel EMT64 of AMD64 CPU's met ondersteuning voor Intel VT of AMD-V. Er worden geen vereisten aan de hardware gesteld. In een testomgeving kan je aan de slag met een eenvoudige NUC en in een productieomgeving kan je server-grade hardware gebruiken. Wanneer de hardware onderdelen ondersteund worden door Debian Linux, zal Proxmox VE erop werken (pro-top: kies steeds Intel netwerkkaarten).

Om de virtuele omgeving te schalen, kunnen meerdere servers (nodes) ook in een cluster geplaatst worden. Zo kan de load van de VM's en containers verdeeld worden over maximaal 32 nodes in het cluster. Ook kan zo hardware falen opgevangen worden door live migratie van VM's; dus zonder downtime.

Qua opslag kan zowel gebruik gemaakt worden van de interne schijven van de server in een LVM group of ZFS, maar ook van centrale storage zoals bijvoorbeeld Ceph RBD, GlusterFS of een NFS share.

Hyperconverged Infrastructure (HCI)

HCI is niets nieuw, maar kent de laatste jaren een sterke groei in een kmo omgeving omwille van de kostenbesparing. Een traditionele high-availability omgeving bestaat bijvoorbeeld uit een cluster van 3 servers voor de compute nodes (de servers waarop de VM's draaien) en uit een cluster van 3 servers voor de centrale opslagruimte. Dat wilt zeggen: 6 fysieke servers. HCI combineert deze twee clusters tot een cluster waardoor de compute nodes en de opslag op dezelfde servers draaien.

Binnen Proxmox VE kan dat gedaan worden met behulp van Ceph. Zo kan je perfect een cluster van meerdere Proxmox VE nodes met geintegreerd Ceph cluster voor gedeelde opslagruimte opzetten.

Interesse in meer info over Hyperconverged Infrastructure in Proxmox VE? Abonneer je dan op deze blog, in een toekomstig blogartikel gaan we hier dieper op in.

Licenties en het verdienmodel

Proxmox VE is vrijgegeven onder de open source licentie GNU AGPL v3 en is gratis te downloaden en te gebruiken. Hoe genereert het bedrijf dan geld om zijn zijn ontwikkelaars te betalen? Wel, dat zit zo:

Proxmox VE gebruikt als besturingssysteem Debian Linux. In de installatie is de gratis Proxmox "community" repository (repo) inbegrepen. Tegen betaling kan ook een "enterprise" repo gebruikt worden. Het verschil tussen de "community" en de "enterprise" repository is tweeledig: de updates van Proxmox VE worden eerst in de "community" repo vrijgegeven en pas enkele weken nadien in de "enterprise" repo. Zo kan de "community" repo dus nog de laatste schoonheidsfoutjes bevatten. Al wordt de "community" repo zeker niet als testplatform gezien, het is het "beta" stadium dan al gepasseerd. Daarnaast bevatten sommige "enterprise" abonnementen ook ondersteuningsuren waarmee je de (zeer bekwame) helpdesk kan inschakelen als je tegen problemen oploopt.

Tussen de updates van "community" en de "enterprise" repo zitten dus enkele weken verschil, maar qua functionaliteit zijn ze 1-op-1 identiek. De "enterprise" variant bevat dus niet meer functionaliteiten dan de "community" variant. In een professionele omgeving kies je dus best voor de "enterprise" repo, puur omwille van de zekerheid van stabiliteit. Alle nodes in een cluster moeten over dezelfde licentie beschikken, je kan ze niet mixen.

De "enterprise" licentie betaal je per bezette CPU socket. Je wordt dus niet op het aantal cores afgerekend, maar op het aantal bezette CPU sockets, onafhankelijk of je een Intel i3 1215U met 6-cores gebruikt of een AMD EPYC Milan 7643 met 48 cores. Sinds vele jaren en tot op dit moment zijn er slechts vier licentiemodellen, waardoor je niet hoeft te grasduinen doorheen tal van licenties.

Beheer

Voor het beheer van Proxmox VE heb je geen speciale software of een management server nodig. Iedere Proxmox VE installatie bevat een webgebaseerde beheerdersinterface waarmee je die specifieke server en het volledige cluster kan beheren. De Proxmox VE omgeving kan ook volledig via de command line en via API's beheerd worden, wat een verregaande automatisatie mogelijk maakt.

Het upgraden van een Proxmox VE installatie is daardoor ook eenvoudig. Iedere upgrade komt met duidelijke upgrade instructies, die vaak niet meer inhouden dan de upgrade uitvoeren via de webinterface. Wanneer je een cluster hebt, blijven alle VM's ook steeds online door de live-migratie mogelijkheid. Ook major updates van het Debian OS, bijvoorbeeld een upgrade van Debian 10 naar Debian 11, worden perfect en eenvoudig afgehandeld.

Backups en snapshots

Van iedere VM kunnen snapshots genomen worden. Proxmox VE komt ook met een geïntegreerde backup/restore oplossing om bijvoorbeeld dagelijks een back-up van de VM's en containers te maken. Wil je nog meer controle over de back-ups en een full-blown back-up oplossing, dan loont het de moeite om te kijken naar Proxmox BS (Proxmox Backup Server). Proxmox BS wordt op een externe server geïnstalleerd en doet dienst als een centrale back-up oplossing.

Interesse in meer info over Proxmox Backup Server? Abonneer je dan op deze blog, in een toekomstig blogartikel gaan we hier dieper op in.

Beveiliging

De cluster nodes communiceren onderling via het beveiligde SSH. Proxmox VE komt met een geïntegreerde firewall op drie niveau's: cluster, host en VM. Op elk niveau kunnen specifieke firewall regels ingesteld worden met ondersteuning voor IPv4 en IPv6. Inloggen op de webinterface ondersteuning ook tweestapsverificatie via bijvoorbeeld Yubikeys.