Tips en Trucs 2025

Kernel-based Virtual Machine

KVM, een afkorting van Kernel-based Virtual Machine, is een FreeBSD- en Linux-kernelmodule waarmee de kernel als hypervisor kan fungeren. Vanaf kernelversie 2.6.20 is KVM geïntegreerd in de Linux-kernel.

Met KVM kun je eenvoudig een virtualisatieomgeving opzetten in een Linux-machine en een breed scala aan gastbesturingssystemen hosten, waaronder Linux, Windows, BSD, macOS en vele andere.

KVM installeren

Om KVM en alle andere vereiste componenten te installeren om een KVM-virtualisatieomgeving op Debian Bookworm systeem in te stellen, voer je de volgende opdracht uit als sudo-gebruiker.

dany@pindabook:~$ sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst
[sudo] wachtwoord voor root: 
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar 
Let op, 'qemu-system-x86' wordt geselecteerd in plaats van 'qemu-kvm'
De volgende extra pakketten zullen geïnstalleerd worden:
  dmeventd gir1.2-libosinfo-1.0 gnutls-bin ibverbs-providers iptables ipxe-qemu libaio1 libburn4 libcacard0
  libcapstone4 libdaxctl1 libdevmapper-event1.02.1 libexecs0 libfdt1 libgfapi0 libgfrpc0 libgfxdr0 libglusterfs0
  libgnutls-dane0 libgtk-vnc-2.0-0 libgvnc-1.0-0 libibverbs1 libip6tc2 libiscsi7 libisoburn1 libisofs6 libjte2
  liblvm2cmd2.03 libndctl6 libnss-mymachines libosinfo-1.0-0 libosinfo-l10n libphodav-3.0-0 libphodav-3.0-common
  libpmem1 librados2 librbd1 librdmacm1 libslirp0 libspice-client-glib-2.0-8 libspice-client-gtk-3.0-5
  libspice-server1 libtpms0 libunbound8 libusbredirhost1 libusbredirparser1 libvdeplug2 libvirglrenderer1
  libvirt-daemon libvirt-daemon-config-network libvirt-daemon-config-nwfilter libvirt-daemon-driver-lxc
  libvirt-daemon-driver-qemu libvirt-daemon-driver-vbox libvirt-daemon-driver-xen libvirt-daemon-system-systemd
  libvirt-glib-1.0-0 libvirt-glib-1.0-data libvirt-l10n libvirt0 libvte-2.91-0 libvte-2.91-common libxencall1
  libxendevicemodel1 libxenevtchn1 libxenforeignmemory1 libxengnttab1 libxenhypfs1 libxenmisc4.17 libxenstore4
  libxentoolcore1 libxentoollog1 lvm2 mdevctl netcat-openbsd osinfo-db ovmf python3-libvirt python3-libxml2
  qemu-block-extra qemu-system-common qemu-system-data qemu-system-gui qemu-utils seabios
  spice-client-glib-usb-acl-helper swtpm swtpm-libs swtpm-tools systemd-container thin-provisioning-tools
  virt-viewer xorriso
Voorgestelde pakketten:
  firewalld libvirt-clients-qemu libvirt-login-shell libvirt-daemon-driver-storage-gluster
  libvirt-daemon-driver-storage-iscsi-direct libvirt-daemon-driver-storage-rbd libvirt-daemon-driver-storage-zfs
  numad auditd nfs-common open-iscsi pm-utils systemtap zfsutils samba vde2 trousers python3-argcomplete
  xorriso-tcltk jigit cdck
