Hvordan installere KVM på CentOS/RHEL 8


Kjernebasert virtuell maskin (KVMkort sagt) er en åpen kildekode og de facto standard virtualiseringsløsning som er tett integrert i Linux. Det er en lastbar kjernemodul som gjør Linux til en type 1 (barmetall) hypervisor som lager en virtuell operativsystemplattform som brukes til å kjøre virtuelle maskiner (VM).

Under KVM er hver VM en Linux-prosess som er planlagt og administrert av kjernen og har privat virtualisert maskinvare (dvs. CPU, nettverkskort, disk, etc.). Den støtter også nestet virtualisering, som lar deg kjøre en VM inne i en annen VM.

Noen av nøkkelfunksjonene inkluderer støtte for et bredt spekter av Linux-støttede maskinvareplattformer (x86-maskinvare med virtualiseringsutvidelser (Intel VT eller AMD-V)), den gir forbedret VM-sikkerhet og isolasjon ved bruk av både SELinux og sikker virtualisering (sVirt), den arver kjerneminneadministrasjonsfunksjoner, og den støtter både offline og sanntidsmigrering (migrering av en kjørende VM mellom fysiske verter).

I denne artikkelen vil du lære hvordan du installerer KVM-virtualisering, oppretter og administrerer virtuelle maskiner i CentOS 8 og RHEL 8 Linux.

Forutsetninger

  1. En ny installasjon av CentOS 8-serveren
  2. En ny installasjon av RHEL 8 server
  3. Et RedHat-abonnement aktivert på RHEL 8-serveren

Sørg i tillegg for at maskinvareplattformen din støtter virtualisering ved å kjøre følgende kommando.

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

Bekreft også at KVM-moduler er lastet inn i kjernen (de skal være det som standard).

lsmod | grep kvm

Her er eksempelutgang på testsystemet som er Intel-basert:

I en tidligere serie med KVM-guider viste vi hvordan man lager virtuelle maskiner i Linux ved hjelp av KVM (Kernel-basert virtuell maskin) der vi demonstrerte hvordan man oppretter og administrerer VM-er ved å bruke virt-manager GUI-verktøyet (som er nå avviklet i henhold til RHEL 8-dokumentasjonen). For denne guiden vil vi ta en annen tilnærming, vi vil bruke Cockpit-nettkonsollen.

Trinn 1: Konfigurer Cockpit Web Console på CentOS 8

1. Cockpit er et brukervennlig, integrert og utvidbart nettbasert grensesnitt for å administrere en Linux-server i en nettleser. Den lar deg utføre systemoppgaver som å konfigurere nettverk, administrere lagring, lage VM-er og inspisere logger med en mus. Den bruker systemets vanlige brukerpålogginger og privilegier, men andre autentiseringsmetoder støttes også.

Den kommer forhåndsinstallert og aktivert på nyinstallert CentOS 8 og RHEL 8-system, hvis du ikke har den installert, installer den ved å bruke følgende dnf-kommando. Cockpit-machines-utvidelsen bør installeres for å administrere VM-er basert på Libvirt.

dnf install cockpit cockpit-machines

2. Når pakkeinstallasjonen er fullført, start cockpit-kontakten, aktiver den til å starte automatisk ved systemoppstart og kontroller statusen for å bekrefte at den er oppe og går.

systemctl start cockpit.socket
systemctl enable cockpit.socket
systemctl status cockpit.socket

3. Deretter legger du til cockpit-tjenesten i systembrannmuren, som er aktivert som standard, ved å bruke firewall-cmd-kommandoen og last inn brannmurkonfigurasjonen på nytt for å bruke de nye endringene.

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

4. For å få tilgang til cockpitens nettkonsoll, åpne en nettleser og bruk følgende URL for å navigere.

https://FQDN:9090/
OR
https://SERVER_IP:9090/

cockpiten bruker et selvsignert sertifikat for å aktivere HTTPS, bare fortsett med tilkoblingen når du får en advarsel fra nettleseren. På påloggingssiden bruker du påloggingsinformasjonen for serverens brukerkonto.

Trinn 2: Installere KVM Virtualization CentOS 8

5. Installer deretter virtualisering-modulen og andre virtualiseringspakker som følger. Pakken virt-install gir et verktøy for å installere virtuelle maskiner fra kommandolinjegrensesnittet, og en virt-viewer brukes til å vise virtuelle maskiner.

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

