Sådan installeres KVM på CentOS/RHEL 8

Kernel-based Virtual Machine (kort fortalt KVM) er en open source- og de facto-standardvirtualiseringsløsning, der er tæt integreret i Linux. Det er et kernemodul, der kan indlæses, og som gør Linux til en hypervisor af type 1 (bare-metal), der skaber en virtuel driftsplatform, som bruges til at køre virtuelle maskiner (VM’er).

Under KVM er hver VM en Linux-proces, der planlægges og administreres af kernen og har privat virtualiseret hardware (dvs. CPU, netværkskort, disk osv.). Den understøtter også nested virtualisering, hvilket gør det muligt at køre en VM inde i en anden VM.

Nogle af dens vigtigste funktioner omfatter understøttelse af en lang række Linux-understøttede hardwareplatforme (x86-hardware med virtualiseringsudvidelser (Intel VT eller AMD-V)), den giver forbedret VM-sikkerhed og isolation ved hjælp af både SELinux og sikker virtualisering (sVirt), den arver kernens hukommelsesstyringsfunktioner, og den understøtter både offline- og realtidsmigrering (migrering af en kørende VM mellem fysiske værter).

I denne artikel lærer du, hvordan du installerer KVM-virtualisering, opretter og administrerer virtuelle maskiner i CentOS 8 og RHEL 8 Linux.

Forudsætninger

  1. En frisk installation af CentOS 8-serveren
  2. En frisk installation af RHEL 8-serveren
  3. Et RedHat-abonnement aktiveret på RHEL 8-serveren

Det skal desuden sikres, at din hardwareplatform understøtter virtualisering ved at køre følgende kommando.

# grep -e 'vmx' /proc/cpuinfo#Intel systems# grep -e 'svm' /proc/cpuinfo#AMD systems

Konfirmer også, at KVM-moduler er indlæst i kernen (det bør de være som standard).

# lsmod | grep kvm

Her er et eksempel på output på testsystemet, som er Intel-baseret:

Tjek understøttelse af virtualisering på CentOS 8

I en tidligere serie af KVM-vejledninger viste vi, hvordan man opretter virtuelle maskiner i Linux ved hjælp af KVM (Kernel-based Virtual Machine), hvor vi demonstrerede, hvordan man opretter og administrerer VM’er ved hjælp af virt-manager GUI-værktøjet (som nu er forældet ifølge RHEL 8-dokumentationen). I denne vejledning vil vi tage en anden tilgang, vi vil bruge Cockpit webkonsol.

Stræk 1: Opsætning af Cockpit webkonsol på CentOS 8

1. Cockpit er en brugervenlig, integreret og udvidelig webbaseret grænseflade til at administrere en Linux-server i en webbrowser. Det giver dig mulighed for at udføre systemopgaver som f.eks. konfiguration af netværk, administration af lagring, oprettelse af VM’er og inspektion af logfiler med en mus. Den bruger dit systems normale brugerlogins og privilegier, men andre godkendelsesmetoder understøttes også.

Den leveres præinstalleret og aktiveret på nyligt installerede CentOS 8- og RHEL 8-systemer, hvis du ikke har den installeret, skal du installere den ved hjælp af følgende dnf-kommando. Udvidelsen cockpit-machines skal installeres for at administrere VM’er baseret på Libvirt.

# dnf install cockpit cockpit-machines

2. Når pakkeinstallationen er færdig, skal du starte cockpit-socket, aktivere den til automatisk start ved systemstart og kontrollere dens status for at bekræfte, at den er oppe og kører.

# systemctl start cockpit.socket# systemctl enable cockpit.socket# systemctl status cockpit.socket
Verify Cockpit Status

3. Tilføj derefter cockpit-tjenesten i systemets firewall, som er aktiveret som standard, ved hjælp af kommandoen firewall-cmd, og genindlæs firewallkonfigurationen for at anvende de nye ændringer.

# firewall-cmd --add-service=cockpit --permanent# firewall-cmd --reload

4. For at få adgang til cockpit-webkonsollen skal du åbne en webbrowser og bruge følgende URL til at navigere.

https://FQDN:9090/ORhttps://SERVER_IP:9090/

Cockpit bruger et selvsigneret certifikat for at aktivere HTTPS, fortsæt blot med forbindelsen, når du får en advarsel fra browseren. På login-siden skal du bruge dine brugerkontooplysninger til serveren.

Cockpit Login
Cockpit Dashboard

Stræk 2: Installation af KVM Virtualization CentOS 8

5. Derefter skal du installere virtualiseringsmodulet og andre virtualiseringspakker som følger. Virt-install-pakken indeholder et værktøj til installation af virtuelle maskiner fra kommandolinjeinterfacet, og virt-viewer bruges til at få vist virtuelle maskiner.

# dnf module install virt # dnf install virt-install virt-viewer