De volgende NIEUWE pakketten zullen geïnstalleerd worden:
  bridge-utils dmeventd gir1.2-libosinfo-1.0 gnutls-bin ibverbs-providers iptables ipxe-qemu libaio1 libburn4
  libcacard0 libcapstone4 libdaxctl1 libdevmapper-event1.02.1 libexecs0 libfdt1 libgfapi0 libgfrpc0 libgfxdr0
  libglusterfs0 libgnutls-dane0 libgtk-vnc-2.0-0 libgvnc-1.0-0 libibverbs1 libip6tc2 libiscsi7 libisoburn1
  libisofs6 libjte2 liblvm2cmd2.03 libndctl6 libnss-mymachines libosinfo-1.0-0 libosinfo-l10n libphodav-3.0-0
  libphodav-3.0-common libpmem1 librados2 librbd1 librdmacm1 libslirp0 libspice-client-glib-2.0-8
  libspice-client-gtk-3.0-5 libspice-server1 libtpms0 libunbound8 libusbredirhost1 libusbredirparser1 libvdeplug2
  libvirglrenderer1 libvirt-clients libvirt-daemon libvirt-daemon-config-network libvirt-daemon-config-nwfilter
  libvirt-daemon-driver-lxc libvirt-daemon-driver-qemu libvirt-daemon-driver-vbox libvirt-daemon-driver-xen
  libvirt-daemon-system libvirt-daemon-system-systemd libvirt-glib-1.0-0 libvirt-glib-1.0-data libvirt-l10n
  libvirt0 libvte-2.91-0 libvte-2.91-common libxencall1 libxendevicemodel1 libxenevtchn1 libxenforeignmemory1
  libxengnttab1 libxenhypfs1 libxenmisc4.17 libxenstore4 libxentoolcore1 libxentoollog1 lvm2 mdevctl
  netcat-openbsd osinfo-db ovmf python3-libvirt python3-libxml2 qemu-block-extra qemu-system-common
  qemu-system-data qemu-system-gui qemu-system-x86 qemu-utils seabios spice-client-glib-usb-acl-helper swtpm
  swtpm-libs swtpm-tools systemd-container thin-provisioning-tools virt-viewer virtinst xorriso
0 opgewaardeerd, 98 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
Er moeten 63,2 MB aan archieven opgehaald worden.
Na deze bewerking zal er 218 MB extra schijfruimte gebruikt worden.
Wilt u doorgaan? [J/n] 
Ophalen:1 http://security.debian.org/debian-security bookworm-security/main amd64 libgnutls-dane0 amd64 3.7.9-2+deb12u5 [407 kB]
Ophalen:2 http://deb.debian.org/debian bookworm/main amd64 bridge-utils amd64 1.7.1-1 [34,5 kB]
Ophalen:3 http://deb.debian.org/debian bookworm/main amd64 libdevmapper-event1.02.1 amd64 2:1.02.185-2 [12,9 kB]
...
Ophalen:96 http://deb.debian.org/debian bookworm/main amd64 virt-viewer amd64 11.0-2 [245 kB]
Ophalen:97 http://deb.debian.org/debian bookworm/main amd64 xorriso amd64 1.5.4-4 [322 kB]
Ophalen:98 http://deb.debian.org/debian bookworm/main amd64 virtinst all 1:4.1.0-2 [818 kB]
63,2 MB opgehaald in 4s (16,4 MB/s)
Extraheren van sjablonen uit pakketten: 100%
Voorconfigureren van pakketten ...
Voorheen niet geselecteerd pakket bridge-utils wordt geselecteerd.
(Database wordt ingelezen ... 173843 bestanden en mappen momenteel geïnstalleerd.)
Uitpakken van .../00-bridge-utils_1.7.1-1_amd64.deb wordt voorbereid...
Bezig met uitpakken van bridge-utils (1.7.1-1) ...
...
Voorheen niet geselecteerd pakket virtinst wordt geselecteerd.
Uitpakken van .../97-virtinst_1%3a4.1.0-2_all.deb wordt voorbereid...
Bezig met uitpakken van virtinst (1:4.1.0-2) ...
Instellen van libxentoollog1:amd64 (4.17.5+23-ga4e5191dc0-1+deb12u1) ...
Instellen van libvirt-daemon-config-network (9.0.0-4+deb12u2) ...
Instellen van libibverbs1:amd64 (44.0-2) ...
...
Instellen van liblvm2cmd2.03:amd64 (2.03.16-2) ...
Instellen van dmeventd (2:1.02.185-2) ...
Created symlink /etc/systemd/system/sockets.target.wants/dm-event.socket → /lib/systemd/system/dm-event.socket.
dm-event.service is a disabled or a static unit, not starting it.
Instellen van lvm2 (2.03.16-2) ...
Created symlink /etc/systemd/system/sysinit.target.wants/blk-availability.service → /lib/systemd/system/blk-availability.service.
Created symlink /etc/systemd/system/sysinit.target.wants/lvm2-monitor.service → /lib/systemd/system/lvm2-monitor.service.
Created symlink /etc/systemd/system/sysinit.target.wants/lvm2-lvmpolld.socket → /lib/systemd/system/lvm2-lvmpolld.socket.
Bezig met afhandelen van triggers voor dbus (1.14.10-1~deb12u1) ...
Bezig met afhandelen van triggers voor shared-mime-info (2.2-1) ...
Bezig met afhandelen van triggers voor install-info (6.8-6+b1) ...
Bezig met afhandelen van triggers voor mailcap (3.70+nmu1) ...
Bezig met afhandelen van triggers voor desktop-file-utils (0.26-1) ...
Bezig met afhandelen van triggers voor initramfs-tools (0.142+deb12u3) ...
update-initramfs: Generating /boot/initrd.img-6.1.0-37-amd64
Bezig met afhandelen van triggers voor hicolor-icon-theme (0.17-2) ...
Bezig met afhandelen van triggers voor libc-bin (2.36-9+deb12u10) ...
Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...

