- 1 Introductie
- 2 KVM vergelijken met andere virtualisatietechnologieën
- 3 Een KVM-omgeving opbouwen op Ubuntu [Installation & Initial Setup]
- 4 Virtuele machines maken en beheren
- 5 Netwerkconfiguratie en uitbreiding
- 6 Opslagbeheer en schijfoperaties
- 7 Installatie en Bediening van Gast-OS
- 8 Praktijkvoorbeelden en Tips voor Automatisering
- 9 Probleemoplossing en Oplossingen voor Veelvoorkomende Fouten
- 10 Beveiliging en prestatieoptimalisatie
- 11 Samenvatting & verdere leermaterialen
- 12 Snelle Referentie voor Opdrachten & Veelvoorkomende Instellingen (Cheatsheet)
- 13 FAQ (Veelgestelde Vragen)
- 13.1 V1: Wat zijn de verschillen tussen KVM, VirtualBox en VMware?
- 13.2 V2: Hoe maak ik back-ups en herstel ik virtuele machines?
- 13.3 V3: Hoe kan ik USB-apparaten gebruiken binnen een virtuele machine?
- 13.4 V4: Hoe kan ik een VM automatisch starten wanneer de host opstart?
- 13.5 V5: Wat moet ik doen als de prestaties van de VM traag zijn?
- 13.6 V6: Ik heb problemen met netwerkinstellingen. Wat moet ik controleren?
- 13.7 V7: Is het mogelijk om clusters of HA-opstellingen te bouwen met KVM?
Introductie
Ubuntu is een van de meest gebruikte Linux‑distributies ter wereld. Het is populair in allerlei scenario’s, van individuele gebruikers tot bedrijfsomgevingen, en wordt vaak gekozen voor server‑implementaties en ontwikkelomgevingen. Als je geavanceerde virtualisatie op Ubuntu wilt toepassen, is een van de krachtigste oplossingen KVM (Kernel-based Virtual Machine).
KVM is een hypervisor‑technologie die rechtstreeks in de Linux‑kernel is ingebouwd. Door gebruik te maken van hardware‑virtualisatie‑extensies (zoals Intel VT of AMD‑V) levert KVM hoge prestaties en stabiliteit. Omdat het open‑source is, kun je met KVM een volledige virtualisatie‑infrastructuur bouwen tegen minimale kosten.
Virtualisatietechnologie kan in het begin intimiderend klinken. Met Ubuntu en KVM kunnen zelfs beginners echter eenvoudig virtuele machines aanmaken en beheren. Uiteraard wordt KVM ook aanbevolen voor gevorderde gebruikers die fysieke serverbronnen willen optimaliseren, evenals voor engineers die productiesystemen willen virtualiseren.
Dit artikel biedt een uitgebreide gids voor het opzetten van een KVM‑gebaseerde virtualisatie‑omgeving op Ubuntu, inclusief installatie‑stappen, basisgebruik, praktische tips en oplossingen voor veelvoorkomende problemen. Als je overweegt KVM te gaan gebruiken of het maximale uit de virtualisatiefuncties van Ubuntu wilt halen, lees dan zeker tot het einde.
KVM vergelijken met andere virtualisatietechnologieën
Er zijn verschillende virtualisatietechnologieën beschikbaar, maar op Ubuntu worden KVM, VirtualBox en VMware vaak gebruikt. In dit gedeelte worden de kenmerken en verschillen van elk uitgelegd, evenals de voor‑ en nadelen van het kiezen voor KVM.
Belangrijkste soorten virtualisatietechnologieën
- KVM (Kernel-based Virtual Machine) – KVM is een virtualisatiefunctie die in de Linux‑kernel is ingebouwd en vereist Linux als host‑OS. Door gebruik te maken van hardware‑virtualisatie‑extensies (Intel VT of AMD‑V) biedt KVM virtuele machines met hoge prestaties die geschikt zijn voor productieomgevingen. Het ondersteunt flexibel beheer via commandoregel‑tools en GUI‑managers zoals virt‑manager.
- VirtualBox – VirtualBox is een desktop‑gerichte virtualisatiesoftware van Oracle. Het draait op Windows, macOS en Linux en heeft een gebruiksvriendelijke interface, waardoor het een populaire keuze is voor persoonlijk en educatief gebruik. In vergelijking met KVM is het echter minder geschikt voor commerciële of zwaarbelaste omgevingen.
- VMware (Workstation/ESXi, enz.) – VMware is een veelgebruikte commerciële virtualisatieoplossing, bekend om zijn uitgebreide functionaliteit en volledige ondersteuning. Er is echter een betaalde licentie voor nodig. Hoewel het vaak wordt gekozen voor grootschalige enterprise‑implementaties, kan de kostprijs een overweging zijn.
Voordelen van KVM
- Hoge prestaties en stabiliteit – KVM draait als onderdeel van de Linux‑kernel, waardoor efficiënt middelenbeheer en fijnmazige controle over CPU‑ en geheugenallocatie voor elke VM mogelijk is. Het is zeer stabiel voor het draaien van echte bedrijfssystemen.
- Open source en geen licentiekosten – KVM is volledig open source en gratis te gebruiken, waardoor het ideaal is voor het bouwen van low‑cost virtualisatieplatformen.
- Rijke beheer‑tools en automatiseringsondersteuning – Er zijn diverse beheeropties beschikbaar, waaronder commandoregel‑tools (virsh, virt‑install) en GUI‑tools (virt‑manager). KVM leent zich ook uitstekend voor automatisering en scripting, wat het ideaal maakt voor DevOps en infrastructuurbeheer.
Nadelen van KVM
- Alleen Linux‑host – Omdat KVM de Linux‑kernel vereist, kan het niet als host op Windows‑ of macOS‑omgevingen worden gebruikt.
- Linux‑kennis nodig voor initiële installatie en probleemoplossing – Hoewel er GUI‑tools beschikbaar zijn, kunnen sommige netwerkinstellingen en geavanceerde afstemming commandoregel‑acties of Linux‑specifieke kennis vereisen.
Wanneer moet je voor KVM kiezen?
- Wanneer u fysieke serverresources efficiënt wilt benutten
- Wanneer u virtualisatie nodig hebt voor productiesystemen of serverapplicaties
- Wanneer u een robuuste virtualisatie-infrastructuur tegen lage kosten wilt opbouwen
- Wanneer u Linux-serveroperaties of infrastructuurbeheer wilt automatiseren
KVM is een uitstekende virtualisatietechnologie niet alleen voor ervaren Linux-gebruikers en -ingenieurs, maar ook voor degenen die in de toekomst volledige servers willen uitproberen.
Een KVM-omgeving opbouwen op Ubuntu [Installation & Initial Setup]
Om KVM op Ubuntu te gebruiken, moet u aan bepaalde vereisten voldoen, enkele voorbereidingen uitvoeren en vervolgens de installatie uitvoeren. In dit gedeelte leiden we u door de vereiste stappen om te beginnen met KVM, met tips om beginners te helpen de omgeving soepel in te stellen.
Vereisten en Voorafcontroles
Om KVM te gebruiken, moet de CPU van uw computer of server virtualisatie-extensies ondersteunen (Intel VT of AMD-V).
Controleer eerst of hardwarevirtualisatie is ingeschakeld met het volgende commando:
egrep -c '(vmx|svm)' /proc/cpuinfo
Als de uitvoer 1 of hoger is, is virtualisatie-ondersteuning beschikbaar.
Daarnaast moet u een 64-bits versie van Ubuntu draaien.
KVM en vereiste pakketten installeren
Installeer de KVM-kern en gerelateerde tools (zoals libvirt en virt-manager) met de volgende opdrachten:
sudo apt update
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
qemu-kvm: Kernpakket voor KVM-virtualisatielibvirt-daemon-system,libvirt-clients: Beheerservices voor virtuele machinesbridge-utils: Tools voor netwerkbridge-instellingenvirt-manager: GUI-tool voor het beheren van virtuele machines
Gebruikersgroepen en machtigingen configureren
Na de installatie voegt u uw huidige gebruiker toe aan de kvm– en libvirt-groepen. Dit stelt u in staat om VM’s te beheren zonder root-rechten.
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG kvm $(whoami)
Log uit en log opnieuw in, of herstart, om de wijzigingen toe te passen.
KVM-servicestatus controleren
Controleer of KVM correct is geïnstalleerd en de service draait:
sudo systemctl status libvirtd
Als het “active (running)” toont, werkt alles.
U kunt KVM ook controleren met dit commando:
virsh list --all
Als u een (momenteel lege) lijst van VM’s ziet, is de KVM-omgeving correct ingesteld.
Virtuele machines maken en beheren
Zodra uw KVM-omgeving klaar is, kunt u beginnen met het maken en bedienen van virtuele machines. Met KVM kunt u zowel grafische tools (virt-manager) als command-line tools (virt-install, virsh) gebruiken, afhankelijk van uw behoeften. Hier introduceren we beide benaderingen.
Een VM maken met virt-manager (GUI)
virt-manager is een grafische tool waarmee u eenvoudig virtuele machines kunt maken en beheren. Als u een Linux-desktopomgeving gebruikt, is virt-manager zeer handig.
- Start
virt-managervanuit uw applicatiemenu of de command line. - Klik op de knop “New” in de linkerbovenhoek.
- Selecteer de locatie van uw installatiemedia (zoals een ISO-afbeelding) en kies het gast-OS-type (bijv. Ubuntu, Windows).
- Stel het aantal CPU’s, geheugengrootte, schijfgrootte, enz. in voor de VM.
- Bekijk de instellingen en klik op “Finish” om de VM te maken. Het installatiescherm verschijnt.
Met virt-manager kunt u ook VM’s starten, stoppen en herstarten, snapshots maken en netwerken of schijven toevoegen via een intuïtieve interface.
Een VM maken met virt-install (CLI)
Voor server- of externe omgevingen is het vaak eenvoudiger om VM’s vanaf de command line te maken.
Hier is een basisvoorbeeld met virt-install:
sudo virt-install
--name ubuntu-vm
--memory 2048
--vcpus 2
--disk size=20
--cdrom /path/to/ubuntu.iso
--os-type linux
--os-variant ubuntu20.04
--network network=default
--graphics vnc
--name: Naam van de virtuele machine--memory: Geheugentoewijzing (in MB)--vcpus: Aantal CPU‑kernen--disk size=20: Schijfgrootte (in GB)--cdrom: Pad naar het ISO‑image voor installatie--os-type,--os-variant: OS‑type en versie--network: Netwerk om mee te verbinden--graphics: Grafische modus (bijv. VNC)
Na het uitvoeren van dit commando zal de VM starten en wordt het installatiescherm weergegeven via VNC of een andere opgegeven methode.
Starten, stoppen, verwijderen en snapshots maken van virtuele machines
Het beheren van je virtuele machines met KVM is eenvoudig. Hier zijn enkele veelgebruikte commando’s:
- Start een virtuele machine:
virsh start <vm-name>
- Schakel een virtuele machine uit:
virsh shutdown <vm-name>
- Forceer het stoppen van een virtuele machine:
virsh destroy <vm-name>
- Verwijder een virtuele machine (let op: dit verwijdert ook de schijf):
virsh undefine <vm-name>
- Maak een snapshot:
virsh snapshot-create-as <vm-name> <snapshot-name>
Je kunt deze handelingen ook uitvoeren via de virt‑manager GUI.
Netwerkconfiguratie en uitbreiding
Netwerkinstellingen zijn cruciaal bij het draaien van virtuele machines met KVM. Hoewel standaardinstellingen voor veel gevallen werken, vereisen zakelijke of productieomgevingen vaak maatwerk. Deze sectie legt de basis van KVM‑netwerken uit en bespreekt veelgebruikte geavanceerde instellingen.
Verschillen tussen standaard NAT (virbr0) en bridge‑netwerken
Wanneer KVM is geïnstalleerd, maakt het automatisch een virtuele netwerkbridge genaamd virbr0 aan. Dit is een NAT‑netwerk (Network Address Translation) met de volgende kenmerken:
- virbr0 (NAT‑modus) kenmerken:
- VM’s kunnen toegang krijgen tot het externe internet
- Directe toegang tot VM’s vanaf de host of andere netwerken vereist port‑forwarding
- Ideaal voor thuislabs, ontwikkeling of testen
Een bridge‑netwerk daarentegen laat VM’s toe zich aan te sluiten op hetzelfde netwerksegment als de fysieke host.
- Bridge‑netwerk kenmerken:
- VM’s sluiten zich aan hetzelfde netwerksegment als de host
- Fysieke pc’s of andere servers kunnen direct toegang krijgen tot VM’s
- Ideaal voor interne servers of productiediensten
Een aangepaste bridge maken en configureren (voor LAN‑toegang)
Als je wilt dat VM’s direct toegankelijk zijn vanaf andere pc’s of servers, maak dan een bridge‑netwerk aan. Hieronder een typische procedure (ervan uitgaande dat de NIC van de host eth0 is):
- Installeer bridge‑utils (overslaan als al geïnstalleerd)
sudo apt install bridge-utils
- Bewerk het netwerkconfiguratie‑bestand Op Ubuntu .04 en later wordt Netplan gebruikt. Bewerk bijvoorbeeld
/etc/netplan/01-netcfg.yaml:network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no bridges: br0: interfaces: [eth0] dhcp4: yes
- Pas de instellingen toe
sudo netplan apply
- Voeg de nieuwe bridge (br0) toe aan het KVM‑netwerk Schakel de netwerkadapter van je VM over naar br0 via virt‑manager of virsh.
Statische IP’s toewijzen & port‑forwarding instellen
- Statische IP’s toewijzen Meestal stel je een statisch IP in het OS van de VM in, of gebruik je de DHCP‑server om een vast IP toe te wijzen op basis van MAC‑adres.
- Port‑forwarding (bij gebruik van NAT) Met virsh of libvirt‑XML kun je poorten (bijv. SSH of webserver) van de host naar de VM doorsturen. Voorbeeld voor het doorsturen van SSH naar poort 22:
virsh nat-forward --network default --add-port tcp:2222:22
Voor complexere configuraties kun je ook de configuratiebestanden van libvirt bewerken of firewalld gebruiken.
Opslagbeheer en schijfoperaties
Een goed opslagontwerp en schijfbeheer zijn eveneens essentieel bij het draaien van virtuele machines met KVM. Deze sectie legt de verschillende soorten virtuele schijven uit, hoe je ze maakt, beheer van opslag‑pools, schijfuitbreiding en het gebruik van snapshots.
Types en gebruik van virtuele schijven (qcow2, raw)
KVM ondersteunt voornamelijk twee soorten virtuele schijfformaten:
- qcow2-formaat
- Het standaard virtuele schijfformaat voor KVM
- Ondersteunt snapshots, compressie en efficiënt gebruik van schijfruimte
- Het beste voor flexibele bediening of testomgevingen
- raw-formaat
- Een eenvoudig formaat zonder compressie of conversie
- Ideaal wanneer je maximale schijf-I/O-prestaties nodig hebt
In de meeste gevallen wordt qcow2 aanbevolen, maar je kunt kiezen op basis van je specifieke behoeften.
Opslagpools Creëren en Beheren
KVM gebruikt het concept van “storage pools” om de schijfruimte te beheren die door virtuele machines wordt gebruikt.
- Standaard Opslagpool Standaard wordt
/var/lib/libvirt/images/gebruikt als de opslagpool, en nieuwe virtuele schijven worden in deze map gemaakt. - Een Nieuwe Opslagpool Creëren (Voorbeeld)
Maak een map aan:
sudo mkdir /data/kvm-images sudo chown libvirt-qemu:kvm /data/kvm-images2. Voeg een nieuwe pool toe met behulp van virt-manager of het virsh-commando. Met virsh:virsh pool-define-as --name mypool --type dir --target /data/kvm-images virsh pool-autostart mypool virsh pool-start mypool
Virtuele Schijven Uitbreiden en Snapshots Gebruiken
- Een Virtuele Schijf Uitbreiden Als je de schijfgrootte moet vergroten, gebruik het
qemu-img-commando (werkt voor zowel qcow2 als raw):sudo qemu-img resize /var/lib/libvirt/images/ubuntu-vm.qcow2 +10G
Daarna kun je de partitie en het bestandssysteem binnen het gast-OS uitbreiden indien nodig.
- Snapshots Gebruiken Met qcow2-schijven kun je snapshots maken om de huidige toestand van je VM op elk moment op te slaan.
virsh snapshot-create-as <vm-name> <snapshot-name>
Snapshots zijn zeer nuttig voor back-ups vóór upgrades, het terugdraaien van tests of het herstellen van configuratiefouten.
Installatie en Bediening van Gast-OS
Deze sectie legt uit hoe je besturingssystemen installeert en uitvoert op KVM-virtuele machines. We behandelen de installatie van typische gast-OS’en, het omgaan met ISO-afbeeldingen en tips voor het verbeteren van de prestaties tijdens de bediening.
Populaire Gast-OS’en Installeren
KVM stelt je in staat om een verscheidenheid aan OS’en uit te voeren, zoals Ubuntu, CentOS en Windows. Hieronder staan voorbeeldinstallatiestappen voor Ubuntu en Windows:
- Voor Ubuntu
- Download de nieuwste Ubuntu ISO van de officiële website.
- In virt-manager, kies “Maak een nieuwe virtuele machine”, selecteer “Lokale installatiemedia” en specificeer het ISO-bestand.
- Stel de CPU, het geheugen en de schijfgrootte van de VM in, en start vervolgens de installatie.
- Volg de instructies op het scherm om de standaard Ubuntu-installatie te voltooien.
- Voor Windows
- Download een Windows-evaluatie-ISO van de officiële Microsoft-site.
- Maak een nieuwe VM in virt-manager of met behulp van virt-install, en selecteer de ISO als installatiemedia.
- Voor betere schijf- en netwerkprestaties, monteer de virtio-drivers ISO als een extra CD-station en installeer de drivers tijdens de setup.
ISO-Afbeeldingen Verkrijgen en Monteren
- Download ISO-afbeeldingen van officiële bronnen voor het OS dat je wilt installeren.
- Specificeer het pad naar het ISO-bestand bij het maken van een nieuwe virtuele machine; het wordt gemonteerd als een virtueel CD/DVD-station.
- Indien nodig kun je meerdere ISO’s tegelijk monteren (bijv. OS en drivers).
Tips voor Bediening en Prestaties van Gast-OS
- Optimaliseer Middelenallocatie Wijs geschikte hoeveelheden CPU en geheugen toe aan elke VM. Over-allocatie van middelen kan een negatief effect hebben op het host-OS en andere VM’s.
- Installeer virtio-drivers Voor Windows of oudere Linux-gasten kan het installeren van virtio-drivers de schijf- en netwerkprestaties aanzienlijk verbeteren.
- Schakel Ongebruikte Services Uit Zet onnodige services en achtergrondprogramma’s in het gast-OS uit om de beschikbare middelen te maximaliseren.
- Gebruik KVM Gast-Tools Installeer de QEMU Guest Agent om de nauwkeurigheid van VM-beheer te verbeteren en functies zoals een schone afsluiting te ondersteunen.
Praktijkvoorbeelden en Tips voor Automatisering
KVM is niet alleen bedoeld voor het creëren en draaien van VMs — het kan worden ingezet in verschillende bedrijfs- en ontwikkelscenario’s. Het combineren ervan met scripts of automatiseringstools kan het beheer ook veel efficiënter maken. Dit gedeelte deelt praktische KVM-gebruiksscenario’s en automatiseringideeën.
Gebruiksscenario’s voor Servers
- Geïsoleerde Ontwikkel- en Testomgevingen Bepaal een aparte VM voor elk project, waardoor je vrij OS-versies en softwarestacks kunt wisselen zonder de productie te beïnvloeden. Dit is een groot voordeel bij het testen van nieuwe OS-versies of software-updates.
- Bouwen van Interne Services Scheid kritieke services (bestandsservers, webservers, databases, enz.) in individuele VMs, zodat storingen slechts een beperkt bereik hebben. Back-ups en snapshots zijn eenvoudig op basis van per VM.
Automatisering Voorbeelden Met CLI of Ansible
- Geautomatiseerde VM-creatie via CLI Gebruik scripts om automatisch
virt-installofvirshcommando’s uit te voeren voor het creëren en beheren van meerdere VMs. Voorbeeld met een shellscript:for i in {1..5} do virt-install --name test-vm-$i --memory 1024 --vcpus 1 --disk size=10 --cdrom /path/to/ubuntu.iso --os-type linux --os-variant ubuntu20.04 --graphics none --network network=default --noautoconsole done
- Automatiseren met Ansible Met het infrastructuurautomatiseringstool Ansible kun je VM-creatie, initiële setup en applicatie-implementatie beschrijven in playbooks — het hele proces automatiseren. Dit is vooral effectief bij het beheren van een groot aantal servers of wanneer consistentie cruciaal is.
Tips voor Cloud-achtige Operaties
- VM Templating Sla veelgebruikte initiële VM-statussen op als templates, waardoor je snel nieuwe servers kunt implementeren.
- API-integratie en Web-gebaseerd Beheer libvirt biedt een API voor integratie met aangepaste tools of andere beheersystemen. Voor grote omgevingen, gebruik web-gebaseerde beheerttools (zoals Cockpit) om VMs visueel te beheren.
Probleemoplossing en Oplossingen voor Veelvoorkomende Fouten
Terwijl je KVM draait, kun je problemen tegenkomen zoals mislukte VM-starts of netwerkconnectiviteitsproblemen. Dit gedeelte behandelt veelvoorkomende problemen, hoe je ze oplost, en hoe je logs controleert en ondersteuningsresources gebruikt.
Veelvoorkomende Problemen met KVM
- VM Start Mislukt of Creëren
- Hardwarevirtualisatie (Intel VT, AMD-V) is uitgeschakeld
- Onvoldoende geheugen of schijfruimte toegewezen
- Onjuiste storage pool of ISO-pad
- Netwerkconnectiviteitsproblemen
- VM-netwerkadapter niet correct geconfigureerd
- Fouten in bridge- of NAT-instellingen, of DHCP-toewijzingsfouten
- Firewall- of beveiligingsbeperkingen
- Slechte Prestaties
- Overallocatie of onderallocatie van resources
- Ontbrekende virtio-drivers (vooral voor Windows-gasten)
- Schijf I/O-flessenhalsen
Hoe Logs te Controleren en Basis Probleemoplossingsstroom
Wanneer problemen optreden, is het controleren van logs cruciaal.
- Controleer Systeemlogs
sudo journalctl -xe
Zoek naar foutmeldingen gerelateerd aan KVM of libvirt.
- Controleer libvirt Logs Bekijk logbestanden onder
/var/log/libvirt/(bijv. libvirtd.log). - Controleer VM-specifieke Logs In virt-manager of virsh, bekijk het tabblad ‘Details’ of ‘Logs’ voor elke VM.
- Controleer Netwerkstatus
ip a brctl show virsh net-list --all
Controleer de huidige netwerkverbindingen en bridge-opzet.
Basis Probleemoplossingsstappen
- Identificeer wanneer het probleem begon en verduidelijk de symptomen
- Controleer de bovenstaande logs en configuratiebestanden
- Indien nodig, bewerk configuratiebestanden, herstart services, of hercreëer de VM
Gebruik Maken van Officiële Documentatie en Community Resources
Als je vastloopt, kunnen deze resources onschatbaar zijn:
- Officiële documentatie Ubuntu Official KVM Guide libvirt Official Documentation
- Gemeenschapsforums & Q&A‑sites
- Ubuntu Forums
- Ask Ubuntu
- Stack Overflow
- Zoek naar foutmeldingen Probeer foutmeldingen te zoeken in zowel het Engels als uw moedertaal — u zult vaak veel oplossingen vinden.
Beveiliging en prestatieoptimalisatie
Om uw KVM‑omgeving veilig en efficiënt te laten werken, zijn beveiligingsmaatregelen en prestatieoptimalisatie essentieel. Deze sectie behandelt belangrijke punten voor het beschermen van uw virtualisatie‑infrastructuur en praktische tips om de efficiëntie van middelen te maximaliseren.
Versterken van beveiliging in gevirtualiseerde omgevingen
- Schakel onnodige services uit en gebruik minimale configuraties Schakel ongebruikte services binnen uw VM’s uit om het aanvalsoppervlak te verkleinen. Stop ook onnodige services op het host‑OS.
- Firewall en toegangscontroles Configureer firewalls (zoals ufw of firewalld) correct op zowel host‑ als gastsystemen om ongeautoriseerde externe toegang te blokkeren. Overweeg voor SSH het poortnummer te wijzigen, sleutelgebaseerde authenticatie te gebruiken en fail2ban in te zetten voor extra bescherming.
- VM‑isolatie (netwerksegmentatie) Plaats kritieke servers op verschillende virtuele netwerken of fysieke segmenten om de impact van een inbreuk te minimaliseren.
- Regelmatige updates Houd zowel uw host‑ als gast‑OS up‑to‑date met de nieuwste beveiligingspatches en software‑updates.
Optimaliseren van resource‑toewijzing (CPU/Geheugen/Disk‑I/O)
- Basis resource‑beheer Wijs CPU en geheugen passend toe aan elke VM en laat reserve op de host voor algemene systeemstabiliteit. Over‑toewijzing kan prestatie‑degradatie veroorzaken voor zowel de host als andere VM’s.
- Disk‑I/O‑optimalisatie Schijfpresentatie wordt vaak een knelpunt. Wijs snelle SSD‑opslag toe aan belangrijke VM’s voor optimale resultaten. Het gebruik van te veel snapshots met qcow2‑schijven kan de prestaties verminderen, dus balanceer het gebruik dienovereenkomstig.
- Maak gebruik van virtio‑stuurprogramma’s Installeer virtio‑stuurprogramma’s in gast‑OS’en om de schijf‑ en netwerkprestaties aanzienlijk te verbeteren.
Automatiseren van back‑ups en snapshots
- Plan regelmatige snapshots Maak regelmatige snapshots van productieve VM’s zodat u snel kunt herstellen bij een storing.
- Back‑up schijf‑images en configuratiebestanden Maak regelmatig een back‑up van uw virtuele schijf‑images (qcow2/raw‑bestanden) en libvirt‑XML‑configuratiebestanden naar een ander opslagapparaat of externe server.
- Integreer met automatiseringstools Gebruik cron‑taken of automatiseringstools zoals Ansible om back‑ups en het maken van snapshots automatisch in te plannen.
Samenvatting & verdere leermaterialen
Dit artikel heeft het bouwen en beheren van een KVM‑virtualisatieomgeving op Ubuntu behandeld — van installatie tot geavanceerd gebruik, probleemoplossing, beveiliging en prestatie‑afstemming. Laten we de belangrijkste punten herzien en bronnen introduceren die u helpen verder te leren.
Samenvatting van de belangrijkste punten
- KVM‑overzicht en voordelen KVM is een open‑source, high‑performance virtualisatieoplossing die veel wordt gebruikt op Ubuntu‑servers.
- Stapsgewijs van installatie tot werking We hebben het controleren van virtualisatie‑ondersteuning, het installeren van pakketten, het instellen van gebruikersrechten, het aanmaken van VM’s en het uitvoeren van basisbewerkingen doorlopen.
- Praktische tips over netwerken, opslag en beheer U heeft geleerd hoe u NAT‑ of bridge‑netwerken configureert, opslag‑pools beheert, schijven uitbreidt en snapshots gebruikt.
- Probleemoplossing en beveiliging We hebben veelvoorkomende foutafhandeling behandeld, hoe u logbestanden controleert, en punten voor een veilige en efficiënte werking.
Volgende stappen & aanbevolen leermaterialen
- Officiële Documentatie
- Ubuntu Official KVM Guide
- libvirt Official Documentation
- Ask Ubuntu
- Stack Overflow (English)
Zodra je de basis onder de knie hebt, kan KVM worden gebruikt voor alles van persoonlijke projecten tot enterprise-infrastructuur. Gebruik deze gids als basis en blijf verkennen op basis van je doelen en omgeving.
Snelle Referentie voor Opdrachten & Veelvoorkomende Instellingen (Cheatsheet)
Het hebben van een snelle referentie van nuttige opdrachten en configuratievoorbeelden voor KVM en libvirt is zeer handig voor dagelijks VM-beheer. Dit gedeelte somt veelvoorkomende opdrachten en compacte instellingenvoorbeelden op voor netwerken en schijven.
Hoofdopdrachten voor KVM/virsh/virt-manager
- Alle virtuele machines weergeven
virsh list --all
- Een virtuele machine starten
virsh start <vm-name>
- Een virtuele machine afsluiten
virsh shutdown <vm-name>
- Een virtuele machine geforceerd stoppen
virsh destroy <vm-name>
- Een nieuwe virtuele machine maken (virt-install)
virt-install --name <name> --memory <MB> --vcpus <cores> --disk size=<GB> --cdrom <ISO path> --os-type linux --os-variant ubuntu20.04
- Een virtuele machine verwijderen (alleen instellingen)
virsh undefine <vm-name>
Voorbeelden voor Netwerk- & Bridgeconfiguratie
- Huidige netwerken weergeven
virsh net-list --all
- Een nieuw netwerk maken (XML-voorbeeld) Plaats een XML-bestand onder
/etc/libvirt/qemu/networks/, activeer het vervolgens metvirsh net-define <filename>envirsh net-start <network-name>
Voorbeelden voor Opslagbeheer & Schijfoperaties
- Opslagpools weergeven
virsh pool-list --all
- Een virtuele schijf uitbreiden
sudo qemu-img resize /path/to/disk.qcow2 +10G
- Een snapshot maken
virsh snapshot-create-as <vm-name> <snapshot-name>
Andere Nuttige Tips
- VM instellen om automatisch te starten bij host-boot
virsh autostart <vm-name>
- Gedetailleerde informatie over een VM ophalen
virsh dominfo <vm-name>
- virt-manager starten (GUI)
virt-manager
FAQ (Veelgestelde Vragen)
Hier zijn antwoorden op veelvoorkomende vragen van lezers over KVM en Ubuntu-virtualisatieomgevingen. Gebruik deze voor probleemoplossing en dagelijkse operaties.
V1: Wat zijn de verschillen tussen KVM, VirtualBox en VMware?
A1: KVM is een hoogwaardig virtualisatieplatform dat is geïntegreerd in de Linux-kernel en het best geschikt is voor servers en productiegebruik. VirtualBox richt zich op desktopgebruik, terwijl VMware rijk is aan functies en ondersteuning biedt voor grootschalige commerciële omgevingen. KVM wordt aanbevolen wanneer je hoge prestaties wilt tegen lage kosten.
V2: Hoe maak ik back-ups en herstel ik virtuele machines?
A2: Je kunt eenvoudig back-ups maken door de virtuele schijfbeelden (qcow2- of raw-bestanden) te kopiëren. Het is ook aanbevolen om virsh-snapshots en de XML-configuratiebestanden van de VM op te slaan voor een soepele herstel.
V3: Hoe kan ik USB-apparaten gebruiken binnen een virtuele machine?
A3: Gebruik de functie “Hardware Toevoegen” in virt-manager of stel USB-passthrough in met virsh. Dit stelt je in staat om USB-drives, externe HDD’s, printers, enz. te gebruiken binnen je VM’s.
V4: Hoe kan ik een VM automatisch starten wanneer de host opstart?
A4: Voer virsh autostart <vm-name> uit om die VM in te stellen om automatisch te starten wanneer het host-OS opstart.
V5: Wat moet ik doen als de prestaties van de VM traag zijn?
A5: Bekijk en pas de toewijzing van CPU/geheugen aan, optimaliseer schijf-I/O (gebruik snellere opslag of schakel van qcow2 over naar raw), en installeer virtio-drivers in het gast-OS.
V6: Ik heb problemen met netwerkinstellingen. Wat moet ik controleren?
A6: Gebruik virsh of brctl om de netwerkstatus te controleren. Bekijk en, indien nodig, hercreëer virtuele netwerken of bewerk bridge-instellingen met Netplan of NetworkManager.
V7: Is het mogelijk om clusters of HA-opstellingen te bouwen met KVM?
A7: Ja. Je kunt KVM combineren met tools zoals Pacemaker, Corosync en gedeelde opslag (NFS, iSCSI, enz.) om high availability (HA) clusters en live‑migratie van VM’s mogelijk te maken. Geavanceerde kennis is vereist.


