quot; border: 0px hidden"”>
Vertaling(en): Engels – Español – 한 Русский국어 – Norsk – |
quot; text-align: right; border: 0px hidden"”>
Discussie |
De Kernel Virtual Machine, of KVM, is een volledige virtualisatieoplossing voor Linux op x86- (inclusief 64-bits) en ARM-hardware met virtualisatie-extensies (Intel VT of AMD-V). Het bestaat uit een laadbare kernelmodule, kvm.ko, die de kern van de virtualisatie-infrastructuur levert en een processorspecifieke module, kvm-intel.ko of kvm-amd.ko.
In Debian is Xen een alternatief voor KVM. (VirtualBox zit niet in Debian main en niet in Debian Buster en zal dat ook niet worden in Debian Buster-Backports, 794466).
Installatie
Het is mogelijk om alleen QEMU en KVM te installeren voor een zeer minimale setup, maar de meeste gebruikers zullen ook libvirt willen voor gemakkelijke configuratie en beheer van de virtuele machines (libvirt-daemon-system – libvirt, virt-manager – een GUI voor libvirt). Typisch zou een gebruiker moeten installeren:
# apt-get install qemu-system libvirt-clients libvirt-daemon-system
Bij installatie op een server kun je de –no-install-recommends apt optie toevoegen, om de installatie van extraneuze grafische pakketten te voorkomen:
# apt-get install --no-install-recommends qemu-system libvirt-clients libvirt-daemon-system
De daemon libvirt-bin start automatisch tijdens het opstarten en laadt de juiste KVM modules, kvm-amd of kvm-intel, die worden meegeleverd met het Linux kernel Debian pakket. Als u van plan bent Virtuele Machines (VM’s) te maken vanaf de command-line, installeer dan virtinst.
Om virtuele machines als een gewone gebruiker te kunnen beheren, moet die gebruiker aan de libvirt groep worden toegevoegd:
# adduser <youruser> libvirt
U zou dan in staat moeten zijn om een lijst te maken van uw domeinen, dat zijn virtuele machines die worden beheerd door libvirt:
# virsh list --all
Gebruikersspecifieke en systeembrede VM’s
Aan standaard, als virsh wordt uitgevoerd als een normale gebruiker zal het verbinding maken met libvirt met behulp van qemu:///session URI string. Deze URI staat virsh toe om alleen de set van VMs te beheren die toebehoren aan deze specifieke gebruiker. Om de systeem VM’s te beheren (d.w.z. VM’s die aan root toebehoren) moet virsh worden uitgevoerd als root of met qemu:///system URI:
$ virsh --connect qemu:///system list --all
Om te voorkomen dat je de –connect vlag op elk commando moet gebruiken, kan de URI string worden ingesteld in de LIBVIRT_DEFAULT_URI omgevingsvariabele:
$ export LIBVIRT_DEFAULT_URI='qemu:///system'
Een nieuwe guest maken
De eenvoudigste manier om een VM guest te maken en te beheren is met behulp van een GUI applicatie. Zoals:
-
AQEMU aqemu.
-
Virtual Machine Manager virt-manager.
Aternatief kunt u een VM-gast maken via de opdrachtregel met virtinst. Hieronder ziet u een voorbeeld van de creatie van een Buster-gast met de naam buster-amd64:
virt-install --virt-type kvm --name buster-amd64 \--cdrom ~/iso/Debian/debian-10.0.0-amd64-netinst.iso \--os-variant debian10 \--disk size=10 --memory 1000
Omdat de guest nog geen netwerkverbinding heeft, zult u de GUI virt-viewer moeten gebruiken om de installatie te voltooien.
U kunt voorkomen dat u de ISO moet downloaden door de optie –location te gebruiken:
virt-install --virt-type kvm --name buster-amd64 \--location http://deb.debian.org/debian/dists/buster/main/installer-amd64/ \--os-variant debian10 \--disk size=10 --memory 1000
Om een tekst console te gebruiken voor de installatie kunt u virt-install vertellen een seriële poort te gebruiken in plaats van de grafische console:
virt-install --virt-type kvm --name buster-amd64 \--location http://deb.debian.org/debian/dists/buster/main/installer-amd64/ \--os-variant debian10 \--disk size=10 --memory 1000 \--graphics none \--console pty,target_type=serial \--extra-args "console=ttyS0"
Voor een volledig geautomatiseerde installatie kijk in preseed of debootstrap.
Instellen van bridge netwerken
Tussen VM gasten
Het is standaard dat QEMU macvtap gebruikt in VEPA mode om NAT internet toegang te bieden of gebridgde toegang met andere gasten. Met deze instelling hebben de gasten toegang tot het internet (als er een internetverbinding is op de host), maar kunnen de host of andere machines op het LAN van de host de gasten niet zien of benaderen.
Tussen VM host en gasten
Libvirt standaard netwerk
Als je libvirt gebruikt om je VM’s te beheren, biedt libvirt een NATed bridged netwerk met de naam “standaard” waarmee de host kan communiceren met de gasten. Dit netwerk is alleen beschikbaar voor de systeemdomeinen (dat zijn VM’s aangemaakt door root of met de qemu:///system connection URI). VM’s die dit netwerk gebruiken komen terecht op 192.168.122.1/24 en DHCP wordt aan hen verstrekt via dnsmasq. Dit netwerk wordt niet automatisch gestart. Om het te starten gebruik je:
virsh --connect=qemu:///system net-start default
Om het standaard netwerk automatisch te laten starten gebruik je:
virsh --connect=qemu:///system net-autostart default
Om het op deze manier te laten werken moet u de aanbevolen pakketten dnsmasq-base, bridge-utils en iptables geïnstalleerd hebben.
Toegang tot gasten met hun hostnamen
Nadat het standaard netwerk is opgezet, kunt u libvirt’s DNS server dnsmasq configureren, zodat u toegang tot de gasten kunt krijgen met hun hostnamen. Dit is handig als je meerdere gasten hebt en ze wilt benaderen met eenvoudige hostnamen, zoals vm1.libvirt in plaats van hun IP-adressen te onthouden.
Voreerst, configureer libvirt’s standaard netwerk. Voer virsh –connect=qemu:///system net-edit default uit en voeg aan de configuratie de volgende regel toe (bijv. na de mac-tag):
<domain name='libvirt' localOnly='yes'/>
libvirt is de naam van het domein voor de gasten. U kunt het op iets anders instellen, maar zorg ervoor dat het niet op lokaal wordt ingesteld, omdat het kan conflicteren met mDNS. Het instellen van hlocalOnly=’yes’ is belangrijk om er zeker van te zijn dat verzoeken naar dat domein nooit stroomopwaarts worden doorgestuurd (om request loops te voorkomen).
De resulterende netwerkconfiguratie zou er ongeveer zo uit moeten zien:
<network connections='1'> <name>default</name> <uuid>66b33e64-713f-4323-b406-bc636c054af5</uuid> <forward mode='nat'> <nat> <port start='1024' end='65535'/> </nat> </forward> <bridge name='virbr0' stp='on' delay='0'/> <mac address='52:54:00:af:9f:2a'/> <domain name='libvirt' localOnly='yes'/> <ip address='192.168.122.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.122.2' end='192.168.122.254'/> </dhcp> </ip></network>
Nu de VM-gasten configureren met hun namen. Als je bijvoorbeeld een guest ‘vm1’ wilt noemen, log je daarop in en voer je uit:
sudo hostnamectl set-hostname vm1.libvirt
Volgende, configureer de NetworkManager van de host, zodat het libvirt’s DNS server gebruikt en de hostnamen van de gasten correct omzet. Vertel NetworkManager eerst om zijn eigen versie van dnsmasq te starten door een configuratiebestand /etc/NetworkManager/conf.d/libvirt_dns.conf aan te maken met de volgende inhoud:
dns=dnsmasq
Ten tweede: vertel de dnsmasq van de host dat voor alle DNS-verzoeken met betrekking tot het libvirt-domein de dnsmasq-instantie van libvirt moet worden opgevraagd. Dit kan worden gedaan door een configuratiebestand /etc/NetworkManager/dnsmasq.d/libvirt_dns.conf aan te maken met de volgende inhoud:
server=/libvirt/192.168.122.1
libvirt is hier de domeinnaam die je hebt ingesteld in de configuratie van het standaard netwerk van libvirt. Let op, het IP-adres moet overeenkomen met het standaard netwerkadres van libvirt. Zie de ip-tag in de netwerkconfiguratie hierboven.
Nu herstart je de NetworkManager van de host met
sudo systemctl restart NetworkManager
Van nu af aan kunnen de gasten worden benaderd met hun hostnamen, zoals ssh vm1.libvirt.
Handmatig bridgen
Om communicatie tussen de VM host en VM guests mogelijk te maken, kun je een macvlan bridge opzetten bovenop een dummy interface, zoals hieronder. Na de configuratie kun je de interface dummy0 (macvtap) in bridged mode zetten als de netwerk configuratie in de VM gasten configuratie.
modprobe dummyip link add dummy0 type dummyip link add link dummy0 macvlan0 type macvlan mode bridgeifconfig dummy0 upifconfig macvlan0 192.168.1.2 broadcast 192.168.1.255 netmask 255.255.255.0 up
Tussen VM host, gasten en de wereld
Om communicatie tussen host, gasten en de buitenwereld mogelijk te maken, kun je een bridge opzetten en zoals beschreven op de QEMU pagina.
Voorbeeld, je kunt het netwerk configuratie bestand /etc/network/interfaces aanpassen om de ethernet interface eth0 in te stellen als een bridge interface br0 zoals hieronder. Na de configuratie, kunt u het gebruik van Bridge Interface br0 instellen als de netwerkverbinding in VM guest configuratie.
auto loiface lo inet loopback# The primary network interfaceauto eth0#make sure we don't get addresses on our raw deviceiface eth0 inet manualiface eth0 inet6 manual#set up bridge and give it a static ipauto br0iface br0 inet static address 192.168.1.2 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0 dns-nameservers 8.8.8.8#allow autoconf for ipv6iface br0 inet6 auto accept_ra 1
Als dat eenmaal correct is geconfigureerd, zou je in staat moeten zijn om de bridge te gebruiken op nieuwe VM implementaties met:
virt-install --network bridge=br0
VM’s beheren vanaf de commandoregel
U kunt het virsh(1) commando gebruiken om virtuele machines te starten en te stoppen. VM’s kunnen worden gegenereerd met virtinst. Voor meer details zie de libvirt pagina. Virtuele machines kunnen ook worden bestuurd met het kvm commando op een vergelijkbare manier als QEMU. Hieronder staan enkele veelgebruikte commando’s:
Start een geconfigureerde VM-gast “VMGUEST”:
# virsh start VMGUEST
Notificeer de VM-gast “VMGUEST” om sierlijk af te sluiten:
# virsh shutdown VMGUEST
Dwing de VM-gast “VMGUEST” om af te sluiten voor het geval deze wordt opgehangen, d.w.z. dat “graceful shutdown” niet heeft gewerkt:
# virsh destroy VMGUEST
VM-gasten beheren met een GUI
Aan de andere kant, als je een grafische UI wilt gebruiken om de VM’s te beheren, kies dan een van de volgende twee pakketten:
-
AQEMU aqemu.
-
Virtual Machine Manager virt-manager.
Automatisch guest-beheer bij afsluiten/starten van host
Guest-gedrag bij afsluiten/starten van host wordt geconfigureerd in /etc/default/libvirt-guests.
Dit bestand specificeert of gasten moeten worden afgesloten of opgeschort, of ze opnieuw moeten worden gestart bij het opstarten van de host, enzovoort.
De eerste parameter definieert waar draaiende gasten gevonden moeten worden. Bijvoorbeeld:
# URIs to check for running guests# example: URIS='default xen:/// vbox+tcp://host/system lxc:///'URIS=qemu:///system
Performance Tuning
Hieronder staan enkele opties die de prestaties van VM-gasten kunnen verbeteren.
CPU
- Virtuele CPU-kern toewijzen aan specifieke fysieke CPU-kern
- De configuratie van de VM-gast bewerken, stel dat de VM-guestnaam “VMGUEST” is met 4 virtuele CPU-core
# virsh edit VMGUEST
-
Voeg de volgende codes toe na de regel “<vcpu …”
<cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='4'/> <vcpupin vcpu='2' cpuset='1'/> <vcpupin vcpu='3' cpuset='5'/></cputune>
waarbij vcpu de virtuele cpu core id zijn; cpuset de toegewezen fysieke CPU core id zijn. Pas het aantal regels van vcpupin aan om het vcpu aantal weer te geven en cpuset om de werkelijke fysieke cpu core toewijzing weer te geven. Over het algemeen zijn de half zo grote fysieke CPU cores de hyperthreading cores die geen full core prestaties kunnen leveren, maar wel het voordeel hebben dat ze de geheugen cache hit rate verhogen. Een algemene vuistregel om cpuset in te stellen is:
- Voor de eerste vcpu, wijs een lager half cpuset nummer toe. Bijvoorbeeld, als het systeem heeft 4 core 8 thread, de geldige waarde van cpuset ligt tussen 0 tot 7, de onderste helft is dus tussen 0 tot 3.
- Voor de tweede en de elke tweede vcpu, wijs je de hogere helft van het cpuset nummer toe. Bijvoorbeeld, als u de eerste cpuset aan 0 hebt toegewezen, dan moet de tweede cpuset op 4 worden gezet.
Voor de derde vcpu en hoger, moet je misschien bepalen welke fysieke cpu core de geheugen cache meer deelt met de eerste vcpu zoals hier beschreven en deze toewijzen aan het cpuset nummer om de geheugen cache hit rate te verhogen.
- De configuratie van de VM-gast bewerken, stel dat de VM-guestnaam “VMGUEST” is met 4 virtuele CPU-core
Disk I/O
Disk I/O is meestal een performance bottleneck vanwege de karakteristieken. In tegenstelling tot CPU en RAM, wijst een VM-host mogelijk geen speciale opslaghardware toe aan een VM. Erger nog, schijf is de traagste component van allemaal. Er zijn twee soorten knelpunten voor schijven: doorvoer en toegangstijd. Een moderne harde schijf kan een doorvoer van 100 MB/s leveren, wat voor de meeste systemen voldoende is, maar niet meer dan zo’n 60 transacties per seconde (tps).
Eén manier om de I/O-latentie van schijven te verbeteren is door een kleine maar snelle Solid State Drive (SSD) te gebruiken als cache voor grotere maar langzamere traditionele draaiende schijven. De LVM lvmcache(7) manual pagina beschrijft hoe je dit kunt instellen.
Voor de VM Host kun je verschillende disk I/O parameters benchmarken om de beste tps voor je disk te krijgen. Hieronder staat een voorbeeld van disk tuning en benchmarking met fio:
-
# echo mq-deadline > /sys/block/sda/queue/scheduler# echo 1 > /proc/sys/vm/dirty_background_ratio# echo 50 > /proc/sys/vm/dirty_ratio# echo 500 > /proc/sys/vm/dirty_expire_centisecs# /sbin/blockdev --setra 256 /dev/sda# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=/opt/fio.tmp --bs=4k --iodepth=64 --size=8G --readwrite=randrw --rwmixread=75 --runtime=60
Voor Windows VM-gasten kan het zijn dat je wilt schakelen tussen de langzame maar platformoverstijgende Windows ingebouwde IDE-driver en de snelle maar KVM-specifieke VirtIO-driver. Als gevolg hiervan is de installatiemethode voor Windows VM-gasten hieronder een beetje gecompliceerd, omdat het een manier biedt om beide stuurprogramma’s te installeren en er een te gebruiken voor uw behoeften. Onder virt-manager:
- Native driver voor Windows VM-gasten
- Maak een nieuwe VM-gast met onderstaande configuratie:
- BEIDE opslag voor Windows OS container, neem aan met bestandsnaam WINDOWS.qcow2
- BEIDE CDROM, koppel Windows OS ISO aan CDROM
Start VM guest en installeer het Windows OS zoals gebruikelijk
- Maak een nieuwe VM-gast met onderstaande configuratie:
- Sluit VM guest af
- Opnieuw configureren van VM guest met onderstaande configuratie:
- Voeg een dummy VirtIO / VirtIO SCSI opslag toe met een grootte van 100MB, bijvoorbeeld DUMMY.qcow2
-
Breng de VirtIO driver CD ISO aan op de IDE CDROM
- Start de VM guest opnieuw
- Installeer de VirtIO driver vanaf de IDE CDROM wanneer Windows om een nieuw hardware stuurprogramma vraagt
- Voor VM-gast van Windows 10 en hoger
- Run “cmd” als Administrator en voer het onderstaande commando uit
> bcdedit /set {current} safeboot minimal
- Run “cmd” als Administrator en voer het onderstaande commando uit
- Sluit VM-gast af
- Verconfigureer VM-gast opnieuw met onderstaande configuratie:
- Verwijder IDE-opslag voor Windows OS, verwijder WINDOWS.qcow2 NIET
- Verwijder VirtIO-opslag voor dummy-opslag, u kunt DUMMY.qcow2 verwijderen
- Verwijder IDE-opslag voor CD ROM
- Voeg een nieuwe VirtIO / VirtIO SCSI-opslag toe en koppel WINDOWS.qcow2 daaraan vast
- Start de VM guest opnieuw
- Voor VM guest van Windows 10 en hoger
- Log in de veilige modus van Windows 10 VM guest en voer het onderstaande commando uit
> bcdedit /deletevalue {current} safeboot
- Start de VM guest opnieuw
- Log in de veilige modus van Windows 10 VM guest en voer het onderstaande commando uit
- Native driver voor Linux VM-gasten
- Selecteer VirtIO / VirtIO SCSI-opslag voor de opslagcontainers
- Start de VM-gast opnieuw
- VirtIO / VirtIO SCSI-opslag
- VirtIO SCSI-opslag biedt rijkere mogelijkheden dan VirtIO-opslag wanneer de VM-gast is verbonden met meerdere opslagplaatsen. De prestaties zijn hetzelfde als wanneer de VM-gast slechts met één opslag was verbonden.
- Disk Cache
- Selecteer “Geen” voor de disk cache-modus, “Native” voor de IO-modus, “Unmap” voor de discard-modus en Detect zeroes-methode.
- Gebruik I/O-threads
- Het specificeren van I/O-threads kan het blokkeringsverschijnsel tijdens schijf-I/O aanzienlijk verminderen. 1 I/O thread is voldoende voor de meeste gevallen:
- Bewerk de VM guest configuratie, neem aan dat de VM guest naam “VMGUEST” is
# virsh edit VMGUEST
-
Na de eerste regel “<domain …>”, voeg je de regel “iothreads” toe:
<iothreads>1</iothreads>
-
Na de regel van schijfcontroller, bijvoorbeeld voor Virtio-SCSI controller, na de regel “<controller type=’scsi’ …>”, voeg “driver” regel toe:
<driver iothread='1'/>
Network I/O
Gebruik virt-manager:
- Native driver voor Windows VM-gasten
- Selecteer VirtIO voor de netwerkadapter
-
Breng VirtIO driver CD ISO aan op de IDE CDROM
- Start de VM-gast opnieuw op, Windows heeft een nieuwe netwerkadapter hardware gevonden, installeer de VirtIO driver vanaf de IDE CDROM
- Native driver voor Linux VM gasten
- Selecteer VirtIO voor de netwerk adapter
- Start de VM-gast opnieuw
Memory
- Huge Page Memory support
- Bereken de benodigde huge page counts. Elke enorme pagina is 2 MB groot, dus we kunnen onderstaande formule gebruiken voor de berekening.
Huge Page Counts = Total VM Guest Memory In MB / 2
bijv. 4 VM-gasten, elke VM-gast gebruikt 1024MB, dan is het aantal reusachtige pagina’s = 4 x 1024 / 2 = 2048. Merk op dat het systeem kan hangen als het verkregen geheugen meer is dan dat van het beschikbare systeem.
-
Configureer ?HugePages geheugen ondersteuning met behulp van onderstaande commando. Omdat groot geheugen mogelijk niet wordt toegewezen als het te gefragmenteerd is, is het beter om de code toe te voegen aan /etc/rc.local
echo 2048 > /proc/sys/vm/nr_hugepagesmkdir -p /mnt/hugetlbfsmount -t hugetlbfs hugetlbfs /mnt/hugetlbfsmkdir -p /mnt/hugetlbfs/libvirt/binsystemctl restart libvirtd
- Reboot het systeem om ondersteuning van groot pagina geheugen in te schakelen. Controleer de ondersteuning voor groot paginageheugen met het onderstaande commando.
# cat /proc/meminfo | grep HugePages_HugePages_Total: 2048HugePages_Free: 2048HugePages_Rsvd: 0HugePages_Surp: 0
- Bewerk de VM-gastconfiguratie, neem aan dat de VM-gastnaam “VMGUEST” is
# virsh edit VMGUEST
-
Voeg onderstaande codes toe na de regel “<currentMemory …”
<memoryBacking> <hugepages/></memoryBacking>
- Start de VM-gast “VMGUEST” en controleer of deze veel paginageheugen gebruikt met het onderstaande commando.
# virsh start VMGUEST# cat /proc/meminfo | grep HugePages_HugePages_Total: 2048HugePages_Free: 1536HugePages_Rsvd: 0HugePages_Surp: 0
Huge Page Counts = Total VM Guest Memory In MB / 2
- Bereken de benodigde huge page counts. Elke enorme pagina is 2 MB groot, dus we kunnen onderstaande formule gebruiken voor de berekening.
Gasten migreren naar een Debian host
Gasten migreren van RHEL/CentOS 5.x
Er zijn een paar kleine dingen in de guest XML configuratiebestanden (/etc/libvirt/qemu/*.xml die je moet aanpassen:
-
Machine variabele in <os> sectie moet zeggen pc, niet rhel5.4.0 of vergelijkbaar
-
Emulator-ingang moet naar /usr/bin/kvm wijzen, niet naar /usr/libexec/qemu-kvm
Met andere woorden, de relevante secties moeten er ongeveer als volgt uitzien:
<os> <type arch='x86_64' machine='pc'>hvm</type> --- snip --- <devices> <emulator>/usr/bin/kvm</emulator>
Als u een bridge-netwerk had geconfigureerd op de CentOS-host, raadpleeg dan dit wiki-artikel over hoe u dit kunt laten werken op Debian.
Troubleshooting
Geen netwerk bridge beschikbaar
virt-manager gebruikt een virtueel netwerk voor zijn gasten, standaard is dit gerouteerd naar 192.168.122.0/24 en u zou dit moeten zien door ip route in te typen als root.
Als deze route niet aanwezig is in de kernel routing tabel dan zullen de gasten geen verbinding kunnen maken en zult u niet in staat zijn om een gast creatie te voltooien.
Het is eenvoudig om dit te verhelpen, open virt-manager en ga naar “Bewerken” -> “Host details” -> “Virtuele netwerken” tab. Van daaruit kunt u een eigen virtueel netwerk aanmaken of proberen het standaard netwerk te repareren. Meestal is het probleem dat het standaard netwerk niet is opgestart.
cannot create bridge ‘virbr0’: Bestand bestaat:
Om dit probleem op te lossen kunt u de virbr0 verwijderen door uit te voeren:
brctl delbr virbr0
Open virt-manager en ga naar “Edit” -> “Host details” -> “Virtual networks” start het standaard netwerk.
U kunt de netstatus controleren
virsh net-list --all
Opties, u kunt bridge netwerk BridgeNetworkConnections gebruiken
Windows guest hangt vaak of BSOD
Sommige Windows guest die sommige high-end N-way CPU gebruiken kunnen vaak hangen of BSOD vinden, dit is een bekende kernel bug die helaas niet is opgelost in Jessie (TBC in Stretch). Onderstaande workaround kan worden toegepast door een sectie <hyperv></hyperv> toe te voegen in de gast configuratie via het commando virsh edit GUESTNAME:
<domain ...> ... <features> ... <hyperv> <relaxed state='on'/> </hyperv> </features> ...
Zie ook
-
libvirt
-
QEMU
Je kunt een voorbeeld vinden om te testen. U kunt het niet op afstand doen.
Links naar externe documentatie toevoegen, alstublieft. Dit is geen plaats voor links naar niet-vrije commerciële producten.
-
https://www.linux-kvm.org/ – Kernel Based Virtual Machine homepage;
-
https://www.linux-kvm.org/page/HOWTO – Howto’s
-
#kvm – IRC-kanaal
-
https://web.archive.org/web/20080103004709/http://kvm.qumranet.com/kvmwiki/Debian – KVM op Debian Sid. KVM op Debian Sid (oude KVM-wiki)
CategorieSysteembeheer | CategorieVirtualisatie | CategorieSoftware