De geïnstalleerde onderdelen bestaan uit:

Voordat je verder, moet je controleren in welke mate de processor van jouw systeem hardwarevirtualisatie ondersteunt.

dany@pindabook:~$ sudo virt-host-validate qemu
 QEMU: Checking for hardware virtualization                                 : PASS
 QEMU: Checking if device /dev/kvm exists                                   : PASS
 QEMU: Checking if device /dev/kvm is accessible                            : PASS
 QEMU: Checking if device /dev/vhost-net exists                             : PASS
 QEMU: Checking if device /dev/net/tun exists                               : PASS
 QEMU: Checking for cgroup 'cpu' controller support                         : PASS
 QEMU: Checking for cgroup 'cpuacct' controller support                     : PASS
 QEMU: Checking for cgroup 'cpuset' controller support                      : PASS
 QEMU: Checking for cgroup 'memory' controller support                      : PASS
 QEMU: Checking for cgroup 'devices' controller support                     : PASS
 QEMU: Checking for cgroup 'blkio' controller support                       : PASS
 QEMU: Checking for device assignment IOMMU support                         : WARN (No ACPI DMAR table found, IOMMU either disabled in BIOS or not supported by this hardware platform)
 QEMU: Checking for secure guest support                                    : WARN (Unknown if this platform has Secure Guest support)

Bij eventuele waarschuwingen (WARN) en fouten (FAIL) staat informatie over hoe je het probleem indien mogelijk kunt verhelpen.

Zodra KVM is geïnstalleerd, start je de libvertd-service (als deze nog niet is gestart):

dany@pindabook:~$ sudo systemctl enable libvirtd
dany@pindabook:~$ sudo systemctl start libvirtd

Controleer de toestand van de libvirtd-service met de opdracht:

dany@pindabook:~$ systemctl status libvirtd
libvirtd.service - Virtualization daemon
    Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; preset: enabled)
    Active: active (running) since Sun 2025-07-27 14:55:50 CEST; 1min 29s ago
TriggeredBy: libvirtd.socket
             libvirtd-ro.socket
             libvirtd-admin.socket
      Docs: man:libvirtd(8)
            https://libvirt.org
  Main PID: 23687 (libvirtd)
     Tasks: 19 (limit: 32768)
    Memory: 12.1M
       CPU: 282ms
    CGroup: /system.slice/libvirtd.service
            └─23687 /usr/sbin/libvirtd --timeout 120

De libvertd-service is nu ingeschakeld en gestart!

Voeg nu de huidige gebruiker toe aan de kvm- en libvirt-groepen, zodat deze VM's kan maken en beheren met behulp van de virsh opdracht of de Virt-manager GUI.

dany@pindabook:~$ sudo usermod -aG kvm $USER
dany@pindabook:~$ sudo usermod -aG libvirt $USER

Je moet dan alle virtuele machines die worden beheerd door libvirt kunnen weergeven:

dany@pindabook:~$ virsh list --all
 Id   Naam   Toestand
-----------------------

Indien dit niet lukt, maar wel als sudo-gebruiker, log dan uit en opnieuw in of herstart het systeem om de huidige gebruiker in de groep libvirt op te nemen.

Zoals je kunt zien, zijn er geen bestaande virtuele machines.

Standaard stelt KVM een privé virtuele netwerkbridge in, zodat alle VM's met elkaar kunnen communiceren binnen de hostcomputer. Het biedt een eigen subnet en DHCP om het netwerk van de gast te configureren en gebruikt NAT om toegang te krijgen tot het hostnetwerk.

