Zoeken op website

KVM installeren op CentOS/RHEL 8


Kernel-gebaseerde virtuele machine (afgekort KVM) is een open-source en de facto standaard virtualisatie-oplossing die nauw is geïntegreerd in Linux. Het is een laadbare kernelmodule die Linux verandert in een type-1 (bare-metal) hypervisor die een virtueel besturingssysteem creëert dat wordt gebruikt om virtuele machines (VM's) uit te voeren.

Onder KVM is elke VM een Linux-proces dat wordt gepland en beheerd door de kernel en beschikt over privé gevirtualiseerde hardware (d.w.z. CPU, netwerkkaart, schijf, etc.). Het ondersteunt ook geneste virtualisatie, waardoor u een VM in een andere VM kunt draaien.

Enkele van de belangrijkste kenmerken zijn ondersteuning voor een breed scala aan door Linux ondersteunde hardwareplatforms (x86-hardware met virtualisatie-uitbreidingen (Intel VT of AMD-V)), het biedt verbeterde VM-beveiliging en isolatie met behulp van zowel SELinux en veilige virtualisatie (sVirt), erft kernelgeheugenbeheerfuncties en ondersteunt zowel offline als realtime migratie (migratie van een actieve VM tussen fysieke hosts).

In dit artikel leert u hoe u KVM virtualisatie installeert en virtuele machines maakt en beheert in CentOS 8 en RHEL 8 Linux.

Vereisten

  1. Een nieuwe installatie van CentOS 8-server
  2. Een nieuwe installatie van de RHEL 8-server
  3. Een RedHat-abonnement ingeschakeld op de RHEL 8-server

Zorg er bovendien voor dat uw hardwareplatform virtualisatie ondersteunt door de volgende opdracht 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 zijn geladen (dit zou standaard zo moeten zijn).

lsmod | grep kvm

Hier is voorbeelduitvoer op het testsysteem dat op Intel is gebaseerd:

In een eerdere serie KVM-handleidingen lieten we zien hoe je virtuele machines in Linux kunt maken met behulp van KVM (Kernel-based Virtual Machine), waar we demonstreerden hoe je VM's kunt maken en beheren met behulp van de virt-manager GUI-tool (die is nu verouderd volgens de RHEL 8-documentatie). Voor deze handleiding kiezen we voor een andere aanpak, we gebruiken de Cockpit-webconsole.

Stap 1: Cockpit Web Console instellen op 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 uitvoeren zoals het configureren van netwerken, het beheren van opslag, het maken van VM's en het inspecteren van logboeken met een muis. Het gebruikt de normale gebruikersaanmeldingen en -rechten van uw systeem, maar andere authenticatiemethoden worden ook ondersteund.

Het wordt vooraf geïnstalleerd en ingeschakeld op een nieuw geïnstalleerd CentOS 8- en RHEL 8-systeem. Als je het niet hebt geïnstalleerd, installeer het dan met de volgende dnf-opdracht. De cockpit-machines-extensie moet worden geïnstalleerd om VM's te beheren op basis van Libvirt.

dnf install cockpit cockpit-machines

2. Wanneer de installatie van het pakket is voltooid, start u de cockpitsocket, 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 behulp van de opdracht firewall-cmd en laad de firewallconfiguratie 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/
OR
https://SERVER_IP:9090/

De cockpit gebruikt een zelfondertekend certificaat om HTTPS in te schakelen. Ga gewoon verder met de verbinding als u een waarschuwing van de browser krijgt. Gebruik op de inlogpagina de inloggegevens van uw servergebruikersaccount.

Stap 2: KVM-virtualisatie CentOS 8 installeren

5. Installeer vervolgens de virtualisatie module 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 virt-host-validate commando uit om te valideren of de hostmachine is ingesteld om libvirt hypervisorstuurprogramma's uit te voeren.

virt-host-validate

7. Start vervolgens de libvirtd daemon (libvirtd) en schakel deze in om automatisch te starten bij elke keer opstarten. Controleer vervolgens de status om te bevestigen dat deze actief is.


systemctl start libvirtd.service
systemctl enable libvirtd.service
systemctl status libvirtd.service

Stap 3: Netwerkbrug (virtuele netwerkswitch) instellen via Cockpit

8. Maak nu een netwerkbrug (virtuele netwerkswitch) om virtuele machines te integreren in hetzelfde netwerk als de host. Zodra de libvirtd daemon is gestart, activeert deze standaard de standaard netwerkinterface virbr0 die de virtuele netwerkswitch vertegenwoordigt die in de NAT modus werkt.

Voor deze handleiding maken we een netwerkinterface in een overbrugde modus met de naam br0. Hierdoor zijn virtuele machines toegankelijk op de hostnetwerken.

Klik in de hoofdinterface van de cockpit op Netwerken en klik vervolgens op Brug toevoegen, zoals aangegeven in de volgende schermafbeelding.

9. Voer in het pop-upvenster de naam van de bridge in en selecteer de bridge-slaves of poortapparaten (bijvoorbeeld enp2s0 die de Ethernet-interface vertegenwoordigt) zoals weergegeven in de volgende schermafbeelding. Klik vervolgens op Toepassen.

10. Als je nu naar de lijst met Interfaces kijkt, zou de nieuwe bridge daar moeten verschijnen en na een paar seconden zou de Ethernet-interface moeten worden uitgeschakeld (verwijderd).

Stap 4: Virtuele machines maken en beheren via Cockpit Web Console

11. Klik in de hoofdinterface van cockpit op de optie Virtuele machines, zoals gemarkeerd in de volgende schermafbeelding. Klik op de pagina Virtuele machines op VM maken.

12. Er wordt een venster weergegeven met opties om een nieuwe VM te maken. Voer de verbinding, naam (bijvoorbeeld ubuntu18.04), installatiebrontype in (op het testsysteem hebben we ISO-images opgeslagen onder de opslagpool, d.w.z. /var/lib/libvirt/ images/), Installatiebron, Opslag, Grootte, Geheugen zoals weergegeven in de volgende afbeelding. De OS-leverancier en het besturingssysteem moeten automatisch worden gekozen na het invoeren van de Installatiebron.

Vink ook de optie aan om de VM onmiddellijk te starten en klik vervolgens op Maken.

13. Nadat u in de vorige stap op Maken heeft geklikt, zou de VM automatisch moeten worden gestart en zou deze moeten opstarten met behulp van de meegeleverde ISO-image. Ga verder met het installeren van het gastbesturingssysteem (Ubuntu 18.04 in ons geval).

Als u op Netwerkinterfaces van de VM klikt, moet de netwerkbron de nieuw gemaakte bridge-netwerkinterface aangeven.

En tijdens de installatie, bij de stap van het configureren van een netwerkinterface, zou u moeten kunnen opmerken dat de VMs Ethernet-interface een IP-adres ontvangt van de DHCP-server van de host netwerk.

Houd er rekening mee dat u het OpenSSH-pakket moet installeren om toegang te krijgen tot het gastbesturingssysteem via SSH vanaf elke machine in het hostnetwerk, zoals beschreven in de laatste sectie.

14. Wanneer de installatie van het gastbesturingssysteem is voltooid, start u de VM opnieuw op, gaat u vervolgens naar Schijven en koppelt/verwijdert u het cdrom-apparaat onder de VM-schijven . Klik vervolgens op Uitvoeren om de VM te starten.

15. Nu kunt u onder Consoles inloggen op het gastbesturingssysteem met een gebruikersaccount dat u heeft aangemaakt tijdens de installatie van het besturingssysteem.

Stap 5: Toegang tot een gastbesturingssysteem van een virtuele machine via SSH

16. Om toegang te krijgen tot het nieuw geïnstalleerde gastbesturingssysteem vanaf het hostnetwerk via SSH, voert u de volgende opdracht uit (vervang 10.42.0.197 door het IP-adres van uw gast).

ssh [email 

17. Om een VM af te sluiten, opnieuw op te starten of te verwijderen, klikt u erop in de lijst met VM's en gebruikt u vervolgens de knoppen die in de volgende schermafbeelding zijn gemarkeerd.

Dat is het voor nu! In deze handleiding hebben we laten zien hoe u KVM-virtualisatiepakketten installeert en VM's maakt en beheert via de cockpit-webconsole. Zie voor meer informatie: Aan de slag met virtualisatie in RHEL 8.