Den fulde form af KVM er Kernel Virtual Machine. Det er virtualiseringsløsningen til Linux. KVM er et Linux-kernemodul, der gør det muligt for Linux-kernen at fungere som et hypervisorprogram som VMware ESXi eller VSphere.

I denne artikel vil jeg vise dig, hvordan du installerer KVM på Ubuntu 20.04 LTS og opretter en simpel virtuel KVM-maskine med den. Så lad os komme i gang.

Aktivering af hardwarevirtualisering:

Du skal aktivere hardwarevirtualiseringsudvidelsen fra BIOS på din computer, for at KVM kan fungere. For Intel-processorer skal du aktivere processorfunktionen VT-x eller VT-d fra BIOS’en. For AMD-processorer skal du aktivere processorfunktionen AMD-v fra BIOS.

Når du har aktiveret hardwarevirtualisering i BIOS’en, skal du køre følgende kommando for at kontrollere, om VT-x/VT-d- eller AMD-v-udvidelsen er aktiveret.

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

Du bør have enten svm- eller vmx-flaget tilgængeligt i output, hvis du har hardwarevirtualisering aktiveret i BIOS.

Jeg bruger en AMD-processor. Så svm-flaget er tilgængeligt i mit tilfælde. Hvis du bruger en Intel-processor, vil det være vmx.

Opgradering af systemet:

Hvor du installerer KVM, skal du opgradere softwarepakkerne i din Ubuntu 20.04 LTS.

Først skal du opdatere APT-pakkeopbevaringscachen i Ubuntu 20.04 LTS med følgende kommando:

Cachen for APT-pakkerepositoriet for Ubuntu 20.04 LTS skal opdateres.

Som du kan se, er alle pakker på min Ubuntu 20.04 LTS-maskine allerede opdateret. Så jeg behøver ikke at gøre noget.

Hvis du har opdateringer til rådighed, kan du anvende disse opdateringer med følgende kommando:

$ sudo apt upgrade

Derpå skal du trykke på Y og derefter trykke på <Enter> for at bekræfte installationen.

Når opdateringerne er installeret, skal du genstarte computeren med følgende kommando:

$ sudo reboot

Installation af KVM:

KVM-pakker er tilgængelige i det officielle pakkeregister for Ubuntu 20.04 LTS.

Du kan installere KVM på din Ubuntu 20.04 LTS med følgende kommando:

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

For at bekræfte installationen skal du trykke på Y og derefter trykke på <Enter>.

APT-pakkehåndteringsprogrammet skal hente alle de nødvendige pakker fra internettet.

Når pakkerne er hentet, vil APT-pakkehåndteringsprogrammet installere dem.

På dette tidspunkt bør KVM være installeret.

Installation af LibVirt:

LibVirt er et værktøj til oprettelse og administration af virtuelle KVM-maskiner og til konfiguration af KVM. Det er et uundværligt værktøj til virtualisering med KVM.

LibVirt er tilgængeligt i det officielle pakkeregister i Ubuntu 20.04 LTS.

For at installere LibVirt skal du køre følgende kommando:

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

For at bekræfte installationen skal du trykke på Y og derefter trykke på <Enter>.

APT-pakkehåndteringsprogrammet bør hente og installere alle de nødvendige pakker fra internettet.

LibVirt bør være installeret på dette tidspunkt.

Når LibVirt er installeret, skal du tilføje din login-bruger til libvirt-gruppen med følgende kommando:

$ sudo usermod -aG libvirt $(whoami)

Dernæst skal du genstarte din computer med følgende kommando for at ændringerne træder i kraft.

$ sudo reboot

Når computeren er startet op, skal du køre følgende kommando for at bekræfte, at LibVirt fungerer:

$ virsh –version

Kommandoen skal returnere versionsnummeret for LibVirt. I mit tilfælde er det 6.0.0.0.

Indstilling af nødvendige KVM-kataloger:

Jeg synes, det er en god idé at holde alle de virtuelle maskindata organiseret. Jeg opbevarer normalt alle de virtuelle KVM-maskindata i mappen /kvm/. I /kvm/-mappen opretter jeg 2 undermapper disk/ og iso/. I undermappen disk/ opbevarer jeg alle den virtuelle maskines (VM) harddisksfiler. I undermappen iso/ opbevarer jeg ISO-installationsaftrykkene af forskellige styresystemer (dvs. Ubuntu, Debian, CentOS osv.).

