KVM heter Kernel Virtual Machine. Det är virtualiseringslösningen för Linux. KVM är en modul i Linuxkärnan som gör det möjligt för Linuxkä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å Ubuntu 20.04 LTS och skapar en enkel virtuell KVM-maskin med den. Så nu sätter vi igång.

Aktivering av hårdvaruvirtualisering:

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

När du har aktiverat maskinvaruvirtualisering i BIOS kör du följande kommando för att kontrollera om VT-x/VT-d eller AMD-v-tillägget är aktiverat.

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

Du bör ha antingen svm- eller vmx-flaggan tillgänglig i utmatningen om du har hårdvaruvirtualisering aktiverad i BIOS.

Jag använder en AMD-processor. Så svm-flaggan är tillgänglig i mitt fall. Om du använder en Intel-processor är det vmx.

Uppgradering av systemet:

För att installera KVM bör du uppgradera programvarupaketen i din Ubuntu 20.04 LTS.

Först uppdaterar du APT-paketförvarets cache i Ubuntu 20.04 LTS med följande kommando:

APT package repository cache of Ubuntu 20.04 LTS should be updated.

Som du ser är alla paket i min Ubuntu 20.04 LTS-maskin redan uppdaterade. Så jag behöver inte göra någonting.

Om du har uppdateringar tillgängliga kan du tillämpa dessa uppdateringar med följande kommando:

$ sudo apt upgrade

Därefter trycker du på Y och sedan på <Enter> för att bekräfta installationen.

När uppdateringarna är installerade startar du om datorn med följande kommando:

$ sudo reboot

Installation av KVM:

KVM-paket finns i det officiella paketförrådet för Ubuntu 20.04 LTS.

Du kan installera KVM på din Ubuntu 20.04 LTS med följande kommando:

$ sudo apt install qemu qemu-kvm qemu-system qemu-utils

För att bekräfta installationen trycker du på Y och sedan på <Enter>.

Pakethanteraren APT ska hämta alla nödvändiga paket från Internet.

När paketen har laddats ner ska APT:s pakethanterare installera dem.

När det är dags att installera KVM.

Installation av LibVirt:

LibVirt är ett verktyg för att skapa och hantera virtuella KVM-maskiner och konfigurera KVM. Det är ett nödvändigt verktyg för virtualisering med KVM.

LibVirt finns i det officiella paketförrådet för Ubuntu 20.04 LTS.

För att installera LibVirt kör du följande kommando:

$ sudo apt install libvirt-clients libvirt-daemon-system virtinst

För att bekräfta installationen trycker du på Y och sedan på <Enter>.

Pakethanteraren för APT ska hämta och installera alla nödvändiga paket från internet.

LibVirt ska installeras vid detta tillfälle.

När LibVirt är installerat lägger du till din inloggningsanvändare i libvirt-gruppen med följande kommando:

$ sudo usermod -aG libvirt $(whoami)

När du sedan startar om datorn med följande kommando för att ändringarna ska börja gälla.

$ sudo reboot

När datorn har startat upp kör du följande kommando för att bekräfta att LibVirt fungerar:

$ virsh –version

Kommandot bör returnera versionsnumret för LibVirt. I mitt fall är det 6.0.0.

Inställning av nödvändiga KVM-kataloger:

Jag tycker att det är en bra idé att hålla all data om virtuella maskiner organiserad. Jag brukar förvara alla data från den virtuella KVM-maskinen i katalogen /kvm/. I katalogen /kvm/ skapar jag 2 underkataloger disk/ och iso/. I underkatalogen disk/ förvarar jag alla hårddiskfiler för den virtuella maskinen (VM). I underkatalogen iso/ förvarar jag ISO-installationsavbildningarna av olika operativsystem (t.ex. Ubuntu, Debian, CentOS osv.).

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 virtuell KVM-maskin för Ubuntu Server 20.04 LTS.