Geef de beschikbare virtuele netwerksystemen weer met:

dany@pindabook:~$ sudo virsh net-list --all
 Naam      Toestand   Automatisch starten   Permanent
-------------------------------------------------------
 default   inactief   nee                   ja

Er is een netwerk beschikbaar, maar dit is niet actief. Activeer het beschikbaar standaard netwerk met:

dany@pindabook:~$ sudo virsh net-start default
Netwerk default gestart

Om het standaard netwerk automatisch te starten:

dany@pindabook:~$ sudo virsh net-autostart default
Netwerk default gemarkeerd om automatisch te starten

dany@pindabook:~$ sudo virsh net-list --all
 Naam      Toestand   Automatisch starten   Permanent
-------------------------------------------------------
 default   actief     ja                    ja

Virtuele machine aanmaken

Voordat we onze eerste VM aanmaken, moeten we de ISO-image uploaden naar de map /var/lib/libvirt/boot/. Om bijvoorbeeld SystemRescue de downloaden en in de map /var/lib/libvirt/boot/ op te slaan, gebruik je:

dany@pindabook:~$ sudo wget --output-document=/var/lib/libvirt/boot/systemrescue-12.01-amd64.iso https://sourceforge.net/projects/systemrescuecd/files/sysresccd-x86/12.01/systemrescue-12.01-amd64.iso/download
--2025-07-27 18:07:33--  https://sourceforge.net/projects/systemrescuecd/files/sysresccd-x86/12.01/systemrescue-12.01-amd64.iso/download
Herleiden van sourceforge.net (sourceforge.net)... 2606:4700::6812:d95, 2606:4700::6812:c95, 104.18.12.149, ...
Verbinding maken met sourceforge.net (sourceforge.net)|2606:4700::6812:d95|:443... verbonden.
HTTP-verzoek is verzonden; wachten op antwoord... 302 Found
Locatie: https://downloads.sourceforge.net/project/systemrescuecd/sysresccd-x86/12.01/systemrescue-12.01-amd64.iso?ts=gAAAAABohk7Ffz5VDNE4J7entSHDz_-OE6wRVAJ1jwnyinW88pDNYsCiU1VmJNN-4gBdktUAlj1CUFrrgbGGKG9Yd_L0jV0r3g%3D%3D&use_mirror=deac-fra&r= [volgen...]
--2025-07-27 18:07:33--  https://downloads.sourceforge.net/project/systemrescuecd/sysresccd-x86/12.01/systemrescue-12.01-amd64.iso?ts=gAAAAABohk7Ffz5VDNE4J7entSHDz_-OE6wRVAJ1jwnyinW88pDNYsCiU1VmJNN-4gBdktUAlj1CUFrrgbGGKG9Yd_L0jV0r3g%3D%3D&use_mirror=deac-fra&r=
Herleiden van downloads.sourceforge.net (downloads.sourceforge.net)... 2606:4700::6812:d95, 2606:4700::6812:c95, 104.18.13.149, ...
Verbinding maken met downloads.sourceforge.net (downloads.sourceforge.net)|2606:4700::6812:d95|:443... verbonden.
HTTP-verzoek is verzonden; wachten op antwoord... 302 Found
Locatie: https://deac-fra.dl.sourceforge.net/project/systemrescuecd/sysresccd-x86/12.01/systemrescue-12.01-amd64.iso?viasf=1 [volgen...]
--2025-07-27 18:07:34--  https://deac-fra.dl.sourceforge.net/project/systemrescuecd/sysresccd-x86/12.01/systemrescue-12.01-amd64.iso?viasf=1
Herleiden van deac-fra.dl.sourceforge.net (deac-fra.dl.sourceforge.net)... 37.203.33.33
Verbinding maken met deac-fra.dl.sourceforge.net (deac-fra.dl.sourceforge.net)|37.203.33.33|:443... verbonden.
HTTP-verzoek is verzonden; wachten op antwoord... 200 OK
Lengte: 1092157440 (1,0G) [application/octet-stream]
Wordt opgeslagen als: ‘/var/lib/libvirt/boot/systemrescue-12.01-amd64.iso’

/var/lib/libvirt/boot/systemre 100%[=================================================>]   1,02G  1,74MB/s    in 10m 8s  

