KVM

Hur man installerar KVM / QEMU på CentOS 8

Hur man installerar KVM / QEMU på CentOS 8
Den fullständiga formen av KVM är Kernel Virtual Machine. Det är en virtualiseringslösning för Linux. KVM är en Linux-kärnmodul som tillåter Linux-kärnan att fungera som ett hypervisorprogram som VMware ESXi eller VSphere.

I den här artikeln ska jag visa dig hur du installerar KVM på CentOS 8 och skapar en enkel virtuell KVM-maskin med den. Så, låt oss komma igång.

Aktivera hårdvaruvirtualisering:

Du måste aktivera hårdvaruvirtualiseringstillägg från BIOS på din dator för att KVM ska fungera. För Intel-processorer bör du aktivera processorns funktion VT-x eller VT-d från BIOS. För AMD-processorer bör du aktivera processorfunktionen AMD-v från BIOS.

När du har aktiverat hårdvaruvirtualisering i BIOS kör du följande kommando för att verifiera om VT-x / VT-d eller AMD-v-tillägg är aktiverat.

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

Du borde ha antingen svm eller vmx flagga tillgänglig i utgången om du har aktiverat hårdvaruvirtualisering i BIOS.

Jag använder en AMD-processor. Så, den svm flagga finns i mitt fall. Om du använder en Intel-processor kommer det att vara det vmx.

Uppgradera systemet:

Innan du installerar KVM bör du uppgradera alla befintliga programvarupaket till din CentOS 8-maskin.

Uppdatera först DNF-paketförvarets cache för din CentOS 8-maskin med följande kommando:

$ sudo dnf makecache

DNF-paketets förvaringscache bör uppdateras.

Uppgradera alla befintliga programvarupaket för din CentOS 8-maskin med följande kommando:

$ sudo dnf-uppdatering

För att bekräfta uppgraderingen, tryck på Y och tryck sedan på .

DNF-pakethanteraren ska ladda ner alla nödvändiga paket från internet.

När paketnedladdningen är klar bör alla installerade paket installeras. Det kan ta ett tag att slutföra.

Vid denna tidpunkt bör ditt CentOS 8-system vara uppdaterat.

För att ändringarna ska träda i kraft startar du om din CentOS 8-maskin med följande kommando:

$ sudo omstart

Ställa in SELinux i tillstånd:

Konfigurering av SELinux för KVM omfattas inte av denna artikel. Om du lämnar SELinux i verkställighet läge (standard), får du nekad fel när du skapar virtuella KVM-maskiner. Om du inte har erfarenhet av SELinux bör du ställa in den på tolerant läge. Annars kommer du inte att kunna skapa virtuella KVM-maskiner.

För att ställa in SELinux till tolerant öppnar du / etc / selinux / config fil med en textredigerare (i.e. nano) med följande kommando:

$ sudo nano / etc / selinux / config

Ändra raden SELINUX = verkställighet till SELINUX = tillåtet som markerat i skärmdumpen nedan.

När du är klar trycker du på + X följd av Y och för att spara konfigurationsfilen.

För att ändringarna ska träda i kraft startar du om datorn med följande kommando:

$ sudo omstart

Installera KVM:

Du kan enkelt installera alla nödvändiga paket för KVM-virtualisering på CentOS 8 genom att helt enkelt installera Virtualiseringsvärd paketgrupp.

Du kan installera Virtualiseringsvärd paketgrupp på din CentOS 8-maskin med följande kommando:

$ sudo dnf groupinstall "Virtualization Host"

För att bekräfta installationen, tryck på Y och tryck sedan på .

DNF-pakethanteraren ska ladda ner alla nödvändiga paket från internet.

När paketnedladdningen är klar bör den installera alla nedladdade paket. Det kan ta ett tag att slutföra.

Vid denna tidpunkt bör KVM installeras.

Kontrollera nu om libvirtd tjänsten körs med följande kommando:

$ sudo systemctl status libvirtd

Som du kan se libvirtd tjänsten är aktiva/löpning. libvirtd tjänsten är mycket viktig. Om den inte körs kommer du inte att kunna administrera KVM.

Om den libvirtd tjänsten körs inte i ditt fall, du kan starta den med följande kommando:

$ sudo systemctl starta libvirtd

Kontrollera om du kan köra kommandot KVM-hantering virsh som följer:

$ sudo virsh --version

