6 Open-Source-Virtualisierungstechnologien, die man 2020 kennen sollte

Virtualization Tools, besser bekannt als Virt Tools, ist eine Sammlung von sechs Open-Source-Virtualisierungstools, die von verschiedenen Mitwirkenden erstellt wurden, um die Virtualisierungswelt zu verbessern.

Einige der Tools, wie KVM und QEMU, könnten Linux-Enthusiasten bekannt sein, aber Tools wie libvirt und libguestfs sind wahrscheinlich weniger bekannt.

Für den Fall, dass Sie lieber durch Videos als durch Lesen lernen, habe ich eine Videoversion dieses Artikels erstellt, auf die Sie auf YouTube zugreifen können.

Bevor Sie die Tools durchgehen, ist es eine gute Idee, einige grundlegende Virtualisierungsterminologie zu kennen. Viele dieser Definitionen habe ich aus Wikipedia entnommen, wobei die Seiten in der Tabelle verlinkt sind.

Begriff Definition
Virtualisierung In der Informatik bezieht sich Virtualisierung auf die Erstellung einer virtuellen (statt physischen) Version von etwas, einschließlich virtueller Computer-Hardwareplattformen, Speichergeräte und Computernetzwerkressourcen.
Emulator Ein Emulator ist eine Hardware oder Software, die es einem Computersystem (Host genannt) ermöglicht, sich wie ein anderes Computersystem (Gast genannt) zu verhalten.
Virtuelle Maschine (VM) Auch als „Gastmaschine“ bekannt, sind dies Emulationen echter, physischer Hardware-Computer.
Hosts In der Hardwarevirtualisierung ein Computer, auf dem ein Hypervisor eine oder mehrere VMs ausführt.
Hypervisor Dies ist eine Computersoftware, Firmware oder Hardware, die VMs erstellt und ausführt.
Kernel Dies ist ein Computerprogramm, das den Kern des Betriebssystems eines Computers bildet und die vollständige Kontrolle über das gesamte System hat.
Daemon Dies ist ein Computerprogramm, das als Hintergrundprozess läuft und nicht unter der direkten Kontrolle eines interaktiven Benutzers steht.

Diese Tabelle fasst jedes Virt-Tool zusammen, einschließlich Lizenzinformationen und Links zur Website und zum Quellcode des jeweiligen Tools. Viele dieser Informationen stammen von der Virt Tools Website und der Website des jeweiligen Tools.

Name Was es ist Lizenz Quellcode
Kernel-based Virtual Machine (KVM) Ein Virtualisierungsmodul im Linux-Kernel, das es dem Kernel ermöglicht, als Hypervisor zu fungieren GNU GPL oder LGPL Quellcode
Quick Emulator (QEMU) Ein generischer und quelloffener Maschinenemulator und Virtualisierer GPLv2 Quellcode
Libvirt Eine Bibliothek und ein Daemon, die eine stabile, Open-Source-API für die Verwaltung von Virtualisierungshosts GNU Quellcode
Libguestfs Eine Reihe von Werkzeugen für den Zugriff auf und die Änderung von VM-Festplattenimages LGPL, GPL Quellcode
Virt-manager Eine Desktop-Benutzeroberfläche zur Verwaltung von VMs durch libvirt GPLv2+ Quellcode
Libosinfo Bietet eine Datenbank mit Informationen über Betriebssystemversionen, um die optimale Konfiguration der Hardware beim Einsatz von VMs zu unterstützen LGPLv2+ Quellcode

Kernel-based Virtual Manager (KVM)

2_kvm.jpg

KVM-Website

(Bryant Son, CC BY-SA 4.0)

KVM ist eine vollständige Virtualisierungslösung für Linux auf Hardware mit Virtualisierungserweiterungen. KVM bietet die Hardwarevirtualisierung für eine Vielzahl von Gastbetriebssystemen, einschließlich Linux, Windows, macOS, ReactOS und Haiku. Mit KVM können Sie mehrere VMs auf unveränderten Linux- oder Windows-Images ausführen. Jede VM verfügt über private virtualisierte Hardware: eine Netzwerkkarte, Festplatte, Grafikkarte usw.

Die meiste Zeit werden Sie nicht direkt mit KVM interagieren. Stattdessen müssen Sie QEMU, virt-manager oder ein anderes Virtualisierungsmanagement-Tool verwenden, um KVM zu nutzen.

Die vollständige Dokumentation finden Sie auf der KVM-Website, ebenso wie den Zugriff auf den Quellcode.

Quick Emulator (QEMU)

3_qemu.jpg

QEMU Website

(Bryant Son, CC BY-SA 4.0)