Först måste du ladda ner installationsavbildningen Ubuntu Server 20.04 LTS ISO. För att hålla alla filer/data för den virtuella maskinen organiserade är det en bra idé att lagra ISO-avbildningen i katalogen /kvm/iso/.

Navigera alltså till katalogen /kvm/iso/ med följande kommando:

$ cd /kvm/iso

Du kan ladda ner Ubuntu Server 20.04 LTS ISO-avbildningen från Ubuntus officiella webbplats med följande kommando:

$ sudo wget https://releases.ubuntu.com/20.04/ubuntu-20.04.1-live-server-amd64.iso

wget bör börja ladda ner Ubuntu Server 20.04 LTS ISO-avbildningen. Det kommer att ta ett tag att slutföra.

När Ubuntu Server 20.04 LTS ISO-avbildningen har laddats ner kan du skapa en virtuell KVM-maskin med följande kommando:

$ virt-install –namn server-01 \
–os-type linux \
–os-variant ubuntu20.04 \
–ram 1024 \
–disk /kvm/disk/server-01.img,device=disk,bus=virtio,size=10,format=qcow2 \
–graphics vnc,listen=0.0.0.0.0 \
–noautoconsole \
–hvm \
–cdrom /kvm/iso/ubuntu-20.04.1-live-server-amd64.iso \
–boot cdrom,hd

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

Operativsystemet som vi ska installera är linux.

Operativsystemvarianten är ubuntu20.04 (Ubuntu 20.04 LTS).

Värdena för operativsystemstyp och operativsystemvariant är inte slumpmässiga. Du kan hitta OS-typ och OS-variant för din önskade Linuxdistribution med kommandot osinfo-query. Som du kan se för Ubuntu 20.04 LTS är OS-typ i linux och OS-variant ubuntu20.04.

$ osinfo-query os –fields=name,short-id,family | grep -i Ubuntu

Om du inte har kommandot osinfo-query tillgängligt i din dator kan du installera det med följande kommando:

$ sudo apt install libosinfo-bin

Den virtuella maskinens RAM-minne (Random Access Memory) kommer att vara 1024 MB (megabyte).

Den virtuella maskinens virtuella disk kommer att sparas i filen /kvm/disk/server-01.img. Den virtuella disken är cirka 10 GB stor och formatet är QCOW2 (QEMU Copy-On-Write v2)

Den virtuella maskinen kommer att vara åtkomlig via fjärrskrivbordsprotokollet VNC (Virtual Network Computing) och VNC-servern kommer att lyssna på alla tillgängliga nätverksgränssnitt som är konfigurerade på din Ubuntu 20.04 LTS KVM-värd.

Ubuntu 20.04 LTS KVM-värd kommer inte automatiskt att försöka 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 presterar bättre.

Använd Ubuntu Server 20.04 LTS ISO-avbildningen som vi just har laddat ner som virtuell cd/dvd-rom för den virtuella maskinen och använd för att installera Ubuntu Server 20.04 LTS på den virtuella maskinen.

Inställer startordningen för den virtuella maskinen. Den första startposten är den virtuella cd/dvd-romskivan och därefter den virtuella hårddisken. Så den virtuella maskinen kommer att kunna starta upp från Ubuntu Server 20.04 LTS ISO-avbildningen och installera Ubuntu Server 20.04 LTS på hårddisken.

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

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

Därmed bör den virtuella KVM-maskinen vara skapad.

Lista över virtuella KVM-maskiner:

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

$ virsh list –all

Kommandot bör visa alla virtuella KVM-maskiner du har. Just nu har jag bara 1 virtuell maskin server-01. Det är den som jag just har skapat. Som du kan se körs den virtuella maskinen server-01. Du bör kunna ansluta till den med vilken VNC-klient som helst.

Anslutning till virtuella KVM-maskiner på distans med VNC:

I det här avsnittet ska jag visa dig hur du ansluter till din virtuella KVM-maskin på distans med VNC.

Du kan hitta VNC-portnumret för den virtuella KVM-maskinen server-01 med följande kommando:

$ virsh vncdisplay server-01

Som du kan se är VNC-portnumret för den virtuella maskinen server-01 0.

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

Nu kan du hitta IP-adressen till din Ubuntu 20.04 LTS KVM-värd med följande kommando:

$ ip a

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

Öppna en VNC-klient och anslut till adressen 192.168.20.131:0.

Klicka på Fortsätt.

Du bör vara ansluten till skärmen för den virtuella KVM-maskinen server-01 KVM, som du kan se i skärmdumpen nedan.

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

I mitt fall kommer jag att installera operativsystemet Ubuntu Server 20.04 LTS på den virtuella maskinen.

Ubuntu Server 20.04 LTS är installerat på den virtuella maskinen vid denna tidpunkt. Låt oss starta om den virtuella maskinen.

Tryck på <Enter> när du ser det här meddelandet.

Den virtuella KVM-maskinen server-01 bör stängas av automatiskt, som du kan se i skärmdumpen nedan.

$ virsh list –all

Starta den virtuella KVM-maskinen server-01 med följande kommando:

$ virsh start server-01

Den virtuella maskinen server-01 bör startas.

Nu kan du ansluta till den virtuella maskinen server-01 från en VNC-klient som tidigare. Som du kan se visas inloggningsskärmen för Ubuntu Server 20.04 LTS.

Du kan logga in och köra vilket kommando du vill.

Hitta bort virtuella KVM-maskiner:

Du kan också ta bort en virtuell KVM-maskin mycket enkelt med hjälp av LibVirt.

Som du kan se har jag två virtuella KVM-maskiner (server-01 och server-02) som körs på min KVM-värd Ubuntu 20.04 LTS. Låt oss ta bort den virtuella KVM-maskinen server-02.

$ virsh list –all

Som du ser körs den virtuella KVM-maskinen server-02. Du måste stoppa den innan du tar bort den.

$ virsh list –all

För att tvinga fram ett stopp för den virtuella KVM-maskinen server-02 kör du följande kommando:

$ virsh destroy server-02

Som du kan se är den virtuella maskinen server-02 avstängd.

$ virsh list –all

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

$ virsh undefine –remove-all-storage server-02

Som du ser är den virtuella maskinen server-02 inte längre tillgänglig.

$ virsh list –all

Issue#1: Fixing cpu->kvm_msr_buf->nmsrs Assertion Error

Vid skapandet av en virtuell KVM-maskin på Ubuntu 20.04 LTS kan det hända att du ser följande felmeddelande. Det är ett fel i kärnan. Vanligtvis händer detta när du kör KVM inuti en annan virtuell maskin. Jag kör KVM inuti en virtuell VMware-maskin. Det är därför jag fick det här felet, tror jag. Det är lätt att åtgärda.

Skapa en ny fil /etc/modprobe.d/qemu-system-x86.conf med följande kommando:

$ sudo nano /etc/modprobe.d/qemu-system-x86.conf

Lägg till följande rader i filen om du använder en AMD-processor.

options kvm_amd nested=1 enable_apicv=n
options kvm ignore_msrs=1

För att du använder en Intel-processor måste du lägga till följande rader i filen.

options kvm_intel nested=1 enable_apicv=n
options kvm ignore_msrs=1

När du är klar, tryck på <Ctrl> + X följt av Y och <Enter> för att spara /etc/modprobe.d/qemu-system-x86.conf-filen.

Starta sedan om datorn med följande kommando för att ändringarna ska träda i kraft:

$ sudo reboot

Ditt problem borde vara löst.

Slutsats:

I den här artikeln har jag visat hur du installerar KVM på Ubuntu 20.04 LTS och skapar virtuella KVM-maskiner med LibVirt. Jag har också visat hur du tar bort virtuella KVM-maskiner. Detta bör hjälpa dig att komma igång med Linux KVM-virtualisering.

admin

Lämna ett svar

Din e-postadress kommer inte publiceras.

lg