KVM

Slik installerer du KVM / QEMU på CentOS 8

Slik installerer du KVM / QEMU på CentOS 8
Den fulle formen for KVM er Kernel Virtual Machine. Det er en virtualiseringsløsning for Linux. KVM er en Linux-kjernemodul som lar Linux-kjernen fungere som et hypervisor-program som VMware ESXi eller VSphere.

I denne artikkelen skal jeg vise deg hvordan du installerer KVM på CentOS 8 og oppretter en enkel virtuell KVM-maskin med den. Så la oss komme i gang.

Aktivere maskinvarevirtualisering:

Du må aktivere maskinvarevirtualiseringsutvidelse fra BIOS på datamaskinen din for at KVM skal fungere. For Intel-prosessorer, bør du aktivere prosessorfunksjonen VT-x eller VT-d fra BIOS. For AMD-prosessorer, bør du aktivere prosessorfunksjonen AMD-v fra BIOS.

Når du har aktivert maskinvarevirtualisering i BIOS, kjører du følgende kommando for å kontrollere om VT-x / VT-d eller AMD-v-utvidelse er aktivert.

$ grep --color --perl-regexp 'vmx | svm' / proc / cpuinfo

Du bør ha enten svm eller vmx flagg tilgjengelig i utdataene hvis du har aktivert maskinvarevirtualisering i BIOS.

Jeg bruker en AMD-prosessor. Så svm flagg er tilgjengelig i mitt tilfelle. Hvis du bruker en Intel-prosessor, vil den være det vmx.

Oppgradere systemet:

Før du installerer KVM, bør du oppgradere alle eksisterende programvarepakker til CentOS 8-maskinen din.

Oppdater først DNF-pakkeoppbevaringsbufferen til CentOS 8-maskinen din med følgende kommando:

$ sudo dnf makecache

DNF-pakkeoppbevaringsbufferen bør oppdateres.

Oppgrader alle eksisterende programvarepakker på CentOS 8-maskinen din med følgende kommando:

$ sudo dnf oppdatering

Trykk på for å bekrefte oppgraderingen Y og trykk deretter på .

DNF-pakkeansvarlig bør laste ned alle nødvendige pakker fra internett.

Når nedlastingen av pakken er fullført, bør den installere alle nedlastede pakker. Det kan ta litt tid å fullføre.

På dette tidspunktet bør CentOS 8-systemet ditt være oppdatert.

For at endringene skal tre i kraft, må du starte CentOS 8-maskinen på nytt med følgende kommando:

$ sudo omstart

Sette SELinux til tillatt modus:

Konfigurering av SELinux for KVM er utenfor omfanget av denne artikkelen. Hvis du lar SELinux være i håndheve modus (standard), vil du få tillatelse nektet feil mens du oppretter KVM virtuelle maskiner. Hvis du ikke har erfaring med SELinux, bør du sette den til ettergivende modus. Ellers vil du ikke kunne opprette virtuelle KVM-maskiner.

For å sette SELinux til ettergivende modus, åpner du / etc / selinux / config fil med en teksteditor (i.e. nano) med følgende kommando:

$ sudo nano / etc / selinux / config

Endre linjen SELINUX = håndheving til SELINUX = tillatelig som markert i skjermbildet nedenfor.

Når du er ferdig, trykk + X etterfulgt av Y og for å lagre konfigurasjonsfilen.

For at endringene skal tre i kraft, må du starte datamaskinen på nytt med følgende kommando:

$ sudo omstart

Installere KVM:

Du kan enkelt installere alle nødvendige pakker for KVM-virtualisering på CentOS 8 ved å bare installere Virtualiseringsvert pakke gruppe.

Du kan installere Virtualiseringsvert pakke gruppe på CentOS 8 maskinen med følgende kommando:

$ sudo dnf groupinstall "Virtualization Host"

Trykk på for å bekrefte installasjonen Y og trykk deretter på .

DNF-pakkeansvarlige bør laste ned alle nødvendige pakker fra internett.

Når nedlasting av pakken er fullført, bør den installere alle nedlastede pakker. Det kan ta litt tid å fullføre.

På dette tidspunktet skal KVM installeres.

Sjekk nå om libvirtd tjenesten kjører med følgende kommando:

$ sudo systemctl status libvirtd

Som du kan se, er libvirtd tjenesten er aktiv/løping. libvirtd tjenesten er veldig viktig. Hvis den ikke kjører, vil du ikke kunne administrere KVM.

Hvis den libvirtd tjenesten ikke kjører i ditt tilfelle, kan du starte den med følgende kommando:

$ sudo systemctl start libvirtd

Sjekk om du kan kjøre kommandoen KVM management virsh som følger:

$ sudo virsh --versjon

Kommandoen skal skrive ut versjonsinformasjonen som du kan se på skjermbildet nedenfor.

Installere virt-install:

virt-install er et kommandolinjeverktøy for å enkelt lage virtuelle KVM-maskiner. virt-install er basert på libvirt. Så, de virtuelle maskinene opprettet ved hjelp av virt-install kan også administreres med virsh og virt-manager.

Du kan installere virt-install med følgende kommando:

$ sudo dnf installer virt-install

Trykk på for å bekrefte installasjonen Y og trykk deretter på .

virt-install skal installeres.

Sette opp påkrevde KVM-kataloger:

Jeg synes det er en god ide å holde alle virtuelle maskindata organisert. Jeg holder vanligvis alle KVM-dataene for virtuell maskin inne / kvm / katalog. I / kvm / katalog, oppretter jeg to underkataloger disk/ og iso /. I disk/ underkatalog, beholder jeg alle virtuelle maskin (VM) harddiskfiler. I iso / underkatalog, beholder jeg ISO-installasjonsbildene til forskjellige operativsystemer (i.e. Ubuntu, Debian, CentOS, etc.).

Du kan opprette de samme katalogstrukturene med følgende kommando:

$ sudo mkdir -pv / kvm / disk, iso

Opprette en KVM virtuell maskin:

I denne delen skal jeg vise deg hvordan du lager en Ubuntu Desktop 20.04 LTS KVM virtuell maskin.

Først må du laste ned Ubuntu Desktop 20.04 LTS ISO installasjonsbilde. For å holde alle virtuelle maskinfiler / data organisert, er det en god ide å lagre ISO-bildet i / kvm / iso / katalog.

Så naviger til / kvm / iso / katalog med følgende kommando:

$ cd / kvm / iso

Du kan laste ned Ubuntu Desktop 20.04 LTS ISO-bilde fra den offisielle nettsiden til Ubuntu med følgende kommando:

$ sudo wget https: // utgivelser.ubuntu.com / 20.04 / ubuntu-20.04.1-desktop-amd64.iso

wget skal begynne å laste ned Ubuntu Desktop 20.04 LTS ISO-bilde. Det tar litt tid å fullføre.

På dette punktet, Ubuntu Desktop 20.04 LTS ISO-bilde skal lastes ned.

Ubuntu Desktop 20.04 LTS ISO-bilde er tilgjengelig i / kvm / iso / katalog som du kan se på skjermbildet nedenfor.

En gang Ubuntu Desktop 20.04 LTS ISO-bilde lastes ned, du kan opprette en virtuell KVM-maskin med følgende kommando:

$ sudo virt-install - navn udesktop20_04-01 \
--OS-type Linux \
--os-variant ubuntu19.10 \
--ram 4096 \
--disk / kvm / disk / udesktop20_04-01.img, enhet = disk, buss = virtio, størrelse = 20, format = qcow2 \
--grafikk vnc, lytt = 0.0.0.0 \
--noautoconsole \
--hvm \
--cdrom / kvm / iso / ubuntu-20.04.1-desktop-amd64.iso \
--boot cdrom, hd

Her vil navnet på den virtuelle maskinen være udesktop20_04-01.

Operativsystemet vi skal installere er Linux.

Operativsystemvarianten er ubuntu19.10. OS-databasen til CentOS 8 har ingen oppføring for Ubuntu 20.04 LTS i skrivende stund. Så jeg har brukt informasjonen til Ubuntu 19.10.

Verdiene for operativsystemet og varianten er ikke tilfeldige. Du finner OS-typen og OS-varianten for ønsket Linux-distribusjon med osinfo-spørring kommando. Som du kan se, ingen oppføring for Ubuntu 20.04 LTS er tilgjengelig. Men en oppføring for Ubuntu 19.10 er tilgjengelig. OS-typen Ubuntu 19.10 er Linux og OS-varianten er ubuntu19.10.

$ osinfo-spørring os --fields = navn, kort-ID, familie | grep -i Ubuntu

RAM (Random Access Memory) for VM vil være 4096 MB (Megabyte) eller 4 GB (Gigabyte).

Den virtuelle disken til VM lagres i / kvm / disk / udesktop20.04-01.img fil. Den virtuelle disken handler om 20 GB i størrelse og formatet er QCOW2 (QEMU Copy-On-Write v2)

