Verloren im Labyrinth der IT-Begriffe? Hier finden Sie Definitionen und Basiswissen zu Rechenzentrums-IT und -Infrastruktur.

Von „Marke Eigenbau“ bis zum Konfigurationskomfort Wie geht Open-Source-Virtualisierung?

Von M.A. Jürgen Höfling

Open Source kann auch in der IT- Virtualisierungstechnologie eine echte Alternative zu rein kommerziellen Lösungen sein. Und auch innerhalb von Open Source selbst gibt es noch viele Wahlmöglichkeiten.

Firmen zum Thema

Virtualisierung von Anwendungs-Containern ist auch mit quelloffenen Systemen möglich
Virtualisierung von Anwendungs-Containern ist auch mit quelloffenen Systemen möglich
(Bild: Ingo_Fuechtenbusch_pixelio.de)

Wer bei Virtualisierungstechnologien nach einer quelloffenen Lösung als Alternative für komplett kommerzielle Produkte wie „VMware vSphere“ oder „Microsoft Hyper-V“ sucht, stößt schnell auf die unter GNU GPL oder LGPL lizensierte „Kernel-based Virtual Machine“ (KVM), vor allem wenn er oder sie sowieso schon Linux-orientiert sind.

Seit weit über einem Jahrzehnt (genau seit Linux Version 2.6.20) ist KVM Bestandteil von Linux. KVM transformiert das Open-Source-Betriebssystem in einen Hypervisor, mit dem ein Host-Rechner mehrere virtuelle Umgebungen (Gastrechner) steuern kann. Mit jeder neuen Funktion oder Fehlerbehebung bei Linux wird auch KVM funktionsmächtiger.

Linux als Hypervisor

Seit der KVM-Integration ist Linux nicht nur ein Open-Source-Betriebssystem, sondern auch ein Open-Source-Hypervisor, und zwar ein Hypervsior auf Hardware-Ebene (Bare-Metal- oder auch Typ-1-Hypervisor genannt). Der Linux-Kernel enthält damit alle Komponenten, die für den Betrieb von virtuellen Maschinen (Gastrechnern) notwendig sind.

Jede virtuelle Maschine ist als regulärer Linux-Prozess implementiert, der vom standardmäßigen Linux-Scheduler geplant wird und bei dem virtuelle Hardware in Gestalt von Netzwerk- und Grafikkarten, CPU(s), Speicher, und Festplatten passgenau reserviert wird.

Linux muss dabei auf einer x86-Prozessorhardware installiert sein, die Virtualisierung unterstützt. Außerdem müssen ein Host-Kernel-Modul und ein prozessorspezifisches Modul sowie ein Emulator (in der Regel „Quick Emulator“ alias QEMU unter der Lizenz GPLv2) und Treiber für den Betrieb zusätzlicher Systeme geladen werden.

KVM und QEMU gehören zusammen

Mit KVM / Linux ist eine Hardware-Virtualisierung für eine große Anzahl von Gastbetriebssystemen möglich. Das Spektrum reicht von Linux und „Windows“ über „MacOS“ bis zu Exoten wie „ReactOS“ oder „Haiku“.

In der Regel kommunizieren die Anwender nicht direkt mit KVM, sondern nutzen verschiedene Arten von Vermittlungs- oder Management-Software. Das wichtigste Element wurde schon oben genannt: Es ist die Emulator-Software QEMU.

Das quelloffene Tool QEMU ist ein Emulator und ein Virtualisierungsinstrument in einem. Als Emulator sorgt QEMU dafür, dass ein Programm, das für eine Maschine, zum Beispiel einen ARM-Prozessor konzipiert ist, auf einer anderen Maschine, beispielsweise einem x86-64-PC, ablaufen kann. Als Virtualisierungsinstrument führt QEMU den Code einer Gastmaschine auf dem virtualisierten Host mit Hilfe von KVM fast so schnell aus wie auf der angestammten (nicht-virtualisierten) Maschine.

Viele kleine Helferlein

Auch schon in kleineren Virtualisierungsumgebungen wird man keinen verwaltungsmäßigen „Handbetrieb“ wollen, sondern ein leistungsfähiges Management-Tool, natürlich auch quelloffen. Beispiele dafür sind „libvirt“ und „Virt-Manager“.

Mit Libvirt erhält man eine Bibliothek und ein Hintergrundprogramm („Daemon“), das eine API für die Verwaltung von Virtualisierungs-Hosts bietet. Libvirt spielt mit einer Vielzahl von Hypervisoren (Open und Closed Source) zusammen, unter anderem mit KVM/QEMU, „OpenVZ“, „Xen“, „VMware ESX“, „Virtual Box“, „LinuXContainers“ alias LXC)