Du kan oprette de samme mappestrukturer med følgende kommando:

$ sudo mkdir -pv /kvm/{disk,iso}

Skabelse af en virtuel KVM-maskine:

I dette afsnit vil jeg vise dig, hvordan du opretter en Ubuntu Server 20.04 LTS KVM virtuel maskine.

Først skal du downloade Ubuntu Server 20.04 LTS ISO-installationsaftrykket. For at holde alle den virtuelle maskines filer/data organiseret er det en god idé at gemme ISO-aftrykket i mappen /kvm/iso/.

Navigér derfor til mappen /kvm/iso/ med følgende kommando:

$ cd /kvm/iso

Du kan downloade Ubuntu Server 20.04 LTS ISO-aftryk fra Ubuntus officielle websted med følgende kommando:

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

wget skulle starte downloading af Ubuntu Server 20.04 LTS ISO-aftrykket. Det vil tage et stykke tid at gennemføre.

Når Ubuntu Server 20.04 LTS ISO-aftrykket er downloadet, kan du oprette en virtuel KVM-maskine med følgende kommando:

$ virt-install –name 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

Her vil navnet på den virtuelle maskine være server-01.

Det styresystem vi vil installere er linux.

Den variant af operativsystemet er ubuntu20.04 (Ubuntu 20.04 LTS).

Værdierne for OS-type og OS-variant er ikke tilfældige. Du kan finde OS-type og OS-variant for din ønskede Linux-distribution med kommandoen osinfo-query. Som du kan se, er OS-type i linux og OS-variant for Ubuntu 20.04 LTS ubuntu20.04.

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

Hvis du ikke har osinfo-query-kommandoen tilgængelig på din computer, kan du installere den med følgende kommando:

$ sudo apt install libosinfo-bin

Den virtuelle maskinens RAM (Random Access Memory) vil være 1024 MB (megabytes).

Den virtuelle disk for den virtuelle maskine vil blive gemt i filen /kvm/disk/server-01.img. Den virtuelle disk er ca. 10 GB stor, og formatet er QCOW2 (QEMU Copy-On-Write v2)

Den virtuelle maskine vil være tilgængelig via VNC (Virtual Network Computing) fjernskrivebordsprotokol, og VNC-serveren vil lytte på alle tilgængelige netværksgrænseflader, der er konfigureret på din Ubuntu 20.04 LTS KVM-vært.

Ubuntu 20.04 LTS KVM-vært vil ikke automatisk forsøge at oprette forbindelse til den virtuelle maskine, når den virtuelle maskine er oprettet. Den virtuelle maskine vil blive ved med at køre i baggrunden.

Brug fuld virtualisering for den virtuelle maskine. Dette vil få virtuelle maskiner til at yde bedre.

Brug Ubuntu Server 20.04 LTS ISO-aftrykket, som vi netop har downloadet, som virtuel cd/dvd-rom i den virtuelle maskine og brugt til installation af Ubuntu Server 20.04 LTS på den virtuelle maskine.

Sæt’s opstartsrækkefølgen for den virtuelle maskine. Den første opstartspost er den virtuelle cd/dvd-rom og derefter den virtuelle harddisk. Så den virtuelle maskine vil kunne starte op fra Ubuntu Server 20.04 LTS ISO-aftrykket og installere Ubuntu Server 20.04 LTS på harddisken.

Det er stort set alle de muligheder, du har brug for for at oprette en virtuel KVM-maskine.

Når du har kørt kommandoen virt-install, bør KVM begynde at oprette den virtuelle maskine. Det kan tage et stykke tid afhængigt af din konfiguration af den virtuelle maskine.

På dette tidspunkt bør den virtuelle KVM-maskine være oprettet.

Liste over virtuelle KVM-maskiner:

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

$ virsh list –all

Kommandoen bør vise dig alle de virtuelle KVM-maskiner, du har. Lige nu har jeg kun 1 virtuel maskine server-01. Det er den, som jeg netop har oprettet. Som du kan se, kører den virtuelle maskine server-01. Du burde kunne oprette forbindelse til den med en hvilken som helst VNC-klient.

Fjerntilslutning til virtuelle KVM-maskiner med VNC:

I dette afsnit vil jeg vise dig, hvordan du opretter forbindelse til din virtuelle KVM-maskine eksternt med VNC.

