Proxmox – Opensource KVM Hypervisor

Et alternativ til VMWare Esxi, Xen, XenServer, HyperV. En kort guide til hvordan det installeres og du får de første VM’er op og køre.

Jeg har været med på virtualiseringsbølgen siden årtusinde skiftet. Jeg har brugt det meste af min tid med VMware. Både arbejdsmæssigt og privat. Mit første server miljø jeg lavede arbejdsmæssigt var en ESX 1.5 installation omkring 2002. Herefter var jeg solgt, virtualisering var vejen frem. VMware var jeg samtidigt utrolig glad for, og er det stadig. Jeg har kørt VMware Workstation på mine pc’er indtil for et par år siden, hvor jeg skiftede til HyperV.

Mit test miljø har indtil for et par måneder siden bestået af en ESXi Dell server koblet til et Synology NAS, og det har fungeret fint, bare var bare ved at være for langsomt. Og når jeg er helt ærlig overfor mig selv, så har jeg de seneste år også brugt min lokale VMware/HyperV eller Azure til at teste på.

Denne gang er miljøet tiltænkt produktion af ikke kritiske hjemmesider jeg driver privat. Samt et par andre services. Til formålet har jeg købt en lille mini PC, med Ryzen 5 5625U, 16 GB ram og 512GB SSD. Der var lidt forskellige ting jeg kiggede på da jeg skulle have pc’en. Det vigtigste, i disse tider med dyr strøm, var at den var relativ hurtig med med et lavt strømforbrug.

Ryzen 5625U har TDP på 15W, og svinger mellem 10-15W når den er idle, og peaker på ca. det dobbelt under load. Mens den har 14.565 på Average CPU benchmark test.

Jeg ville gerne have haft med minimum 2 netkort, 32GB ram og 1TB disk, men det blev hurtigt for dyrt. Jeg købte dog et USB-C netkort med, så må jeg se om det virker ordentligt.

Installation af Proxmox

  1. Hent Iso af Proxmox
  2. Hent Rufus – Er software til at lave USB sticks ud fra ISO’er.
  3. Start Rufus, vælg image og lave USB stick klar med softwaren.
  4. Indsæt USB på PC der skal køre Proxmox, boot på USB’en, og følg vejledningen.

Der er et par ting der skal ændres efter opstarten af Proxmox, det kan gøres både i GUI og i konsollen. Gå ind på URL’en der står i konsollen på maskinen når Proxmox er færdig installeret.

Ændringer inden vi går i gang

Vælg proxmox serveren i venstre side, klik updates->repositories. Fjern V’et i “deb – https://enterprise.proxmox.com/debian/pve under overskriften /etc/apt/sources.list.d/pve-enterprise.list – Alternativt i konsollen “nano /etc/apt/sources.list.d/pve-enterprise.list” her sættes # foran linje 1.

Klik derudover på add og vælg “No-subscription” og tryk Add. Alternativt i konsollen: “nano /etc/apt/sources.list” her indsættes “bullseye pve-no-subscription”

Under Updates klik >_ Upgrade – Alternativt kan der køres apt-get update og apt dist-upgrade i konsollen.

Hvis der skal bruges VLAN, gå under System->Network dobbeltklik netkortet og vælg VLAN aware. Der kan altid rettes i /etc/network/interfaces til kun at lytte på visse VLAN’s for visse netkort.

Når der oprettes en virtuel maskine, sættes VLAN Tag under Hwardware->Network Device.

Skal du have en virtuel Windows maskine, så skal du ind og hente VirtIO drivers på den side kan der også læses hvordan det installeres.

Sidst, oprettes en pool. Vælg Datacenter->Permissions->Pools. Opret en pool, kan den f.eks. StdPool.

Hvordan får man en ISO fil over på Proxmox serveren?

Under local vælges ISO Images, og her kan enten uploades en iso, eller også kan den hente iso’en direkte fra en URL.

Første Virtuelle maskine

Højreklik på Proxmox serveren i venstre side, og vælg “Create VM”. Giv den virtuelle et navn, sæt ressource pool til StdPool, vælg om den skal starte når Proxmox booter og tryk next.

OS: Vælg ISO image der skal laves et virtuel ud fra.

System: Qemu Agent er for at Proxmox kan få lidt mere info tilbage fra systemet. Svarer lidt hen af VMware tools. Sig ja til den, men skal stadig installeres i OS’et via en “sudo apt-get install qemu-guest-agent”, og en genstart.

Disk: Vælg hvor meget disk den virtuelle skal have.

CPU: Vælg antal cores, om der skal være limit på osv. NUMA giver ingen mening med mindre du har mere end en CPU i.

Memory: Hvor meget ram vm’en skal have til rådighed. Ballooning er om den kan aflevere ram tilbage hvis den ikke bruger det.

Network: Vælg netkortet, sæt VLAN Tag osv.

Så er der kun Confirm tilbage og Finish. Evt. med en “Start after created”.

Der er en Console under den virtuelle maskine, så det er til at komme i gang med.

Afsluttende ord

Det var en hurtig intro til Proxmox, og med at få den første maskine i luften. Til en hjemmemiljø fungerer det faktisk utrolig godt. Der er mulighed for cluster, flytte images imellem hosts, snapshots og meget mere. Jeg er ikke sikker på jeg havde valgt det til produktion i et stort Enterprise miljø, der havde jeg stadig valgt VMware vSphere. Men prisen er dog en klar bonus. Og til mit miljø var jeg faktisk tæt på at have valgt at gå ESXi vejen, men kunne læse at folk havde oplevet lidt problemer når de opdaterede ESXi at det netkort jeg har i min maskine ikke længere virkede. Og der kunne gå måneder inden der var fixes til det. Måske det ikke er et problem længere, men Proxmox stod også højt på min liste for at blive testet af.

Som nævnt i starten var tanken at det skulle være et produktionsmiljø hjem til. Hvor den kommer til at stå på DMZ med Docker, og services kørende i Docker. Nu er der 2 netkort i maskinen og ved at låse en VM med hver deres netkort, og sætte dem på hver deres port i firewallen. Det gør at jeg kan køre produktion på den ene maskine, teste på den anden, men hvor det stadig er låst inde, så det kun kan tilgås fra det lokale net.

Min umiddelbare plan er at miljøet kun kommer til at køre nogle Ubuntu Server instanser med Docker, og alt andet bliver lavet med docker containere.

Men nu når det er oppe at køre, så ville jeg gerne have endnu et par servere, samt købe VMware VMUG EVALExperience for det ligner at man får meget for pengene. Men igen, så er der alt det der med tiden, for jeg har rigtig mange flere projekter jeg gerne vil lave med Docker. For ikke at tale om det HW jeg har købt ind med Raspberry Pi Pico, Arduino’er osv. fordi jeg også har planer der.

Det blev vist lige lidt for meget en ene tale. Men hvis du er nået så langt, så hav en fantastisk dag.