Proxmox: een VM of LXC-container maken

In de vorige guide hebben we Proxmox geïnstalleerd en de basis goed gezet. In deze handleiding gaan we een stap verder: je eerste VM en LXC-container maken.

Daarbij kijken we ook naar het verschil tussen VM’s en LXC’s, wanneer je welke kiest, hoe je container templates downloadt met de webinterface of pveam, en waar je op moet letten bij CPU, RAM, opslag en netwerk.

Doel

Na deze guide weet je:

  • wat het verschil is tussen een VM en een LXC-container

  • wanneer je beter een VM kiest

  • wanneer een LXC-container logischer is

  • hoe je LXC-templates downloadt

  • hoe je pveam gebruikt

  • hoe je een eerste LXC-container maakt

  • hoe je een eerste VM maakt

  • welke basisinstellingen belangrijk zijn

  • welke veelgemaakte fouten je beter kunt vermijden

Voor wie is deze guide?

Deze guide is bedoeld voor mensen die Proxmox al geïnstalleerd hebben en nu hun eerste systemen willen aanmaken.

Je hoeft nog geen Proxmox-expert te zijn. Basiskennis van Linux, IP-adressen en opslag helpt wel.

VM of LXC: wat is het verschil?

In Proxmox kun je grofweg twee soorten systemen draaien:

  • VM’s

  • LXC-containers

Een VM is een volledige virtuele machine. Die heeft zijn eigen virtuele hardware, eigen kernel en draait alsof het een losse computer is.

Een LXC-container deelt de kernel met de Proxmox-host, maar heeft wel zijn eigen gebruikersruimte, bestanden, processen en netwerkconfiguratie. Een LXC is daardoor lichter dan een VM.

Kort gezegd:

VM: meer isolatie, zwaarder, flexibeler voor volledige OS-installaties.
LXC: lichter, sneller, ideaal voor veel Linux-services.

Wanneer kies je een VM?

Kies meestal een VM voor:

  • Windows

  • OPNsense of pfSense

  • een aparte Docker-host

  • software die een eigen kernel verwacht

  • applicaties met speciale kernelmodules

  • situaties waar isolatie extra belangrijk is

  • testomgevingen waar je een volledige server wilt nabootsen

  • appliances die als ISO worden geleverd

Voorbeelden:

  • Windows Server

  • OPNsense-router

  • Ubuntu Server als Docker-host

  • Home Assistant OS

  • TrueNAS

  • testserver voor Linux-installaties

Wanneer kies je een LXC-container?

Kies meestal een LXC-container voor lichte Linux-services.

Voorbeelden:

  • kleine webapplicaties

  • reverse proxy

  • DNS-tools

  • monitoring

  • simpele databases

  • kleine selfhosted services

  • Linux-tools die geen volledige VM nodig hebben

LXC’s zijn vaak sneller op te starten, gebruiken minder RAM en zijn makkelijker compact te houden.

Let op: niet alles werkt ideaal in een LXC. Docker in een LXC kan bijvoorbeeld, maar vraagt extra instellingen zoals nesting. Voor beginners is een aparte VM als Docker-host soms eenvoudiger en voorspelbaarder.

Templates en ISO’s: belangrijk verschil

Voor LXC-containers gebruik je container templates.

Voorbeelden:

  • Debian template

  • Ubuntu template

  • Alpine template

Voor VM’s gebruik je meestal ISO-bestanden.

Voorbeelden:

  • Debian installer ISO

  • Ubuntu Server ISO

  • Windows ISO

  • OPNsense ISO

Dus:

LXC-container: template downloaden
VM: ISO uploaden of downloaden

LXC-templates downloaden via de webinterface

Ga in Proxmox naar je storage waar templates op mogen staan.

Meestal is dat:

Node → local → CT Templates

Klik daarna op:

Templates

Kies bijvoorbeeld:

  • Debian

  • Ubuntu

  • Alpine

Klik op Download.

Daarna is de template beschikbaar bij het maken van een nieuwe container.

Voor beginners raad ik meestal Debian of Ubuntu aan. Alpine is heel licht, maar soms net wat minder beginner-vriendelijk.

LXC-templates downloaden via terminal met pveam

Proxmox heeft ook een commandline-tool voor container templates: pveam.

Update eerst de lijst met beschikbare templates:

pveam update

Toon alle beschikbare templates:

pveam available

Toon alleen systeemtemplates:

pveam available --section system

Zoek bijvoorbeeld naar Debian:

pveam available | grep debian

Of naar Ubuntu:

pveam available | grep ubuntu

Bekijk welke templates al op je storage staan:

pveam list local

Download een template naar de storage local.

Voorbeeld:

pveam download local debian-12-standard_12.7-1_amd64.tar.zst

Let op: de exacte template-naam verandert na verloop van tijd. Gebruik daarom eerst pveam available om de actuele naam te vinden.

Als je een andere storage gebruikt dan local, vervang je local door de naam van jouw storage.

Eerste LXC-container maken via de webinterface

Klik rechtsboven op:

Create CT

Daarna loop je de stappen door.

General

Vul in:

CT ID: laat Proxmox automatisch kiezen of kies zelf een nummer
Hostname: bijvoorbeeld test-debian
Password: sterk wachtwoord
SSH public key: optioneel, maar aanbevolen

Als je SSH-keys gebruikt, plak dan je public key in het veld SSH public key.

Template

Kies de storage waar je template staat.

Selecteer bijvoorbeeld een Debian- of Ubuntu-template.

Disks

Kies hoeveel opslag de container krijgt.

Voor een kleine testcontainer is 8 tot 16 GB vaak genoeg.

Voor echte applicaties hangt dit af van de data die erin komt.

CPU

Begin klein.

Voor lichte services is 1 of 2 cores vaak genoeg.

Je kunt later meestal eenvoudig uitbreiden.

Memory

Voor een simpele Linux-container is 512 MB tot 1 GB vaak genoeg.

Voor zwaardere services kies je meer.

Voorbeeld:

Kleine service: 512 MB of 1 GB
Webapp/database: 1 tot 2 GB
Zwaardere applicatie: afhankelijk van de software

Network

Kies meestal bridge:

vmbr0

Geef de container een IP-adres via DHCP of stel handmatig een vast IP in.

Voor servers is een vast IP of DHCP-reservatie meestal het handigst.

Voorbeeld handmatig:

IPv4: 192.168.2.50/24
Gateway: 192.168.2.1

DNS

Gebruik je router, interne DNS-server of publieke resolver.

Bijvoorbeeld:

192.168.2.1

Of je interne DNS-server.

Confirm

Controleer alles en klik op Finish.

Start daarna de container.

Inloggen op je LXC-container

Via Proxmox kun je de console openen.

Je kunt ook SSH gebruiken als SSH in de container geïnstalleerd en gestart is.

Voor Debian/Ubuntu kun je in de container basisupdates draaien:

apt update

apt upgrade -y

Installeer handige tools:

apt install -y sudo curl wget nano htop ca-certificates

Maak eventueel een normale gebruiker aan:

adduser moofz

usermod -aG sudo moofz

Eerste LXC-container maken via pct

Je kunt containers ook via de terminal maken met pct.

Voor beginners is de webinterface duidelijker, maar het is handig om te weten dat pct bestaat.

Bekijk beschikbare templates op local:

pveam list local

Een voorbeeld van een LXC maken:

pct create 101 local:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst --hostname test-debian --memory 1024 --cores 1 --rootfs local-lvm:8 --net0 name=eth0,bridge=vmbr0,ip=dhcp --unprivileged 1 --features nesting=0

Let op: pas template-naam, storage, container-ID, bridge en grootte aan jouw omgeving aan.

Start de container:

pct start 101

Open de console:

pct enter 101

Stop de container:

pct stop 101

Bekijk de configuratie:

pct config 101

Unprivileged of privileged LXC?

Proxmox maakt containers bij voorkeur unprivileged. Dat is veiliger, omdat root in de container niet direct root op de Proxmox-host is.

Gebruik standaard:

unprivileged: aan

Kies alleen privileged als je echt weet waarom je dat nodig hebt.

Sommige toepassingen, mounts of hardwaretoegang kunnen extra configuratie vereisen bij unprivileged containers. Dat is normaal, maar begin veilig.

Eerste VM maken via de webinterface

Voor een VM heb je meestal een ISO nodig.

Ga naar:

Node → local → ISO Images → Upload

Upload bijvoorbeeld een Debian of Ubuntu Server ISO.