Den virtuelle maskinen vil være tilgjengelig via VNC (Virtual Network Computing) ekstern skrivebordsprotokoll, og VNC-serveren vil lytte på alle tilgjengelige nettverksgrensesnitt som er konfigurert på CentOS 8 KVM-verten.

CentOS 8 KVM-vert prøver ikke automatisk å koble til den virtuelle maskinen når den virtuelle maskinen er opprettet. Den virtuelle maskinen vil kjøre i bakgrunnen.

Bruk full virtualisering for den virtuelle maskinen. Dette vil gjøre at virtuelle maskiner fungerer bedre.

Bruk Ubuntu Desktop 20.04 LTS ISO-bilde har vi nettopp lastet ned som den virtuelle CD / DVD-ROMen til den virtuelle maskinen. Brukes til å installere Ubuntu Desktop 20.04 LTS på den virtuelle maskinen.

Sett er oppstartsrekkefølgen til den virtuelle maskinen. Den første oppstartsoppføringen er den virtuelle CD / DVD-ROM og deretter den virtuelle harddisken. Så den virtuelle maskinen vil kunne starte fra Ubuntu Desktop 20.04 LTS ISO image og installer Ubuntu Desktop 20.04 LTS på harddisken.

Det er alle alternativene du trenger for å opprette en virtuell KVM-maskin.

Når du kjører virt-install kommando, bør KVM begynne å lage den virtuelle maskinen. Det kan ta en stund, avhengig av konfigurasjonen for den virtuelle maskinen.

På dette tidspunktet skal den virtuelle KVM-maskinen opprettes.

Oppføring av KVM virtuelle maskiner:

Når den virtuelle KVM-maskinen er opprettet, kan du liste den med følgende kommando:

$ virsh-liste - alt

Kommandoen skal vise deg alle de virtuelle KVM-maskinene du har. Akkurat nå har jeg bare en virtuell maskin udesktop20_04-01. Dette er den jeg nettopp har opprettet. Som du kan se, den virtuelle maskinen udesktop20_04-01 er løping. Du bør kunne koble til den ved hjelp av en hvilken som helst VNC-klient.

Konfigurere brannmuren for ekstern tilgang til KVM Virtual Machines:

For å få tilgang til den virtuelle KVM-maskinen eksternt, må du tillate brannmurtilgang til VNC-porten på den virtuelle maskinen.

For å finne VNC-porten på den virtuelle KVM-maskinen udesktop20_04-01, kjør følgende kommando:

$ virsh vncdisplay udesktop20_04-01

Som du kan se, er VNC-portnummeret til udesktop20_04-01 virtuell maskin er 0.

Her, havn 0 betyr havn 5900. På samme måte, port 1 betyr havn 5901 og så videre.

Som du kan se, den virtuelle KVM-maskinen udesktop20_04-01 kjører på port 5900 (: 0).

$ sudo netstat -tln

For å gi tilgang til port 5900, kjør følgende kommando:

$ sudo brannmur-cmd --add-port = 5900 / tcp - permanent

For at brannmurendringene skal tre i kraft, kjør følgende kommando:

$ sudo firewall-cmd --reload

Ekstern tilkobling til KVM Virtual Machines med VNC Client:

For å koble til den virtuelle maskinen via VNC, må du vite IP-adressen til CentOS 8 KVM-verten.

Du finner IP-adressen til CentOS 8 KVM-verten med følgende kommando:

$ ip a

I mitt tilfelle er IP-adressen 192.168.0.103. Det vil være annerledes for deg. Så sørg for å erstatte den med din fra nå av.

Åpne hvilken som helst VNC-klient og koble til adressen 192.168.0.103: 0.

Klikk på Fortsette.

Klikk på Fortsette.

Du bør være koblet til skjermen på udesktop20_04-01 KVM virtuell maskin som du kan se på skjermbildet nedenfor.

Nå kan du installere ønsket operativsystem på den virtuelle maskinen.

I mitt tilfelle vil jeg installere Ubuntu Desktop 20.04 LTS operativsystem på den virtuelle maskinen.

Ubuntu Desktop 20.04 LTS installeres på den virtuelle KVM-maskinen. Det kan ta litt tid å fullføre.

Når installasjonen er fullført, klikker du på Start på nytt nå.

trykk .

VNC-forbindelsen skal være stengt.

Den virtuelle maskinen skal slås av automatisk når OS-installasjonen er fullført, som du kan se på skjermbildet nedenfor.

$ sudo virsh liste - alt

Start udesktop20_04-01 KVM virtuell maskin med følgende kommando:

$ virsh start udesktop20_04-01

Den virtuelle maskinen udesktop20_04-01 skal startes.