6. Kør derefter kommandoen virt-host-validate for at validere, om værtsmaskinen er konfigureret til at køre libvirt-hypervisor-drivere.

# virt-host-validate
validér værtsvirtualiseringsopsætning

7. Start derefter libvirtd-dæmonen (libvirtd), og aktiver den til at starte automatisk ved hver opstart. Kontroller derefter dens status for at bekræfte, at den er oppe og kører.

# systemctl start libvirtd.service# systemctl enable libvirtd.service# systemctl status libvirtd.service
Virificer libvirtd-tjenesten

Stræk 3: Opsætning af netværksbro (virtuel netværksswitch) via Cockpit

8. Opret nu en netværksbro (virtuel netværksswitch) for at integrere virtuelle maskiner til det samme netværk som værten. Når libvirtd-dæmonen startes, aktiverer den som standard netværksgrænsefladen virbr0, der repræsenterer den virtuelle netværksswitch, som fungerer i NAT-tilstand.

I denne vejledning vil vi oprette en netværksgrænseflade i en bridged-tilstand kaldet br0. Dette vil gøre det muligt for virtuelle maskiner at være tilgængelige på værtsnetværkene.

Fra cockpitets hovedgrænseflade skal du klikke på Networking og derefter klikke på Add Bridge som angivet i følgende skærmbillede.

Add Bridge Network

9. I popup-vinduet skal du indtaste bronavnet og vælge broslaverne eller port-enhederne (f.eks. enp2s0, der repræsenterer Ethernet-grænsefladen) som vist i følgende skærmbillede. Klik derefter på Anvend.

Indtast netværksbroindstillinger

10. Når du nu kigger på listen over grænseflader, bør den nye bro vises der, og efter et par sekunder bør Ethernet-interfacet være deaktiveret (taget ned).

Verificer ny netværksbro

Stræk 4: Oprettelse og administration af virtuelle maskiner via Cockpit Web Console

11. Fra cockpit-hovedgrænsefladen skal du klikke på indstillingen Virtuelle maskiner som fremhævet i følgende skærmbillede. Fra siden Virtuelle maskiner skal du klikke på Opret VM.

Opret en ny virtuel maskine

12. Der vises et vindue med muligheder for at oprette en ny VM. Indtast Connection, Name (f.eks. ubuntu18.04), Installation Source Type (på testsystemet har vi gemt ISO-images under storage pool dvs. /var/lib/libvirt/images/), Installation Source, Storage, Size, Memory som vist i følgende billede. OS Vendor og Operating System bør vælges automatisk efter indtastning af Installation Source.

Kontroller også muligheden for straks at starte den virtuelle maskine, og klik derefter på Create.

Add New Virtual Machine in KVM

13. Når du har klikket på Create fra det foregående trin, skal den virtuelle maskine automatisk startes, og den skal starte op ved hjælp af det medfølgende ISO-aftryk. Fortsæt med at installere gæstestyresystemet (Ubuntu 18.04 i vores tilfælde).

Installer Guest OS on KVM

Hvis du klikker på Network Interfaces of the VM, bør netværkskilden angive den nyligt oprettede bridge-netværksgrænseflade.

Netværksbro for VM

Og under installationen, ved trinet med at konfigurere en netværksgrænseflade, bør du kunne bemærke, at VM’ens Ethernet-grænseflade modtager en IP-adresse fra DHCP-serveren på værtsnetværket.

IP-adresse for VM

Bemærk, at du skal installere OpenSSH-pakken for at få adgang til gæstesystemet via SSH fra en hvilken som helst maskine på værtsnetværket, som beskrevet i sidste afsnit.

14. Når installationen af gæstesystemet er færdig, skal du genstarte den virtuelle maskine, gå derefter til Disks (diske) og løsne/fjern cdrom-enheden under den virtuelle maskines diske. Klik derefter på Kør for at starte den virtuelle maskine.

Detach Cdrom After VM Installation
Run VM Console

15. Nu kan du under Konsoller logge ind på gæstesystemet ved hjælp af en brugerkonto, som du oprettede under installationen af operativsystemet.

VM Login

Stræk 5: Adgang til en virtuel maskines gæstesystem via SSH

16. For at få adgang til det nyligt installerede gæstesystem fra værtsnetværket via SSH skal du køre følgende kommando (erstat 10.42.0.197 med din gæsts IP-adresse):

$ ssh [email protected]
Guest VM SSH Login

17. Hvis du vil lukke, genstarte eller slette en VM, skal du klikke på den på listen over VM’er og derefter bruge de knapper, der er fremhævet i følgende skærmbillede.

Slet gæste-VM fra KVM

Det er alt for nu! I denne vejledning har vi vist, hvordan du installerer KVM-virtualiseringspakker og opretter og administrerer VM’er via cockpit-webkonsollen. For flere detaljer, se: Kom godt i gang med virtualisering i RHEL 8.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.