Kernel-based Virtual Machine (KVM in het kort) is een open-source en de facto standaard virtualisatie-oplossing die nauw is geïntegreerd in Linux. Het is een laadbare kernelmodule die Linux in een type-1 (bare-metal) hypervisor verandert die een virtueel besturingsplatform creëert dat wordt gebruikt om virtuele machines (VM’s) te draaien.
Onder KVM is elke VM een Linux-proces dat wordt gepland en beheerd door de kernel en eigen gevirtualiseerde hardware heeft (d.w.z. CPU, netwerkkaart, schijf, enz.). Het ondersteunt ook geneste virtualisatie, waardoor je een VM binnen een andere VM kunt draaien.
Enkele van de belangrijkste kenmerken zijn ondersteuning voor een breed scala aan door Linux ondersteunde hardware platforms (x86 hardware met virtualisatie-extensies (Intel VT of AMD-V)), het biedt verbeterde VM beveiliging en isolatie met behulp van zowel SELinux en veilige virtualisatie (sVirt), het erft kernel geheugenbeheerkenmerken, en het ondersteunt zowel offline als real-time migratie (migratie van een draaiende VM tussen fysieke hosts).
In dit artikel leert u hoe u KVM virtualisatie installeert, Virtuele Machines maakt en beheert in CentOS 8 en RHEL 8 Linux.
Voorvereisten
- Een verse installatie van CentOS 8 server
- Een verse installatie van RHEL 8 server
- Een RedHat abonnement ingeschakeld op RHEL 8 server
Zorg er bovendien voor dat uw hardware platform virtualisatie ondersteunt door het volgende commando uit te voeren.
# grep -e 'vmx' /proc/cpuinfo#Intel systems# grep -e 'svm' /proc/cpuinfo#AMD systems
Controleer ook of KVM modules in de kernel geladen zijn (dit zou standaard het geval moeten zijn).
# lsmod | grep kvm
Hier volgt een voorbeeld van de uitvoer op het testsysteem dat op Intel is gebaseerd:
In een eerdere serie KVM-gidsen hebben we laten zien hoe u virtuele machines in Linux kunt maken met KVM (Kernel-based Virtual Machine). We hebben laten zien hoe u VM’s kunt maken en beheren met de GUI-tool virt-manager (die volgens de RHEL 8-documentatie nu is afgeschreven). Voor deze gids zullen we een andere aanpak kiezen, we zullen de Cockpit web console gebruiken.
Step 1: Setup Cockpit Web Console on CentOS 8
1. De cockpit is een eenvoudig te gebruiken, geïntegreerde en uitbreidbare webgebaseerde interface om een Linux-server in een webbrowser te beheren. Hiermee kunt u systeemtaken zoals het configureren van netwerken, het beheren van opslag, het maken van VM’s en het inspecteren van logboeken met een muis uitvoeren. Het gebruikt de normale gebruikerslogins en -rechten van uw systeem, maar andere authenticatiemethoden worden ook ondersteund.
Het wordt voorgeïnstalleerd en ingeschakeld geleverd op vers geïnstalleerde CentOS 8 en RHEL 8 systemen, als u het niet hebt geinstalleerd, installeer het dan met het volgende dnf commando. De cockpit-machines-extensie moet worden geïnstalleerd om VM’s te beheren die zijn gebaseerd op Libvirt.
# dnf install cockpit cockpit-machines
2. Wanneer de installatie van het pakket is voltooid, start u de cockpit-socket, schakelt u deze in om automatisch te starten bij het opstarten van het systeem en controleert u de status om te bevestigen dat deze actief is.
# systemctl start cockpit.socket# systemctl enable cockpit.socket# systemctl status cockpit.socket
3. Voeg vervolgens de cockpit-service toe aan de systeemfirewall, die standaard is ingeschakeld, met het commando firewall-cmd en laad de firewall-configuratie opnieuw om de nieuwe wijzigingen toe te passen.
# firewall-cmd --add-service=cockpit --permanent# firewall-cmd --reload
4. Om toegang te krijgen tot de cockpit-webconsole, opent u een webbrowser en gebruikt u de volgende URL om te navigeren.
https://FQDN:9090/ORhttps://SERVER_IP:9090/
De cockpit maakt gebruik van een zelfondertekend certificaat om HTTPS mogelijk te maken, ga gewoon door met de verbinding als u een waarschuwing van de browser krijgt. Op de inlogpagina gebruikt u de gebruikersgegevens van uw server.
Step 2: KVM Virtualisatie CentOS 8 installeren
5. Installeer vervolgens de virtualisatiemodule en andere virtualisatiepakketten als volgt. Het virt-install-pakket biedt een hulpmiddel voor het installeren van virtuele machines vanaf de opdrachtregelinterface, en een virt-viewer wordt gebruikt om virtuele machines te bekijken.
# dnf module install virt # dnf install virt-install virt-viewer
6. Voer vervolgens het commando virt-host-validate uit om te controleren of de hostmachine is ingesteld om libvirt hypervisor-stuurprogramma’s uit te voeren.
# virt-host-validate
7. Start vervolgens de libvirtd daemon (libvirtd) en schakel deze in om automatisch bij elke boot te starten. Controleer vervolgens de status ervan om te bevestigen dat het actief is.
# systemctl start libvirtd.service# systemctl enable libvirtd.service# systemctl status libvirtd.service
Stap 3: Netwerkbrug instellen (virtuele netwerkswitch) via Cockpit
8. Maak nu een netwerkbrug (virtuele netwerkswitch) om virtuele machines op hetzelfde netwerk als de host te integreren. Standaard, zodra libvirtd daemon wordt gestart, activeert het de standaard netwerkinterface virbr0 die de virtuele netwerkswitch vertegenwoordigt die in NAT modus werkt.
Voor deze gids, zullen we een netwerkinterface in een bridged modus creëren, br0 genaamd. Hierdoor zullen virtuele machines toegankelijk zijn op de hostnetwerken.
Klik vanuit de hoofdinterface van de cockpit op Networking en klik vervolgens op Add Bridge (Brug toevoegen), zoals aangegeven in de volgende schermafbeelding.
9. Voer in het pop-upvenster de naam van de bridge in en selecteer de bridgeslaves of poortapparaten (bijv. enp2s0 voor de Ethernet-interface), zoals in de volgende schermafbeelding wordt getoond. Klik vervolgens op Toepassen.
10. Als u nu naar de lijst met interfaces kijkt, zou de nieuwe bridge daar moeten verschijnen en na een paar seconden zou de Ethernet-interface uitgeschakeld (uitgeschakeld) moeten zijn.
Stap 4: Virtuele machines aanmaken en beheren via de Cockpit Web Console
11. Klik in de cockpit-hoofdinterface op de optie Virtual Machines, zoals is aangegeven in de volgende schermafbeelding. Klik op de pagina Virtuele machines op VM maken.
12. Er wordt een venster met opties voor het maken van een nieuwe VM weergegeven. Voer de verbinding, naam (bijv. ubuntu18.04), type installatiebron (op het testsysteem hebben we ISO-images opgeslagen onder de opslagpool, d.w.z. /var/libvirt/images/), installatiebron, opslag, grootte, geheugen in zoals weergegeven in de volgende afbeelding. De OS Vendor en het Operating System zouden automatisch moeten worden gekozen na het invoeren van Installation Source.
Vink ook de optie aan om de VM onmiddellijk te starten en klik vervolgens op Create.
13. Nadat u in de vorige stap op Create hebt geklikt, moet de VM automatisch worden gestart en moet deze opstarten met behulp van de meegeleverde ISO-image. Ga verder met het installeren van het gastbesturingssysteem (Ubuntu 18.04 in ons geval).
Als u klikt op Netwerkinterfaces van de VM, moet de netwerkbron de nieuw aangemaakte bridge-netwerkinterface aangeven.
En tijdens de installatie, bij de stap voor het configureren van een netwerkinterface, zou u moeten kunnen zien dat de Ethernet-interface van de VM een IP-adres ontvangt van de DHCP-server van het hostnetwerk.
Merk op dat u het OpenSSH-pakket moet installeren om toegang te krijgen tot het gast-OS via SSH vanaf elke machine op het host-netwerk, zoals beschreven in de laatste sectie.
14. Wanneer de installatie van het gastbesturingssysteem is voltooid, herstart u de VM, gaat u naar Disks en verwijdert u het cdrom-apparaat onder de schijven van de VM. Klik vervolgens op Uitvoeren om de VM te starten.
15. Nu kunt u zich onder Consoles aanmelden bij het gast-OS met een gebruikersaccount die u tijdens de installatie van het OS hebt gemaakt.
Stap 5: Toegang tot een Virtual Machine Guest OS via SSH
16. Voer het volgende commando uit (vervang 10.42.0.197 door het IP-adres van uw gast) om via SSH toegang te krijgen tot het nieuw geïnstalleerde gast-OS vanaf het hostnetwerk.
$ ssh [email protected]
17. Om een VM af te sluiten, opnieuw op te starten of te verwijderen, klikt u op de VM in de lijst met VM’s en gebruikt u de knoppen in de volgende schermafbeelding.
Dat was het voor nu! In deze gids hebben we laten zien hoe u KVM virtualisatiepakketten installeert, en VM’s maakt en beheert via de cockpit webconsole. Voor meer details, zie: Aan de slag met virtualisatie in RHEL 8.