Nå kan du koble til udesktop20_04-01 virtuell maskin fra en VNC-klient som før. Som du kan se, er Ubuntu Desktop 20.04 LTS går helt fint i den virtuelle KVM-maskinen.

Fjerne KVM virtuelle maskiner:

Du kan også fjerne en KVM virtuell maskin veldig enkelt med virsh kommandolinjeverktøy.

Som du kan se, har jeg to virtuelle maskiner fra KVM (udesktop20_04-01 og udesktop20_04-02) kjører på min CentOS 8 KVM-vert. La oss fjerne udesktop20_04-02 KVM virtuell maskin.

$ virsh-liste - alt

Som du kan se, er udesktop20_04-02 KVM virtuell maskin er løping. Du må stoppe den før du fjerner den.

$ virsh-liste - alt

For å tvinge stoppe udesktop20_04-02 KVM virtuell maskin, kjør følgende kommando:

$ virsh ødelegge udesktop20_04-02

Som du kan se, er udesktop20_04-02 virtuell maskin er slått av.

$ virsh-liste - alt

Du kan fjerne udesktop20_04-02 virtuell maskin og alle tilknyttede virtuelle harddisker med følgende kommando:

$ virsh undefine --remove-all-storage udesktop20_04-02

Som du kan se, er udesktop20_04-02 virtuell maskin er ikke lenger tilgjengelig.

$ virsh-liste - alt

Utgave nr. 1: Fiksing av cpu-> kvm_msr_buf-> nmsrs påstandsfeil

Når du oppretter en virtuell KVM-maskin på CentOS 8 KVM-verten, kan du se følgende feilmelding. Det er en kjernefeil. Vanligvis skjer dette når du kjører KVM på en annen virtuell maskin. Jeg kjører KVM i en virtuell VMware-maskin. Dette er grunnen til at jeg fikk denne feilen, tror jeg. Det er enkelt å fikse.

Åpne konfigurasjonsfilen / etc / modprobe.d / kvm.konf med følgende kommando:

$ sudo nano / etc / modprobe.d / kvm.konf

De / etc / modprobe.d / kvm.konf filen skal åpnes. Du må aktivere det prosessorspesifikke alternativet for KVM-nestet virtualisering herfra.

Hvis du bruker en Intel-prosessor, må du fjerne kommentaren til linjen som markert i skjermbildet nedenfor.

Hvis du bruker en AMD-prosessor, må du fjerne kommentaren til linjen som markert i skjermbildet nedenfor.

Deretter legger du til linjen alternativer kvm ignorere_msrs = 1 på slutten av filen som vist på skjermbildet nedenfor.

Når du er ferdig, trykk + X etterfulgt av Y og for å redde / etc / modprobe.d / kvm.konf fil.

Start deretter CentOS 8 KVM-verten på nytt med følgende kommando for at endringene skal tre i kraft.

$ sudo omstart

Problemet ditt bør løses.

Utgave nr.2: Løsning av RFB-protokollfeil for VNC-klient:

Når du kobler til den virtuelle KVM-maskinen ved hjelp av en VNC-klient, kan det hende du ser følgende feilmelding. Denne feilmeldingen vises når bildekvaliteten til VNC-klienten er satt til Automatisk. Det er enkelt å fikse.

Klikk på Eiendommer ikonet til VNC-klienten din.

Som du kan se, er Bildekvalitet er satt til Automatisk.

Velg en av disse løsningene Lav, Medium, eller Høy fra Bildekvalitet nedtrekksmenyen.

Når du er ferdig, klikker du på OK.

Problemet ditt bør løses.

Konklusjon:

I denne artikkelen har jeg vist deg hvordan du installerer KVM på CentOS 8 og oppretter virtuelle KVM-maskiner fra kommandolinjen. Jeg har også vist deg hvordan du fjerner virtuelle KVM-maskiner og løsninger på noen vanlige KVM-problemer. Dette skal hjelpe deg i gang med Linux KVM virtualisering.

Beste kommandolinjespill for Linux
Kommandolinjen er ikke bare din største allierte når du bruker Linux, den kan også være kilden til underholdning fordi du kan bruke den til å spille m...
Beste Gamepad Mapping Apps for Linux
Hvis du liker å spille spill på Linux med en gamepad i stedet for et vanlig tastatur- og musinngangssystem, er det noen nyttige apper for deg. Mange P...
Nyttige verktøy for Linux-spillere
Hvis du liker å spille spill på Linux, er sjansen stor for at du har brukt apper og verktøy som Wine, Lutris og OBS Studio for å forbedre spilloppleve...