6. Deretter kjører du kommandoen virt-host-validate for å validere om vertsmaskinen er satt opp til å kjøre libvirt hypervisordrivere.

virt-host-validate

7. Start deretter libvirtd-demonen (libvirtd) og aktiver den til å starte automatisk ved hver oppstart. Sjekk deretter statusen for å bekrefte at den er oppe og går.


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

Trinn 3: Sett opp Network Bridge (Virtual Network Switch) via Cockpit

8. Opprett nå en nettverksbro (virtuell nettverkssvitsj) for å integrere virtuelle maskiner til samme nettverk som verten. Som standard, når libvirtd-demonen er startet, aktiverer den standardnettverksgrensesnittet virbr0 som representerer den virtuelle nettverkssvitsjen som opererer i NAT-modus.

For denne veiledningen vil vi lage et nettverksgrensesnitt i en brokoblet modus kalt br0. Dette vil gjøre det mulig for virtuelle maskiner å være tilgjengelige på vertsnettverkene.

Fra cockpitens hovedgrensesnitt klikker du på Nettverk, og klikker deretter Legg til bro som angitt i følgende skjermbilde.

9. Fra popup-vinduet, skriv inn bronavnet og velg broslavene eller portenhetene (f.eks. enp2s0 som representerer Ethernet-grensesnittet) som vist i følgende skjermbilde. Klikk deretter Bruk.

10. Nå når du ser på listen over grensesnitt, skal den nye broen vises der, og etter noen sekunder skal Ethernet-grensesnittet være deaktivert (tatt ned).

Trinn 4: Opprette og administrere virtuelle maskiner via Cockpit Web Console

11. Fra cockpit-hovedgrensesnittet klikker du på alternativet Virtuelle maskiner som uthevet i følgende skjermbilde. Fra siden Virtuelle maskiner klikker du på Opprett VM.

12. Et vindu med alternativer for å opprette en ny VM vises. Skriv inn tilkobling, navn (f.eks. ubuntu18.04), installasjonskildetype (på testsystemet har vi lagret ISO-bilder under lagringspoolen, dvs. /var/lib/libvirt/ bilder/), Installasjonskilde, Lagring, Størrelse, Minne som vist i følgende bilde. OS-leverandøren og operativsystemet bør velges automatisk etter at installasjonskilden er angitt.

Merk også av for å starte VM umiddelbart, og klikk deretter på Opprett.

13. Etter å ha klikket Opprett fra forrige trinn, skal VM startes automatisk og den skal starte opp med ISO-bildet som følger med. Fortsett å installere gjesteoperativsystemet (Ubuntu 18.04 i vårt tilfelle).

Hvis du klikker på Nettverksgrensesnitt til VM, skal nettverkskilden indikere det nyopprettede bronettverksgrensesnittet.

Og under installasjonen, ved trinnet med å konfigurere et nettverksgrensesnitt, bør du kunne legge merke til at VMs Ethernet-grensesnittet mottar en IP-adresse fra DHCP-serveren til verten Nettverk.

Merk at du må installere OpenSSH-pakken for å få tilgang til gjeste-OS via SSH fra hvilken som helst maskin på vertsnettverket, som beskrevet i den siste delen.

14. Når gjeste-OS-installasjonen er fullført, starter du VM på nytt, og deretter går du til Disker og kobler fra/fjern cdrom-enheten under VM-diskene . Klikk deretter Kjør for å starte VM.

15. Nå under Konsoller kan du logge på gjeste-operativsystemet ved å bruke en brukerkonto du opprettet under installasjonen av operativsystemet.

Trinn 5: Få tilgang til en Virtual Machine Guest OS via SSH

16. For å få tilgang til det nylig installerte gjeste-OSet fra vertsnettverket via SSH, kjør følgende kommando (erstatt 10.42.0.197 med gjestens IP-adresse).

ssh [email 

17. For å slå av, starte på nytt eller slette en VM, klikk på den fra listen over VM-er, og bruk deretter knappene som er uthevet i følgende skjermbilde.

Det er alt for nå! I denne guiden har vi vist hvordan du installerer KVM-virtualiseringspakker, og oppretter og administrerer VM-er via cockpit-nettkonsollen. For mer detaljer, se: Komme i gang med virtualisering i RHEL 8.