Kommandot ska skriva ut versionsinformationen som du kan se på skärmdumpen nedan.

Installera virt-install:

virt-install är ett kommandoradsverktyg för att enkelt skapa virtuella KVM-maskiner. virt-install är baserad på libvirt. Så de virtuella maskinerna skapades med virt-install kan också hanteras med virsh och virt-manager.

Du kan installera virt-install med följande kommando:

$ sudo dnf installera virt-install

För att bekräfta installationen, tryck på Y och tryck sedan på .

virt-install bör installeras.

Konfigurera nödvändiga KVM-kataloger:

Jag tycker att det är en bra idé att hålla all virtuell maskindata organiserad. Jag håller vanligtvis all KVM-data för virtuell maskin i / kvm / katalog. I / kvm / katalog skapar jag två underkataloger disk/ och iso /. I disk/ underkatalog, jag behåller alla virtuella maskin (VM) hårddiskfiler. I iso / underkatalog behåller jag ISO-installationsbilderna för olika operativsystem (i.e. Ubuntu, Debian, CentOS, etc.).

Du kan skapa samma katalogstrukturer med följande kommando:

$ sudo mkdir -pv / kvm / disk, iso

Skapa en virtuell KVM-maskin:

I det här avsnittet ska jag visa dig hur du skapar en Ubuntu Desktop 20.04 LTS KVM virtuell maskin.

Först måste du ladda ner Ubuntu Desktop 20.04 LTS ISO-installationsbild. För att hålla alla virtuella maskinfiler / data organiserade är det en bra idé att lagra ISO-avbildningen i / kvm / iso / katalog.

Så navigera till / kvm / iso / katalog med följande kommando:

$ cd / kvm / iso

Du kan ladda ner Ubuntu Desktop 20.04 LTS ISO-bild från den officiella webbplatsen för Ubuntu med följande kommando:

$ sudo wget https: // utgåvor.ubuntu.com / 20.04 / ubuntu-20.04.1-skrivbord-amd64.iso

wget bör börja ladda ner Ubuntu Desktop 20.04 LTS ISO-bild. Det tar ett tag att slutföra.

Vid denna punkt, Ubuntu Desktop 20.04 LTS ISO-bild ska laddas ner.

Ubuntu Desktop 20.04 LTS ISO-bild finns i / kvm / iso / katalog som du kan se på skärmdumpen nedan.

En gång Ubuntu Desktop 20.04 LTS ISO-bild laddas ner, du kan skapa en virtuell KVM-maskin med följande kommando:

$ sudo virt-install - namn udesktop20_04-01 \
--OS-typ Linux \
--os-variant ubuntu19.10 \
--ram 4096 \
--disk / kvm / disk / udesktop20_04-01.img, enhet = disk, buss = virtio, storlek = 20, format = qcow2 \
--grafik vnc, lyssna = 0.0.0.0 \
--noautoconsole \
--hvm \
--cdrom / kvm / iso / ubuntu-20.04.1-skrivbord-amd64.iso \
--starta cdrom, hd

Här kommer namnet på den virtuella maskinen att vara udesktop20_04-01.

Operativsystemet vi kommer att installera är Linux.

Operativsystemets variant är ubuntu19.10. OS-databasen för CentOS 8 har ingen post för Ubuntu 20.04 LTS när detta skrivs. Så jag har använt informationen för Ubuntu 19.10.

OS-typ och OS-variantvärden är inte slumpmässiga. Du kan hitta OS-typ och OS-variant för önskad Linux-distribution med osinfo-fråga kommando. Som du kan se, ingen post för Ubuntu 20.04 LTS är tillgänglig. Men en post för Ubuntu 19.10 är tillgänglig. OS-typen av Ubuntu 19.10 är Linux och OS-varianten är ubuntu19.10.

$ osinfo-fråga os --fields = namn, kort-id, familj | grep -i Ubuntu

RAM (Random Access Memory) för den virtuella datorn är 4096 MB (megabyte) eller 4 GB (gigabyte).

Den virtuella skivan till den virtuella datorn sparas i / kvm / disk / udesktop20.04-01.img fil. Den virtuella skivan handlar om 20 GB i storlek och formatet är QCOW2 (QEMU Copy-On-Write v2)

Den virtuella maskinen kommer att vara tillgänglig via VNC (Virtual Network Computing) fjärrskrivbordsprotokoll och VNC-servern kommer att lyssna på alla tillgängliga nätverksgränssnitt som är konfigurerade på din CentOS 8 KVM-värd.