Klik daarna rechtsboven op:

Create VM

General

Vul in:

VM ID: automatisch of zelf kiezen
Name: bijvoorbeeld ubuntu-test

OS

Kies de ISO die je hebt geüpload.

Voor Linux kies je meestal type Linux.

System

Laat voor je eerste VM de meeste opties standaard.

Vaak is dit prima:

Machine: standaard of q35
BIOS: SeaBIOS of OVMF, afhankelijk van je doel
SCSI Controller: VirtIO SCSI single

Voor moderne Linux-VM’s werkt VirtIO meestal goed.

Disks

Kies storage en diskgrootte.

Voor een kleine Linux-testserver is 16 tot 32 GB vaak genoeg.

Zet eventueel SSD discard aan als je storage dat ondersteunt.

CPU

Begin met 1 of 2 cores.

Voor CPU type kun je vaak host gebruiken voor betere performance, vooral in homelabs.

Memory

Voor een kleine Linux-VM:

RAM: 1 tot 2 GB

Voor zwaardere applicaties meer.

Network

Kies:

Bridge: vmbr0
Model: VirtIO

VirtIO geeft meestal de beste performance, maar sommige OS’en hebben drivers nodig.

Confirm

Controleer alles en maak de VM aan.

Start de VM en open de console om het OS te installeren.

QEMU Guest Agent installeren

Voor VM’s is de QEMU Guest Agent handig. Daarmee kan Proxmox beter communiceren met de VM.

In een Debian/Ubuntu VM installeer je die met:

sudo apt install qemu-guest-agent

Zet de service aan:

sudo systemctl enable --now qemu-guest-agent

Zet daarna in Proxmox bij de VM de optie QEMU Guest Agent aan.

Herstart eventueel de VM.

Daarna kan Proxmox beter informatie ophalen, zoals IP-adressen, en netter shutdowns uitvoeren.

VM maken via qm

Net als bij containers kun je VM’s ook via de terminal maken met qm.

Voor beginners is de webinterface vaak makkelijker, maar qm is handig voor scripting.

Voorbeeldcommando’s:

qm list

qm config 100

qm start 100

qm shutdown 100

qm stop 100

Een volledige VM via CLI aanmaken kan ook, maar omdat storage, ISO-pad en netwerk per setup verschillen, is de GUI voor de eerste VM meestal duidelijker.

Basiskeuzes voor CPU, RAM en disk

Begin niet te groot.

Je kunt resources later vaak uitbreiden.

Voor een kleine LXC

CPU: 1 core
RAM: 512 MB tot 1 GB
Disk: 8 tot 16 GB

Voor een kleine Linux-VM

CPU: 1 tot 2 cores
RAM: 1 tot 2 GB
Disk: 16 tot 32 GB

Voor een Docker-host

CPU: 2 tot 4 cores
RAM: 4 GB of meer
Disk: afhankelijk van containers en volumes

Voor media of databases

Dat hangt sterk af van de applicatie, opslag en gebruikers.

Meet liever dan gokken. Begin normaal en verhoog als monitoring laat zien dat het nodig is.

Netwerk: DHCP of vast IP?

Voor testmachines is DHCP prima.

Voor servers en services is een vast IP of DHCP-reservatie meestal beter.

Mijn voorkeur:

DHCP-reservatie in je router/DNS-server

Dan beheer je IP-adressen centraal, maar hoeft de VM/container zelf niet handmatig ingesteld te worden.

Voor publieke of belangrijke interne services wil je niet dat het IP ineens verandert.

Nummering en IP-adressen

Een simpele manier om overzicht te houden is om het Proxmox-ID te koppelen aan het IP-adres.

Bijvoorbeeld:

LXC 100 krijgt IP-adres 192.168.2.100
LXC 101 krijgt IP-adres 192.168.2.101
LXC 150 krijgt IP-adres 192.168.2.150

Voor VM’s kun je hetzelfde doen:

VM 200 krijgt IP-adres 192.168.2.200
VM 210 krijgt IP-adres 192.168.2.210

Dit maakt je omgeving makkelijker te begrijpen. Als je in Proxmox container 150 ziet, weet je meteen dat je waarschijnlijk naar 192.168.2.150 moet verbinden.

Een mogelijke indeling:

100-149: basisservices
150-199: applicaties en testcontainers
200-249: VM’s
250-254: infrastructuur, beheer of speciale services

Gebruik dit niet blind als het botst met je DHCP-range. Zorg dat je router of DHCP-server deze adressen niet automatisch aan andere apparaten uitdeelt.

Mijn voorkeur is om deze adressen vast te leggen als DHCP-reservatie of statisch te configureren, en daarnaast een korte lijst bij te houden met ID, hostname, IP-adres en functie.

Voorbeeld:

100npm192.168.2.100 — reverse proxy
110monitoring192.168.2.110 — monitoring
150jellyfin192.168.2.150 — media server
200docker01192.168.2.200 — Docker-host

Welke indeling je ook kiest: kies één systeem en houd je eraan. Dat voorkomt veel zoekwerk later.

Naming: geef duidelijke namen

Gebruik duidelijke hostnames.

Voorbeelden:

  • docker01

  • jellyfin

  • npm

  • monitoring

  • debian-test

  • ubuntu-lab

  • opnsense

Vermijd namen zoals test2, nieuw, server, ding of linuxbak, tenzij het echt tijdelijk is.

Je toekomstige zelf gaat duidelijke namen waarderen.

Backups direct meenemen

Maak na het aanmaken van een belangrijke VM of LXC meteen een backupstrategie.

Controleer:

  • staat deze VM/LXC in een backup job?

  • staat de backup op andere opslag dan de VM zelf?

  • moet de applicatie zelf ook backups maken?

  • weet je hoe je de backup terugzet?

Een Proxmox-backup is handig, maar sommige applicaties hebben daarnaast eigen database- of exportbackups nodig.

Veelgemaakte fouten

Te veel resources geven

Een VM met 8 cores en 16 GB RAM klinkt leuk, maar als je dat voor alles doet, is je host snel vol.

Begin kleiner en schaal op.

Geen QEMU Guest Agent installeren

Bij VM’s mis je dan nuttige integratie met Proxmox.

LXC gebruiken terwijl een VM beter is

Sommige software werkt makkelijker of veiliger in een VM.

Vooral firewalls, appliances en Docker-hosts zijn vaak prettiger als VM.

VM gebruiken voor alles

Dat werkt, maar gebruikt meer resources. Voor lichte Linux-services is LXC vaak efficiënter.

Geen backups instellen

Een VM of container is snel gemaakt, maar ook snel kapot.

Onduidelijke namen gebruiken

Na een paar maanden weet je niet meer wat ubuntu-test-nieuw2 was.

IP-adressen niet documenteren

Zeker met meerdere services wordt dit snel rommelig.

VM of LXC: snelle keuzehulp

Kies een LXC als:

  • het een Linux-service is

  • het lichtgewicht mag zijn

  • je weinig overhead wilt

  • je snel wilt starten

  • je geen speciale kernel nodig hebt

Kies een VM als:

  • je Windows draait

  • je een firewall/router draait

  • je een volledige OS-installatie wilt

  • je Docker eenvoudiger wilt isoleren

  • je maximale compatibiliteit wilt

  • je sterker wilt scheiden van de host

Checklist na aanmaken

Controleer na het maken van een VM of LXC:

  • start het systeem?

  • heeft het netwerk?

  • klopt DNS?

  • kun je updates draaien?

  • kun je SSH gebruiken?

  • staat de hostname goed?

  • heeft het genoeg, maar niet te veel, CPU/RAM/disk?

  • zit het in een backup job?

  • is duidelijk waarvoor het systeem dient?

  • heb je genoteerd welk IP en welke functie het heeft?

Samenvatting

Proxmox maakt het makkelijk om snel VM’s en containers aan te maken, maar een goede basis voorkomt later rommel.

Onthoud:

  • LXC is licht en handig voor veel Linux-services

  • VM is zwaarder, maar flexibeler en sterker geïsoleerd

  • LXC gebruikt templates

  • VM gebruikt ISO’s

  • pveam gebruik je voor container templates

  • pct gebruik je voor containers

  • qm gebruik je voor VM’s

  • geef duidelijke namen

  • begin met bescheiden resources

  • regel backups vanaf het begin

Als je dit goed doet, blijft je Proxmox-omgeving overzichtelijk en makkelijk uit te breiden.