Gebruikershulpmiddelen

Site-hulpmiddelen


technische_naslag:kvm_cli

Verschillen

Dit geeft de verschillen weer tussen de geselecteerde revisie en de huidige revisie van de pagina.

Link naar deze vergelijking

Beide kanten vorige revisieVorige revisie
Volgende revisie
Vorige revisie
technische_naslag:kvm_cli [2025/07/17 19:23] michelletechnische_naslag:kvm_cli [2025/07/17 21:55] (huidige) – [Introductie] michelle
Regel 1: Regel 1:
 ===== Introductie ===== ===== Introductie =====
  
-We gaan KVM installeren, configureren en gebruiken op de Debian GNU/Linux 13 "trixie".+We gaan KVM installeren, configureren en gebruiken op de Debian GNU/Linux 13 "//Trixie//.
 De bedoeling is alles KVM gerelateerd in /data/kvm te zetten en daarbij per VM een filesystem te hebben en tevens een filesystem te hebben om de ISO's te bewaren. De bedoeling is alles KVM gerelateerd in /data/kvm te zetten en daarbij per VM een filesystem te hebben en tevens een filesystem te hebben om de ISO's te bewaren.
 +
 +==== Bronnen ====
 +
 +Voor mijn installatie zoals hieronder beschreven heb ik gebruik gemaakt van - beter goed gejat dan slecht verzonnen nietwaar? - de volgende bronnen:
 +
 +  * https://www.linuxtechi.com/how-to-install-kvm-on-debian/
 +  * https://linuxconfig.org/how-to-create-and-manage-kvm-virtual-machines-from-cli
 +
 +Sommige dingen (zoals bijvoorbeeld het verhaal over supported guest OS'en) heb ik zelf toegevoegd...
  
 ==== Prerequisites ==== ==== Prerequisites ====
  
-Het is wel van belang dat je CPU virtualisatie snapt. Dit kun je als volgt controlleren:+Het is wel van belang dat je CPU virtualisatie snapt. Dit kun je als volgt controleren:
  
 <code bash> <code bash>
Regel 15: Regel 24:
 Je ziet voor iedere CPU(core) in je systeem als het goed is terugkomen of deze VMX (Intel) of SVM (AMD) ondersteund. Je ziet voor iedere CPU(core) in je systeem als het goed is terugkomen of deze VMX (Intel) of SVM (AMD) ondersteund.
  
 +De bijpassende kernel-modules zijn dan als het goed is ook geladen:
 +
 +<code bash>
 +michelle@lummel:~$ lsmod | grep kvm
 +kvm_intel             413696  0
 +kvm                  1396736  1 kvm_intel
 +irqbypass              12288  1 kvm
 +</code>
 +
 +If not, dan heb je 2 kansen:
 +
 +  * Je hardware snapt het echt niet
 +  * E.e.a. staat uitgeschakeld in de UEFI/BIOS.
 +
 +Dat laatste valt te verhelpen door je machine te rebooten en de instellingen van de UEFI/BIOS na te lopen. Het eerste is niet anders op te lossen dan door nieuwe hardware te kopen. Of - zoals ik - je werkgever te verzoeken om wat recentere laptop...
 +
 +==== Ondersteunde Guest-VMs ====
 +
 +Dit is een instinker waar niet iedereen direct bij stilstaat. Maar de grote OS-boeren vinden het tegenwoordig leuk om alleen recente CPU's te ondersteunen. Microsoft Windows 11 wil graag een X86-64-V2-AES CPU hebben en bij RedHat (IBM dus) willen ze zelfs een X86-64-V3 hebben voor RHEL10. Je kunt kijken wat jouw systeem ondersteund:
 +
 +<code bash>
 +michelle@lummel:~$ /usr/lib64/ld-linux-x86-64.so.2  --help | tail -4
 +Subdirectories of glibc-hwcaps directories, in priority order:
 +  x86-64-v4
 +  x86-64-v3 (supported, searched)
 +  x86-64-v2 (supported, searched)
 +</code>
 +
 +In tegenstelling tot mijn ProxMox servertje kan dit ding dus wel RHEL10 draaien.
 ===== Voorbereidingen op het OS ===== ===== Voorbereidingen op het OS =====
  
Regel 43: Regel 81:
 </code> </code>
  
 +En dat te mounten en dan de rechten op de mappen goed te zetten:
 +
 +<code bash>
 +michelle@lummel:~$ sudo mount -a
 +michelle@lummel:~$ sudo chgrp -R cdrom /data/kvm/iso
 +michelle@lummel:~$ sudo chgrp -R kvm /data/kvm/vm
 +michelle@lummel:~$ sudo chmod -R g+w /data/kvm/*
 +</code>
 ==== Account (groepen) ==== ==== Account (groepen) ====
 +
 +Omdat ik met mijn persoonlijke account dingen wil kunnen doen maak ik mezelf nog even lid van deze groepen:
  
 <code bash> <code bash>
Regel 52: Regel 100:
 ==== RHEL ISO bestanden ==== ==== RHEL ISO bestanden ====
  
-Om wat te kunnen installeren heb je minimaal een ISO bestand nodig van een of ander OS. Ik wil met RHEL10 gaan spelen maar mogelijk ook een RHEL9 VM draaien als ik dat voor mijn werk nodig heb:+Om wat te kunnen installeren heb je minimaal een ISO bestand nodig van een of ander OS. Ik wil met RHEL10 gaan spelen maar mogelijk ook een RHEL9 VM draaien als ik dat voor mijn werk nodig heb. Die heb ik dus gedownload en in de daarvoor aangemaakte map gezet:
  
 <code bash> <code bash>
Regel 58: Regel 106:
 817M    /data/kvm/iso/rhel-10.0-x86_64-boot.iso 817M    /data/kvm/iso/rhel-10.0-x86_64-boot.iso
 1,2G    /data/kvm/iso/rhel-9.6-x86_64-boot.iso 1,2G    /data/kvm/iso/rhel-9.6-x86_64-boot.iso
 +</code>
 +
 +===== Installatie =====
 +
 +==== KVM (QEMU) installeren ====
 +
 +Installeer de benodigde packages:
 +
 +<code bash>
 +michelle@lummel:~$ sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils libvirt-daemon virt-install virt-viewer
 +Let op, 'qemu-system-x86' wordt geselecteerd in plaats van 'qemu-kvm'
 +Installeren:
 +  bridge-utils  libvirt-clients  libvirt-daemon  libvirt-daemon-system  qemu-system-x86  virt-install  virt-viewer
 +
 +Installeren van vereisten:
 +  gir1.2-libosinfo-1.0  libglusterfs0      libosinfo-1.0-0             libusbredirhost1t64              libvirt-daemon-driver-storage          libvte-2.91-common          qemu-system-modules-spice
 +  ibverbs-providers     libgtk-vnc-2.0-0   libosinfo-l10n              libusbredirparser1t64            libvirt-daemon-driver-storage-disk     mdevctl                     qemu-utils
 +  iptables              libgvnc-1.0-0      libphodav-3.0-0             libvdeplug2t64                   libvirt-daemon-driver-storage-iscsi    netcat-openbsd              seabios
 +  ipxe-qemu             libibverbs1        libphodav-3.0-common        libvirglrenderer1                libvirt-daemon-driver-storage-logical  open-iscsi                  spice-client-glib-usb-acl-helper
 +  libblkio1             libip4tc2          libpmem1                    libvirt-common                   libvirt-daemon-driver-storage-mpath    osinfo-db                   swtpm
 +  libburn4t64           libip6tc2          librados2                   libvirt-daemon-common            libvirt-daemon-driver-storage-scsi     ovmf                        swtpm-libs
 +  libcacard0            libiscsi7          librbd1                     libvirt-daemon-config-network    libvirt-daemon-lock                    passt                       swtpm-tools
 +  libcapstone5          libisns0t64        librdmacm1t64               libvirt-daemon-config-nwfilter   libvirt-daemon-log                     python3-libvirt             systemd-container
 +  libdaxctl1            libisoburn1t64     libslirp0                   libvirt-daemon-driver-interface  libvirt-daemon-plugin-lockd            python3-libxml2             xorriso
 +  libexecs1             libisofs6t64       libspice-client-glib-2.0-8  libvirt-daemon-driver-network    libvirt-glib-1.0-0                     qemu-block-extra
 +  libfdt1               libjte2            libspice-client-gtk-3.0-5   libvirt-daemon-driver-nodedev    libvirt-glib-1.0-data                  qemu-system-common
 +  libgfapi0             libndctl6          libspice-server1            libvirt-daemon-driver-nwfilter   libvirt-l10n                           qemu-system-data
 +  libgfrpc0             libnss-mymachines  libtpms0                    libvirt-daemon-driver-qemu       libvirt0                               qemu-system-gui
 +  libgfxdr0             libopeniscsiusr    liburing2                   libvirt-daemon-driver-secret     libvte-2.91-0                          qemu-system-modules-opengl
 +
 +Voorgestelde pakketten:
 +  firewalld             libvirt-login-shell        libvirt-daemon-driver-storage-gluster       libvirt-daemon-driver-storage-rbd  libvirt-daemon-driver-vbox  auditd     numad  vde2      python3-argcomplete  jigit
 +  libvirt-clients-qemu  libvirt-daemon-driver-lxc  libvirt-daemon-driver-storage-iscsi-direct  libvirt-daemon-driver-storage-zfs  libvirt-daemon-driver-xen   systemtap  samba  trousers  xorriso-tcltk        cdck
 +
 +Samenvatting:
 +  Opwaarderen: 0, Installeren: 100, Verwijderen: 0, Niet opwaarderen: 1
 +  Downloadgrootte: 59,9 MB
 +  Benodigde ruimte: 251 MB / 8.375 MB beschikbaar
 +
 +Doorgaan? [J/n]
 +</code>
 +
 +En zie dat de spulleboel in de basis draait:
 +
 +<code bash>
 +michelle@lummel:~$ sudo systemctl status libvirtd
 +[sudo] wachtwoord voor michelle: 
 +○ libvirtd.service - libvirt legacy monolithic daemon
 +     Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; preset: enabled)
 +     Active: inactive (dead) since Thu 2025-07-17 19:32:18 CEST; 11min ago
 +   Duration: 2min 31ms
 + Invocation: 5d9a747888ab4050934e7ef6fd204f57
 +TriggeredBy: ● libvirtd-ro.socket
 +             ● libvirtd.socket
 +             ● libvirtd-admin.socket
 +       Docs: man:libvirtd(8)
 +             https://libvirt.org/
 +    Process: 16355 ExecStart=/usr/sbin/libvirtd $LIBVIRTD_ARGS (code=exited, status=0/SUCCESS)
 +   Main PID: 16355 (code=exited, status=0/SUCCESS)
 +   Mem peak: 9M
 +        CPU: 300ms
 +
 +jul 17 19:30:18 lummel systemd[1]: Starting libvirtd.service - libvirt legacy monolithic daemon...
 +jul 17 19:30:18 lummel systemd[1]: Started libvirtd.service - libvirt legacy monolithic daemon.
 +jul 17 19:32:18 lummel systemd[1]: libvirtd.service: Deactivated successfully.
 +</code>
 +
 +==== GUI installatie ====
 +
 +Mocht je een GUI erbij willen hebben installeer dan ook virt-manager:
 +
 +<code bash>
 +michelle@lummel:~$ sudo apt install virt-manager
 +Installeren:                              
 +  virt-manager
 +
 +Installeren van vereisten:
 +  gir1.2-gtk-vnc-2.0  gir1.2-gtksource-4  gir1.2-libvirt-glib-1.0  gir1.2-spiceclientglib-2.0  gir1.2-spiceclientgtk-3.0  gir1.2-vte-2.91  libgtksourceview-4-0  libgtksourceview-4-common  python3-gi-cairo
 +
 +Voorgestelde pakketten:
 +  python3-guestfs
 +
 +Samenvatting:
 +  Opwaarderen: 0, Installeren: 10, Verwijderen: 0, Niet opwaarderen: 0
 +  Downloadgrootte: 1.239 kB
 +  Benodigde ruimte: 7.903 kB / 7.759 MB beschikbaar
 +
 +Doorgaan? [J/n] 
 </code> </code>
technische_naslag/kvm_cli.1752773025.txt.gz · Laatst gewijzigd: 2025/07/17 19:23 door michelle