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:
- Uppgradering av systemet:
- Installation av KVM:
- Installation av LibVirt:
- Inställning av nödvändiga KVM-kataloger:
- Skapa en virtuell KVM-maskin:
- Lista över virtuella KVM-maskiner:
- Anslutning till virtuella KVM-maskiner på distans med VNC:
- Hitta bort virtuella KVM-maskiner:
- Issue#1: Fixing cpu->kvm_msr_buf->nmsrs Assertion Error
- Slutsats:
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.
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:
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:
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:
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:
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:
När du sedan startar om datorn med följande kommando för att ändringarna ska börja gälla.
När datorn har startat upp kör du följande kommando för att bekräfta att LibVirt fungerar:
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:
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:
Du kan ladda ner Ubuntu Server 20.04 LTS ISO-avbildningen från Ubuntus officiella webbplats med följande kommando:
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:
–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.
Om du inte har kommandot osinfo-query tillgängligt i din dator kan du installera det med följande kommando:
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:
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:
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:
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.
Starta den virtuella KVM-maskinen server-01 med följande kommando:
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.
Som du ser körs den virtuella KVM-maskinen server-02. Du måste stoppa den innan du tar bort den.
För att tvinga fram ett stopp för den virtuella KVM-maskinen server-02 kör du följande kommando:
Som du kan se är den virtuella maskinen server-02 avstängd.
Du kan permanent ta bort den virtuella maskinen server-02 och alla dess anslutna virtuella hårddiskar med följande kommando:
Som du ser är den virtuella maskinen server-02 inte längre tillgänglig.
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:
Lägg till följande rader i filen om du använder en AMD-processor.
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 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:
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.