QEMU ist ein generischer, quelloffener Maschinenemulator und Virtualisierer. Als Emulator kann QEMU Betriebssysteme und Programme, die für einen Rechner (z.B. ein ARM-Board) entwickelt wurden, auf einem anderen Rechner (z.B. dem eigenen x86_64-PC) ausführen. Wenn QEMU als Virtualisierer verwendet wird, erreicht es eine nahezu native Leistung, indem es den Gastcode direkt auf der Host-CPU unter Verwendung von KVM ausführt.

QEMU wird von mehreren Betriebssystemen unterstützt, und der Installationsprozess ist so einfach wie das Ausführen einiger einfacher Befehle; hier sehen Sie, wie Sie QEMU unter macOS mit Homebrew installieren können.

3_1_qemuinstall.jpg

QEMU macOS installation info

(Bryant Son, CC BY-SA 4.0)

Nach der Installation können Sie die Dokumentation lesen und auf den Quellcode zugreifen.

Libvirt

4_libvirt.jpg

Libvirt-Website

(Bryant Son, CC BY-SA 4.0)

Libvirt ist eine Bibliothek und ein Daemon, der eine stabile Open-Source-API für die Verwaltung von Virtualisierungshosts bietet. Es zielt auf mehrere Hypervisoren ab, einschließlich QEMU, KVM, LXC, Xen, OpenVZ, VMWare ESX, VirtualBox und mehr.

Eine weitere interessante Sache über libvirt ist, dass KubeVirt, ein Open-Source-Projekt zur Erstellung und Verwaltung von VMs innerhalb der Kubernetes-Plattform, Libvirt weitgehend nutzt. (Ich werde KubeVirt in einem späteren Artikel behandeln.) Libvirt ist ein interessantes Projekt, das man erforschen sollte, und man kann eine Fülle von Informationen auf seiner offiziellen Website finden sowie den Quellcode herunterladen.

Libguestfs

5_libguestfs.jpg

Libguestfs Website

(Bryant Son, CC BY-SA 4.0)

Libguestfs ist eine Reihe von Werkzeugen für den Zugriff auf und die Bearbeitung von VM-Disk-Images. Sie können damit Dateien innerhalb von Gästen anzeigen und bearbeiten, Änderungen an VMs skripten, Statistiken über belegte/freie Festplatten überwachen, Gäste, physische zu virtuelle (P2V) oder virtuelle zu virtuelle (V2V) Maschinen erstellen, Backups durchführen, VMs klonen, VMs erstellen, Festplatten formatieren, Festplattengrößen ändern und vieles mehr. Ich habe es in letzter Zeit bei der Arbeit an einem KubeVirt-basierten Projekt namens OpenShift Virtualization verwendet, über das Sie in meinem Video-Tutorial mehr erfahren können.

Die offizielle Website von Libguestfs enthält eine ausführliche Dokumentation über die Verwendung der einzelnen Befehle, und Sie können auch den Quellcode auf GitHub herunterladen.

Virt-manager

6_virtualmanager.jpg

Virt-manager Webseite

(Bryant Son, CC BY-SA 4.0)

Virt-manager ist eine Desktop-Benutzeroberfläche zur Verwaltung von VMs durch libvirt. Sie zielt hauptsächlich auf KVM-VMs ab, verwaltet aber auch Xen und LXC. Es enthält auch das Kommandozeilen-Bereitstellungstool virt-install. Betrachten Sie virt-manager als ein benutzerfreundliches Verwaltungstool für Ihre VMs. Sie können virt-manager beispielsweise verwenden, um eine Microsoft Windows-Umgebung auf einer Linux-Workstation auszuführen oder umgekehrt.

Der Quellcode von virt-manager ist auf GitHub verfügbar und die Dokumentation befindet sich auf der Website. Derzeit ist virt-manager nur für Linux-Plattformen verfügbar.

Libosinfo

7_libosinfo.jpg

Libosinfo Website

(Bryant Son, CC BY-SA 4.0)

Libosinfo stellt eine Datenbank mit Informationen über Betriebssystemversionen zur Verfügung, die bei der Konfiguration von Hardware beim Einsatz von VMs helfen. Sie enthält eine C-Bibliothek zur Abfrage von Informationen in der Datenbank, auf die auch von jeder Sprache aus zugegriffen werden kann, die von GObject Introspection unterstützt wird. Wie Sie sich vielleicht denken können, ist libosinfo eher ein Baustein, um die Funktionalität eines Betriebssystems zu ermöglichen – aber ein ziemlich wichtiger.

Der Quellcode von libosinfo ist auf GitLab verfügbar, und die Dokumentation ist auf der Website zu finden.

Abschluss

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.