6 open source-virtualiseringsteknologier, som du skal kende i 2020

Virtualiseringsværktøjer, bedre kendt som Virt Tools, er en samling af seks open source-virtualiseringsværktøjer, der er skabt af forskellige bidragydere for at gøre virtualiseringsverdenen til et bedre sted.

Nogle af værktøjerne, som KVM og QEMU, er måske velkendte for Linux-entusiaster, men værktøjer som libvirt og libguestfs er nok mindre velkendte.

Hvis du foretrækker at lære ved at se videoer frem for at læse, har jeg lavet en video-version af denne artikel, som du kan få adgang til på YouTube.

Hvor du går igennem værktøjerne, er det en god idé at kende nogle vigtige virtualiseringsterminologier. Jeg har hentet mange af disse definitioner fra Wikipedia, hvor siderne er linket i tabellen.

Term Definition
Virtualisering I databehandling henviser virtualisering til den handling at skabe en virtuel (i stedet for fysisk) version af noget, herunder virtuelle computerhardwareplatforme, lagerenheder og computernetværksressourcer.
Emulator En emulator er en hardware eller software, der gør det muligt for et computersystem (kaldet værten) at opføre sig som et andet computersystem (kaldet gæsten).
Virtuel maskine (VM) Også kendt som en “gæstemaskine”, er disse emuleringer af rigtige, fysiske hardwarecomputere.
Hosts I hardwarevirtualisering er en computer, hvorpå en hypervisor kører en eller flere VM’er.
Hypervisor Det er computersoftware, firmware eller hardware, der opretter og kører en VM’er.
Kernel Dette er et computerprogram, der er kernen i en computers operativsystem, og som har fuldstændig kontrol over alt i systemet.
Daemon Det er et computerprogram, der kører som en baggrundsproces og ikke under direkte kontrol af en interaktiv bruger.

Denne tabel indeholder en oversigt over hvert Virt-værktøj, herunder licensoplysninger og links til hvert værktøjs websted og kildekode. Mange af disse oplysninger stammer fra Virt Tools-webstedet og hvert enkelt værktøjs websted.

Navn Hvad det er Licens Kildekode
Kernel-based Virtual Machine (KVM) Et virtualiseringsmodul i Linux-kernen, der gør det muligt for kernen at fungere som en hypervisor GNU GPL eller LGPL Kildekode
Quick Emulator (QEMU) En generisk og open source-maskineemulator og virtualisator GPLv2 Kildekode
Libvirt Et bibliotek og en dæmon, der leverer en stabil, open source API til styring af virtualiseringsværter GNU Kildekode
Libguestfs Et sæt værktøjer til adgang til og ændring af VM-diskeaftryk LGPL, GPL Kildekode
Virt-manager En desktop-brugergrænseflade til styring af VM’er via libvirt GPLv2+ Kildekode
Libosinfo Forudsætter en database over oplysninger om styresystemudgivelser for at hjælpe med at konfigurere hardware optimalt ved implementering af VM’er LGPLv2+ Kildekode

Kernel-based Virtual Manager (KVM)

2_kvm.jpg

KVM-websted

(Bryant Son, CC BY-SA 4.0)

KVM er en komplet virtualiseringsløsning til Linux på hardware, der indeholder virtualiseringsudvidelser. KVM leverer hardwarevirtualisering til en lang række gæstestyresystemer, herunder Linux, Windows, macOS, ReactOS og Haiku. Ved hjælp af KVM kan du køre flere VM’er på uændrede Linux- eller Windows-images. Hver VM har privat virtualiseret hardware: et netværkskort, en disk, et grafikkort osv.

Det meste af tiden vil du ikke interagere direkte med KVM. I stedet skal du bruge QEMU, virt-manager eller et andet virtualiseringshåndteringsværktøj for at udnytte KVM.

Du kan finde den fulde dokumentation på KVM-webstedet og få adgang til kildekoden.

Quick Emulator (QEMU)

3_qemu.jpg

QEMU-websted

(Bryant Son, CC BY-SA 4.0)

