Virtualisierung – ein Überblick

Markmc, Denisarnaud, Lhirlimann Version F34 onwards Last review: 2019-10-29 Needs Reviewing!
Diese Seite beschreibt die Bemühungen zur Integration verschiedener Virtualisierungstechnologien in Fedora.

Einführung

Virtualisierung ermöglicht es, zahlreiche virtuelle Gastmaschinen auf einem Host-Betriebssystem wie Fedora auszuführen. Dies bedeutet, dass man mit einem einzigen Computer mehrere einzelne Computer nachbilden und in jeder dieser virtuellen Maschinen sogar unterschiedliche Betriebssysteme ausführen kann. Es gibt viele verschiedene Virtualisierungstechnologien, darunter sowohl freie und quelloffene Software, als auch proprietäre Lösungen. Ein guter Artikel auf der „IBM DeveloperWorks (M Tim Jones, Dezember 2006, archiviert“) Website zeigt die vier Hauptvirtualisierungsfamilien, nämlich

  • Hardware-Emulation

  • hardwaregestützte Vollvirtualisierung

  • Para-Virtualisierung (PV)

  • Virtualisierung auf Betriebssystemebene (Container/Zonen)

Hardware-Emulation

virtualization hardware emulation

Bei der Hardwareemulation wird eine virtuelle Maschine (VM) verwendet, um die benötigte Hardware zu simulieren. Einige Implementierungen:

Hardwaregestützte vollständige Virtualisierung

virtualization hardware assisted full

Bei der Vollvirtualisierung wird ein Hypervisor (auch VMM, kurz für Virtual Machine Monitor) eingesetzt, um die zugrundeliegende Hardware gemeinsam zu nutzen. Einige Implementierungen:

  • KVM / QEMU ist eine Lösung für vollständige Virtualisierung unter Linux auf x86-Hardware, die über Virtualisierungserweiterungen (Intel VT oder AMD-V) verfügt. Mit KVM lassen sich mehrere virtuelle Maschinen betreiben, auf denen unveränderte Linux- oder Windows-Abbilder laufen.

  • Xen ist ein Virtual-Machine-Monitor, der Dienste bereitstellt, die es mehreren Betriebssystemen ermöglichen, gleichzeitig auf derselben Computerhardware zu laufen. Seit 2005 ist Xen die bevorzugte Lösung für RedHat-EL-Distributionen. Zwar wurde die Unterstützung für Xen im Kernel 2.6.18 eingestellt, doch wurden die erforderlichen Module bzw. Änderungen wieder in den Upstream-Kernel integriert: ab Version 2.6.37 für DomU (Gastsysteme) und ab Version 3.0 für Dom0 (Basisdomäne, Teil des Hosts). Folglich wurde die Unterstützung für Xen-Dom0-Hosts, die nach Fedora 8 weggefallen war, ab Fedora 16 wieder eingeführt.

  • VirtualBox ist eine vollständige Virtualisierungslösung für x86- und AMD64/Intel64-Hardware. Sun Microsystems hat dieses Projekt gestartet, das nun vollständig von Oracle unterstützt wird. Es gibt ein duales Lizenzierungsschema, darunter GPLv2. Angeblich ist VirtualBox eine der schnellsten Vollvirtualisierungslösungen.

Para-Virtualisierung (PV)

[[File:Virtualization_Para.png|200px|thumb|Para-Virtualization]]

virtualization para

Bei der Paravirtualisierung wird der Prozess mit dem Gastbetriebssystem geteilt. Einige Implementierungen:

  • KVM (siehe oben).

  • Xen (siehe oben).

Virtualisierung auf Betriebssystemebene

Virtualisierung auf Betriebssystemebene unterteilt einen Host in isolierte Gastsysteme; diese ähneln zwar einer Chroot-Umgebung, bieten jedoch eine wesentlich stärkere Ressourcenisolierung.

Ursprünglich wurde diese Gruppe von Virtualisierungstechnologien als „Zones“ bezeichnet; daraus wurden die heutigen, hochentwickelten „Container“ abgeleitet.

Einige Implementierungen:

  • Docker isoliert einen einzelnen Prozess in seiner eigenen Umgebung

  • OpenVZ und das auf Debian basierende Proxmox für den Standardserver

  • LXC (Linux Containers), ein Virtualisierungsverfahren auf Betriebssystemebene zum Ausführen mehrerer isolierter Linux-Systeme (Container) auf einem einzelnen Steuerungs-Host

  • Linux-VServer, das anscheinend nicht mehr aktiv ist (die letzten Neuigkeiten stammen aus dem Jahr 2009)

Unterstützung in Fedora

Zum Zeitpunkt der Erstellung dieses Textes bietet Fedora volle Unterstützung für KVM/QEMU, Xen und LXC.

Eine Reihe von Drittanbietern (z. B. RPMFusion) bieten Zusatzpakete für andere Virtualisierungstechnologien an: OpenVZ, Linux-VServer, VirtualBox.

Im Vorgriff auf diese Diversifizierung der Technologie basieren seit den Tagen von Fedora Core 5 alle Kernverwaltungsanwendungen auf dem libvirt-Toolkit, das eine technologieunabhängige API für die Verwaltung virtueller Systeme bietet.

Clouds

Da cloudbasierte Infrastrukturen naturgemäß auf Virtualisierungstechnologien beruhen, sind diese beiden Themen eng miteinander verknüpft. Auch die Fedora Cloud Edition widmet sich diesem Thema und ist einen Blick wert.

Geschichte

Fedora Core 5 war die erste Version, die Xen als fest integrierte Kerntechnologie enthielt. Die neue, nativ in Linux integrierte Virtualisierungslösung KVM wurde mit Fedora 7 eingeführt. Für eine detailliertere Darstellung der Entwicklung der Virtualisierung in Fedora lesen Sie bitte die Seite Virtualization History.

Neuigkeiten

Neuigkeiten zur Virtualisierung werden in verschiedenen Kommunikationskanälen von Fedora mehr oder weniger regelmäßig behandelt, insbesondere im Fedora Magazine, im Fedora Community Blog und unter Fedora Discussion, #libvirt.

Erste Schritte

Der Kurzanleitungen-Artikel Virtualisierung – Erste Schritte bietet einen hervorragenden Überblick über die Nutzung der Virtualisierungsfunktionen in Fedora.

Speziell für die Fedora Server Edition ist eine ausführliche Schritt-für-Schritt-Anleitung verfügbar.

Verschiedene Artikel im Fedora Magazine zum Thema Virtualisierung enthalten ebenfalls einführende Informationen.

Fehler

Unter Virtualisierung – Wie man Probleme behebt finden Sie einige Tipps zum Melden von Virtualisierungsfehlern in Bugzilla.

Mailingliste und IRC

Es gibt keine spezielle Mailingliste für Virtualisierungsthemen; versuchen Sie es daher mit den Standard-Fedora-Listen wie users oder devel.

oVirt

oVirt ist ein auf Fedora basierendes Projekt, das kompakte Host-Images sowie eine webbasierte Konsole zur Verwaltung virtueller Maschinen bereitstellt. Besuchen Sie die Website des Projekts, um mehr zu erfahren und sich zu beteiligen.