Libvirt wird im Übrigen auch von „KubeVirt“ benutzt. KubeVirt ist ein quelloffenes Projekt für die Installation und Verwaltung von virtuellen Maschinen innerhalb der Kubernetes-Orchestrierungs-Plattform.

Virt-Manager ist eine Desktop-Schnittstelle zur Verwaltung von virtuellen Maschinen, speziell KVM, aber auch Xen und LXC. Der Quellcode von Virt-Manager ist auf „Github“ abgelegt.

Container-Virtualisierung als Zukunft

Libvirt/virt-Manager sind Hypervisoren, die auf dem Betriebssystem aufsetzen, traditionell Typ-2-Hypervisoren genannt. Die Unterscheidung Typ-1- und Typ-2-Hypervisoren war aber nie ganz unumstritten und dürfte angesichts der heute um sich greifenden Anwendungs-Virtualisierung mittels Container noch einmal unwichtiger werden. Die oben schon genannten LinuXContainers und das KubeVirt-Projekt gehen genau in diese Richtung der Anwendungsvirtualisierung.

Auf KubeVirt basiert zum Beispiel auch die container-native Virtualisierungslösung „Openshift Virtualization“ von Red Hat. Laut eigener Aussage plant man bei Red Hat die Fortsetzung der Entwicklungsarbeit an KubeVirt, speziell im Rahmen des unternehmensfähigen Kubernetes-Produkts Red Hat Openshift.

Originalton Red Hat: „Mit Red Hat OpenShift können Entwickler neue oder vorhandene virtuelle Maschinen importieren oder entwickeln, und zwar parallel zu den containerisierten Anwendungen, die sie auf der Red Hat OpenShift Container Platform erstellen.

Neueste Version von Proxmox VE

Schon sehr früh angefangen mit einer zweigleisigen Lösung in Sachen Virtualisierung (einerseits Hardware pur und andererseits Betriebssystem-Virtualisierung beziehungsweise Containerisierung) hat die Wiener Firma Proxmox mit ihrem Produkt „Proxmox Virtual Environment“ (PVE).

Basis von PVE sind KVM und LinuXContainers. Seit November 2021 ist die Version 7.1 erhältlich, die auf der Linux-Distribution „Debian Bullseye 11.1“ basiert und den Linux Kernel 5.13 verwendet. Die integrierten Open-Source-Virtualisierungstechnologien wurden allesamt aktualisiert, darunter QEMU 6.1, LXC 4.0, das Dashboard „Ceph Pacific 16.2.6“ und „OpenZFS 2.1“.

Proxmox Virtual Environment 7.1 bringt viele neue Funktionen, darunter Support für Windows 11 inklusive „TPM 2.0“, ein aktualisierter Wizard für VM/Container, einfache Konfiguration von Aufbewahrungsfristen für Backups via Weboberfläche, einen neuen Scheduler-Daemon, der flexiblere Backup-Zeitpläne unterstützt, zahlreiche GUI-Verbesserungen sowie einige Bug-Fixes.

Open-Source-Fallstricke beachten

Die Open-Source-Virtualisierungslösungen von Red Hat und Proxmox sind sehr ausgefeilt und bieten viel „Drumherum“, will heißen, eine große Funktionsvielfalt, neuesten Stand der Technik und viel Hilfestellung bei Verwaltung und Betrieb.

Diese Lösungen sind natürlich teurer in Anschaffung und Betrieb als Lösungen, die weitgehend „Marke Eigenbau“ sind. Je nach der Expertise, die im Haus vorhanden ist, und dem sich daraus ergebenden (oder auch sich NICHT ergebenden) Support-Bedarf wird man die eine oder die andere Vorgehensweise wählen. Wer eine Enterprise-fähige europäische Lösung bevorzugt, wird vermutlich zu Proxmox greifen. Auf jeden Fall ist die Open-Source-Virtualisierung eine wirkliche Alternative zu den rein kommerziellen Platzhirschen am Markt.

Freilich ist Open Source als „Philosophie“ nicht ohne Tücken. Es gibt rechtliche und finanzielle Fallstricke. Zumindest bei größeren Projekten dürfte eine vorherige Rechtsberatung gut angelegtes Geld sein (siehe: „Etikettenschwindel? Fragmentierung statt Einheitlichkeit, bumpy statt seamless; Linux von Edge bis Core“).

(ID:47834465)