QEMU er en generisk, open source-maskineemulator og virtualisator. Når QEMU bruges som en emulator, kan QEMU køre operativsystemer og programmer, der er lavet til en maskine (f.eks. et ARM-kort), på en anden maskine (f.eks. din egen x86_64-pc). Når QEMU bruges som en virtualisator, opnår QEMU næsten native ydeevne ved at udføre gæstekoden direkte på værts-CPU’en ved hjælp af KVM.

QEMU understøttes på flere styresystemer, og installationsprocessen er lige så nem som at køre et par enkle kommandoer; her kan du se, hvordan du installerer QEMU på macOS med Homebrew.

3_1_qemuinstall.jpg

QEMU macOS installation info

(Bryant Son, CC BY-SA 4.0)

Når du har installeret det, kan du lære at bruge det ved at læse dets dokumentation, og du kan også få adgang til dets kildekode.

Libvirt

4_libvirt.jpg

Libvirt-websted

(Bryant Son, CC BY-SA 4.0)

Libvirt er et bibliotek og en dæmon, der leverer et stabilt open source API til styring af virtualiseringsværter. Det er rettet mod flere hypervisorer, herunder QEMU, KVM, LXC, Xen, OpenVZ, VMWare ESX, VirtualBox og flere.

En anden interessant ting ved libvirt er, at KubeVirt, et open source-projekt til oprettelse og administration af VM’er inden for Kubernetes-platformen, i vid udstrækning anvender Libvirt. (Jeg vil dække KubeVirt i en fremtidig artikel.) Libvirt er et interessant projekt at udforske, og du kan finde et væld af oplysninger på dets officielle websted samt downloade kildekoden.

Libguestfs

5_libguestfs.jpg

Libguestfs-websted

(Bryant Son, CC BY-SA 4.0)

Libguestfs er et sæt værktøjer til adgang til og ændring af VM-diskeaftryk. Du kan bruge det til visning og redigering af filer inde i gæster; scripting af ændringer i VM’er; overvågning af statistikker over brugte/frie diske; oprettelse af gæster, fysiske til virtuelle (P2V) eller virtuelle til virtuelle (V2V) maskiner; udførelse af sikkerhedskopier; kloning af VM’er; opbygning af VM’er; formatering af diske; ændring af diskenes størrelse; og meget mere. Jeg har for nylig brugt det, mens jeg arbejdede på et KubeVirt-baseret projekt kaldet OpenShift Virtualization, som du kan lære mere om i min videotutorial.

Libguestfs’ officielle websted indeholder omfattende dokumentation om, hvordan du bruger hver enkelt kommando, og du kan også downloade kildekoden på GitHub.

Virt-manager

6_virtualmanager.jpg

Virt-manager-websted

(Bryant Son, CC BY-SA 4.0)

Virt-manager er en desktop-brugergrænseflade til administration af VM’er via libvirt. Det er primært rettet mod KVM-VM’er, men det administrerer også Xen og LXC. Den indeholder også kommandolinjeforsyningsværktøjet virt-install. Tænk på virt-manager som et brugervenligt administrationsværktøj til dine VM’er. Du kan f.eks. bruge virt-manager til at køre et Microsoft Windows-miljø på en Linux-arbejdsstation eller omvendt.

Virt-managers kildekode er tilgængelig på GitHub, og dokumentationen findes på dets websted. På nuværende tidspunkt er virt-manager kun tilgængelig for Linux-platforme.

Libosinfo

7_libosinfo.jpg

Libosinfo-websted

(Bryant Son, CC BY-SA 4.0)

Libosinfo indeholder en database med oplysninger om operativsystemudgivelser som hjælp til at konfigurere hardware ved implementering af VM’er. Den indeholder et C-bibliotek til søgning efter oplysninger i databasen, som også er tilgængelig fra ethvert sprog, der understøttes af GObject introspektion. Som du måske kan gætte, er libosinfo mere en byggesten til at muliggøre et styresystems funktionalitet – men en ganske vigtig en.

Libosinfosinfos kildekode er tilgængelig på GitLab, og dens dokumentation kan findes på på dens websted.

Konklusion

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.