2025-07-27 18:17:42 (1,71 MB/s) - '‘/var/lib/libvirt/boot/systemrescue-12.01-amd64.iso’' opgeslagen [1092157440/1092157440]

Voor de meeste besturingssystemen zijn er in KVM geoptimaliseerde instellingen voorhanden. Je kunt de lijst daarvan opvragen met de opdracht virt-install --osinfo list. Daar SystemRescue is gebaseerd op Arch Linux gebruik ik een filter (grep) om de optimalisatie na te gaan.

dany@pindabook:~$ virt-install --osinfo list | grep archlinux
archlinux

Laten we een SystemRescue (Arch Linux) virtuele machine maken met 4 GB RAM, 2 CPU-kernen en 10 GB HDD. Onderstaande opdracht gebruikt daarvoor de volgende opties:

dany@pindabook:~$ sudo virt-install --name Systemrescue --ram=4096 --vcpus=2 --cpu host --hvm --disk path=/var/lib/libvirt/images/systemrescue-vm1,size=10 --cdrom /var/lib/libvirt/boot/systemrescue-12.01-amd64.iso --graphics vnc --osinfo archlinux
WARNING  Graphics requested but DISPLAY is not set. Not running virt-viewer.
WARNING  No console to launch for the guest, defaulting to --wait -1

Installatie wordt gestart...
Allocating 'systemrescue-vm1'                                                                     |    0 B  00:00:00 ... 
Domein aanmaken...                                                                                |    0 B  00:00:00     

Domain is still running. Installation may be in progress.
Waiting for the installation to complete.

Zolang de virtuele computer werkt, blijft deze opdracht lopen. M.a.w. om het scherm van de virtuele computer weer te geven, starten we een een tweede terminal. Daarin vragen we eerst de VNC gegevens op:

dany@pindabook:~$ sudo virsh dumpxml Systemrescue | grep vnc
[sudo] wachtwoord voor root: 
    <graphics type='vnc' port='5900' autoport='yes' listen='127.0.0.1'>

Met een VNC Viewer zoals Remote Viewer kan je het scherm van de virtuele computer bekijken.

dany@pindabook:~$ remote-viewer vnc://localhost:5900
KVM Terminal scherm

Maar ook grafische desktop's zijn mogelijk. Door op het toetsenbord met actieve VNC scherm de opdracht startx te starten, start een grafisch bureaublad die je met de muis en toetsenbord kunt bedienen.

KVM Desktop scherm

Een virtuele computer sluit je af zoals een fysieke computer. Na het afsluiten van de virtuele computer wordt in de tweede terminal de VNC Viewer afgesloten.

dany@pindabook:~$ remote-viewer vnc://localhost:5900

(remote-viewer:3466): virt-viewer-WARNING **: 18:26:09.535: vnc-session: got vnc error Server closed the connection

En in de eerste terminal de virt-install opdracht.

Domein is afgesloten. Ga verder.
Domain creation completed.
Restarting guest.

Zoals je merkt, werd de virtuele computer herstart. De virt-install opdracht is eigenlijk bedoeld om bij het aanmaken van een virtuele computer ook een besturingssysteem te installeren. Na de installatie volgt dan een herstart, wat virt-install automatisch doet. Start opnieuw de VNC viewer en inderdaad de virtuele computer werd herstart.
KVM reboot install

Sluit de VNC Viewer (sessie) af.

Virtuele computers gebruiken

Bekijk de lijst met actieve (draaiende) virtuele computer met:

dany@pindabook:~$ sudo virsh list
[sudo] wachtwoord voor root: 
 Id   Naam           Toestand
-------------------------------
 2    Systemrescue   draaien

Zoals je kunt zien, is Systemrescue VM momenteel actief en heeft het ID 2. Gebruik de optie --all om alle VM's (zowel actieve als gestopte) weer te geven.

dany@pindabook:~$ sudo virsh list --all
 Id   Naam           Toestand
-------------------------------
 2    Systemrescue   draaien

Om een actieve VM uit te schakelen:

dany@pindabook:~$ sudo virsh shutdown Systemrescue
Domain 'Systemrescue' is being shutdown
dany@pindabook:~$ sudo virsh list --all
 Id   Naam           Toestand
-------------------------------
 2    Systemrescue   draaien