CentOS 8 KVM-värd försöker inte automatiskt ansluta till den virtuella maskinen när den virtuella maskinen har skapats. Den virtuella maskinen fortsätter att köras i bakgrunden.

Använd fullständig virtualisering för den virtuella maskinen. Detta gör att virtuella maskiner fungerar bättre.

Använd Ubuntu Desktop 20.04 LTS ISO-bild har vi just laddat ner som den virtuella CD / DVD-skivan på den virtuella maskinen. Används för installation av Ubuntu Desktop 20.04 LTS på den virtuella maskinen.

Ställ in startordningen för den virtuella maskinen. Den första startposten är den virtuella CD / DVD-skivan och sedan den virtuella hårddisken. Så den virtuella maskinen kommer att kunna starta från Ubuntu Desktop 20.04 LTS ISO-avbildning och installera Ubuntu Desktop 20.04 LTS på hårddisken.

Det är alla alternativ du behöver för att skapa en virtuell KVM-maskin.

När du kör virt-install kommando bör KVM börja skapa den virtuella maskinen. Det kan ta ett tag beroende på din virtuella maskinkonfiguration.

Vid den här tiden bör den virtuella KVM-maskinen skapas.

Listar virtuella maskiner för KVM:

När den virtuella KVM-maskinen har skapats kan du lista den med följande kommando:

$ virsh-lista - allt

Kommandot ska visa alla virtuella KVM-maskiner du har. Just nu har jag bara en virtuell maskin udesktop20_04-01. Det här är det jag just har skapat. Som du kan se, den virtuella maskinen udesktop20_04-01 är löpning. Du bör kunna ansluta till den med vilken VNC-klient som helst.

Konfigurera brandväggen för fjärråtkomst till virtuella KVM-maskiner:

För att få åtkomst till den virtuella KVM-maskinen måste du tillåta brandväggsåtkomst till VNC-porten på den virtuella maskinen.

För att hitta VNC-porten på den virtuella KVM-maskinen udesktop20_04-01, kör följande kommando:

$ virsh vncdisplay udesktop20_04-01

Som du kan se VNC-portnumret på udesktop20_04-01 virtuell maskin är 0.

Här, hamn 0 betyder hamn 5900. På samma sätt, port 1 betyder hamn 5901 och så vidare.

Som du kan se, är den virtuella KVM-maskinen udesktop20_04-01 körs på port 5900 (: 0).

$ sudo netstat -tln

För att ge tillgång till port 5900, kör följande kommando:

$ sudo brandvägg-cmd --add-port = 5900 / tcp - permanent

För att brandväggsändringarna ska träda i kraft, kör följande kommando:

$ sudo firewall-cmd --reload

Fjärranslutning till KVM Virtual Machines med VNC Client:

För att ansluta till den virtuella maskinen via VNC måste du veta IP-adressen till din CentOS 8 KVM-värd.

Du hittar IP-adressen till din CentOS 8 KVM-värd med följande kommando:

$ ip a

I mitt fall är IP-adressen 192.168.0.103. Det kommer att vara annorlunda för dig. Så se till att ersätta den med din från och med nu.

Öppna valfri VNC-klient och anslut till adressen 192.168.0.103: 0.

Klicka på Fortsätta.

Klicka på Fortsätta.

Du bör vara ansluten till skärmen på udesktop20_04-01 KVM virtuell maskin som du kan se på skärmdumpen nedan.

Nu kan du installera önskat operativsystem på den virtuella maskinen.

I mitt fall installerar jag Ubuntu Desktop 20.04 LTS-operativsystem på den virtuella maskinen.

Ubuntu Desktop 20.04 LTS installeras på den virtuella KVM-maskinen. Det kan ta ett tag att slutföra.

När installationen är klar klickar du på Starta om nu.

Tryck .

VNC-anslutningen ska vara stängd.

Den virtuella maskinen ska stängas av automatiskt när OS-installationen är klar som du kan se på skärmdumpen nedan.

$ sudo virsh list - all

Starta udesktop20_04-01 KVM virtuell maskin med följande kommando:

$ virsh start udesktop20_04-01

Den virtuella maskinen udesktop20_04-01 bör startas.

Nu kan du ansluta till udesktop20_04-01 virtuell maskin från en VNC-klient som tidigare. Som du kan se, är Ubuntu Desktop 20.04 LTS går bra på den virtuella KVM-maskinen.