Du kan finde VNC-portnummeret for den virtuelle KVM-maskine server-01 med følgende kommando:

$ virsh vncdisplay server-01

Som du kan se, er VNC-portnummeret for den virtuelle maskine server-01 0.

Her betyder port 0 port 5900. På samme måde betyder port 1 port 5901 og så videre.

Nu skal du finde IP-adressen på din Ubuntu 20.04 LTS KVM-vært med følgende kommando:

$ ip a

I mit tilfælde er IP-adressen 192.168.20.131. Den vil være anderledes for dig. Så sørg for at erstatte den med din fra nu af.

Åbn en hvilken som helst VNC-klient, og opret forbindelse til adressen 192.168.20.131:0.

Klik på Fortsæt.

Du skulle være forbundet til skærmen for den virtuelle maskine server-01 KVM, som du kan se på skærmbilledet nedenfor.

Nu kan du installere det ønskede styresystem på den virtuelle maskine.

I mit tilfælde vil jeg installere styresystemet Ubuntu Server 20.04 LTS på den virtuelle maskine.

Ubuntu Server 20.04 LTS er installeret på den virtuelle maskine på dette tidspunkt. Lad os genstarte den virtuelle maskine.

Tryk på <Enter>, når du ser denne meddelelse.

Den virtuelle maskine server-01 KVM bør automatisk slukkes, som du kan se i skærmbilledet nedenfor.

$ virsh list –all

Start den virtuelle maskine server-01 KVM med følgende kommando:

$ virsh start server-01

Den virtuelle maskine server-01 skulle være startet.

Nu kan du oprette forbindelse til den virtuelle maskine server-01 fra en VNC-klient som før. Som du kan se, vises login-skærmen Ubuntu Server 20.04 LTS.

Du kan logge ind og køre en hvilken som helst kommando, du ønsker.

Fjernelse af virtuelle KVM-maskiner:

Du kan også meget nemt fjerne en virtuel KVM-maskine ved hjælp af LibVirt.

Som du kan se, har jeg 2 virtuelle KVM-maskiner (server-01 og server-02), der kører på min Ubuntu 20.04 LTS KVM-vært. Lad os fjerne den virtuelle KVM-maskine server-02.

$ virsh list –all

Som du kan se, kører den virtuelle KVM-maskine server-02. Du skal stoppe den, før du fjerner den.

$ virsh list –all

Hvis du vil tvinge den virtuelle maskine server-02 KVM til at stoppe, skal du køre følgende kommando:

$ virsh destroy server-02

Som du kan se, er den virtuelle maskine server-02 slukket.

$ virsh list –all

Du kan permanent fjerne den virtuelle maskine server-02 og alle dens tilknyttede virtuelle harddiske med følgende kommando:

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

Som du kan se, er den virtuelle maskine server-02 ikke længere tilgængelig.

$ virsh list –all

Sag nr. 1: Rettelse af cpu->kvm_msr_buf->nmsrs Assertion Error

Når du opretter en virtuel KVM-maskine på Ubuntu 20.04 LTS, kan du muligvis se følgende fejlmeddelelse. Det er en kernefejl. Normalt sker dette, når du kører KVM inde i en anden virtuel maskine. Jeg kører KVM inde i en virtuel VMware-maskine. Det er derfor jeg fik denne fejl, tror jeg. Den er nem at rette.

Opret en ny fil /etc/modprobe.d/qemu-system-x86.conf med følgende kommando:

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

Føj følgende linjer i filen, hvis du bruger en AMD-processor.

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

Føj følgende linjer til i filen, hvis du bruger en Intel-processor.

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

Når du er færdig, skal du trykke på <Ctrl> + X efterfulgt af Y og <Enter> for at gemme /etc/modprobe.d/qemu-system-x86.conf-filen.

Derpå skal du genstarte computeren med følgende kommando for at få ændringerne til at træde i kraft:

$ sudo reboot

Dit problem skulle være løst.

Konklusion:

I denne artikel har jeg vist dig, hvordan du installerer KVM på Ubuntu 20.04 LTS og opretter virtuelle KVM-maskiner ved hjælp af LibVirt. Jeg har også vist dig, hvordan du fjerner KVM virtuelle maskiner. Dette skulle hjælpe dig med at komme i gang med Linux KVM-virtualisering.

admin

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.

lg