Blijkbaar hangt de virtuele computer en kan je deze alleen stoppen door de virtuele stroom te onderbreken:

dany@pindabook:~$ sudo virsh destroy Systemrescue --graceful
Domain 'Systemrescue' destroyed

dany@pindabook:~$ sudo virsh list --all
 Id   Naam           Toestand
---------------------------------
 -    Systemrescue   afgesloten

Een afgesloten VM kan je aanpassen met je favoriete teksteditor:

dany@pindabook:~$ sudo virsh edit Systemrescue
[sudo] wachtwoord voor root: 

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.tiny

Choose 1-2 [1]: 1

 GNU nano 7.2                                    /tmp/virshDXXHA3.xml                                               
<domain type='kvm'>
 <name>Systemrescue</name>
 <uuid>5b023302-1ce0-4d65-b4d1-a0a9fa44cd89</uuid>
 <metadata>
   <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
     <libosinfo:os id="http://archlinux.org/archlinux/rolling"/>
   </libosinfo:libosinfo>
 </metadata>
 <memory unit='KiB'>4194304</memory>
 <currentMemory unit='KiB'>4194304</currentMemory>
 <vcpu placement='static'>2</vcpu>
 <os>
   <type arch='x86_64' machine='pc-q35-7.2'>hvm</type>
   <boot dev='hd'/>
 </os>
 <features>
   <acpi/>
   <apic/>
 </features>
 <cpu mode='host-model' check='partial'/>
 <clock offset='utc'>
   <timer name='rtc' tickpolicy='catchup'/>
   <timer name='pit' tickpolicy='delay'/>
   <timer name='hpet' present='no'/>
 </clock>
 <on_poweroff>destroy</on_poweroff>
                                              [ 166 regels gelezen ]
^G Hulp         ^O Opslaan      ^W Zoeken       ^K Knippen      ^T Opdracht     ^C Positie      M-U Terugdraaien
^X Afsluiten    ^R Inlezen      ^\ Vervangen    ^U Plakken      ^J Uitvullen    ^/ Naar regel   M-E Herdoen

Om een VM te starten:

dany@pindabook:~$ sudo virsh start Systemrescue
Domain 'Systemrescue' started

dany@pindabook:~$ sudo virsh list --all
 Id   Naam           Toestand
-------------------------------
 3    Systemrescue   draaien

Om een VM te herstarten:

dany@pindabook:~$ sudo virsh reboot Systemrescue
Domain 'Systemrescue' is being rebooted

dany@pindabook:~$ sudo virsh list --all
 Id   Naam           Toestand
-------------------------------
 3    Systemrescue   draaien

Om een VM te verwijderen, moet je deze eerste stoppen, in ons geval met:

dany@pindabook:~$ sudo virsh destroy Systemrescue --graceful
Domain 'Systemrescue' destroyed

Om deze daarna te verwijderen:

dany@pindabook:~$ sudo virsh undefine Systemrescue
Domain 'Systemrescue' has been undefined

Daarbij wordt echter alleen de definitie van de virtuele machine vernietigd, de gebruikte bestanden, zoals schijfbestanden blijven bestaan.

dany@pindabook:~$ sudo ls -lsh /var/lib/libvirt/boot/
totaal 1,1G
1,1G -rw-r--r-- 1 libvirt-qemu libvirt-qemu 1,1G 26 mei 14:39 systemrescue-12.01-amd64.iso
dany@pindabook:~$ sudo ls -lsh /var/lib/libvirt/images/
totaal 1,8M
1,8M -rw------- 1 root root 11G  1 aug 17:53 systemrescue-vm1

De tweede opdracht toont het schijfbestand van 11 GB, maar neemt maar 1,8 MB in op de schijf (zichtbaar door de optie -s van de ls opdracht). Virtuele schijfbestanden gebruiken sparse bestanden waarbij enkel gebruikte data ruimte op de schijf inneemt, m.a.w. hoe meer virtuele schijfruimte wordt gebruikt, hoe groter het schijfbestand wordt.

En verder

KVM heeft nog veel meer mogelijkheden, deze kan je ontdekken op de volgende webpagina's:

Hoewel je alles met terminal opdrachten kunt, kan je ook gebruik maken van de Virtual Machine Manager. Installeer daarvoor het pakket virt-manager.

Virtual Machine Manager

KVM verwijderen