Ta bort virtuella maskiner från KVM:

Du kan också ta bort en virtuell KVM-maskin mycket enkelt med virsh kommandoradsverktyg.

Som du kan se har jag två virtuella KVM-maskiner (udesktop20_04-01 och udesktop20_04-02) körs på min CentOS 8 KVM-värd. Låt oss ta bort udesktop20_04-02 KVM virtuell maskin.

$ virsh-lista - allt

Som du kan se udesktop20_04-02 KVM virtuell maskin är löpning. Du måste stoppa den innan du tar bort den.

$ virsh-lista - allt

För att tvinga stoppa udesktop20_04-02 KVM virtuell maskin, kör följande kommando:

$ virsh förstöra udesktop20_04-02

Som du kan se udesktop20_04-02 virtuell maskin är avstängd.

$ virsh-lista - allt

Du kan ta bort den permanent udesktop20_04-02 virtuell maskin och alla dess anslutna virtuella hårddiskar med följande kommando:

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

Som du kan se udesktop20_04-02 virtuell maskin är inte längre tillgänglig.

$ virsh-lista - allt

Problem nr 1: Åtgärda cpu-> kvm_msr_buf-> nmsrs påståendefel

När du skapar en virtuell KVM-maskin på CentOS 8 KVM-värd kan följande felmeddelande visas. Det är en kärnfel. Vanligtvis händer detta när du kör KVM inuti en annan virtuell maskin. Jag kör KVM i en virtuell VMware-maskin. Det är därför jag fick det här felet tror jag. Det är lätt att fixa.

Öppna konfigurationsfilen / etc / modprobe.d / kvm.konf med följande kommando:

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

De / etc / modprobe.d / kvm.konf filen ska öppnas. Du måste aktivera det processorns specifika alternativet för KVM-nestad virtualisering härifrån.

Om du använder en Intel-processor, avmarkera raden som markerad i skärmdumpen nedan.

Om du använder en AMD-processor, avmarkera raden som markerad i skärmdumpen nedan.

Lägg sedan till raden alternativ kvm ignorera_msrs = 1 i slutet av filen som visas på skärmdumpen nedan.

När du är klar trycker du på + X följd av Y och för att spara / etc / modprobe.d / kvm.konf fil.

Starta sedan om din CentOS 8 KVM-värd med följande kommando för att ändringarna ska träda i kraft.

$ sudo omstart

Ditt problem bör lösas.

Problem nr 2: Åtgärdande av RFB-protokollfel hos VNC-klient:

När du ansluter till den virtuella KVM-maskinen med en VNC-klient kan följande felmeddelande visas. Detta felmeddelande visas när bildkvaliteten för VNC-klienten är inställd på Automatisk. Det är lätt att fixa.

Klicka på Egenskaper ikon för din VNC-klient.

Som du kan se Bildkvalitet är satt till Automatisk.

Välj något av dessa för att lösa problemet Låg, Medium, eller Hög från Bildkvalitet rullgardinsmenyn.

När du är klar klickar du på OK.

Ditt problem bör lösas.

Slutsats:

I den här artikeln har jag visat dig hur du installerar KVM på CentOS 8 och skapar virtuella KVM-maskiner från kommandoraden. Jag har också visat dig hur du tar bort virtuella KVM-maskiner och lösningar på några vanliga KVM-problem. Detta ska hjälpa dig att komma igång med Linux KVM-virtualisering.

Mus Topp 5 Ergonomiska datormusprodukter för Linux
Topp 5 Ergonomiska datormusprodukter för Linux
Ger långvarig datoranvändning smärta i handleden eller fingrarna? Lider du av styva leder och måste ständigt skaka hand? Känner du en brännande smärta...
Mus Så här ändrar du inställningar för mus och pekplatta med Xinput i Linux
Så här ändrar du inställningar för mus och pekplatta med Xinput i Linux
De flesta Linux-distributioner levereras med "libinput" -bibliotek som standard för att hantera inmatningshändelser i ett system. Den kan bearbeta inm...
Mus Omforma dina musknappar på olika sätt för olika program med X-Mouse Button Control
Omforma dina musknappar på olika sätt för olika program med X-Mouse Button Control
Kanske behöver du ett verktyg som kan göra att musens kontroll ändras med alla applikationer som du använder. Om så är fallet kan du prova en ansökan ...