Blog Artikel 21/02/2022

Was ist ein Hypervisor? Die Grundlagen der Virtualisierungstechnologie

Was ist ein Hypervisor und wofür wird er verwendet? In diesem Artikel erläutern wir die Grundlagen der Virtualisierung, beschreiben verschiedene Arten dieser Technologie und betrachten in diesem Zusammenhang die beliebtesten Lösungen.

Hypervisoren und Virtualisierungssysteme

Ein Hypervisor ist ein Programm, das die physischen Ressourcen eines Rechners steuert. Er verteilt sie auf verschiedene Betriebssysteme, sodass diese gleichzeitig ausgeführt werden können.

Mit anderen Worten: Ein Hypervisor erstellt Kopien bzw. „Klone“ der Hardwareressourcen eines physischen Computers. Jeder Klon wird dem Benutzer als separates Gerät angezeigt. Benutzer können auf jeder dieser virtuellen Maschinen Gastbetriebssysteme installieren, ohne dass eine Verbindung zur Host-Hardware nötig ist.

Ein Hypervisor isoliert die Betriebssysteme voneinander. Auf diese Weise kann jedes die ihm zugewiesenen Ressourcen exklusiv nutzen. Bei Bedarf kann ein Hypervisor die Interaktion zwischen den Betriebssystemen der einzelnen virtuellen Maschinen (VM) ermöglichen. Diese Verbindung kann genutzt werden, um gemeinsam auf bestimmte Dateien zuzugreifen oder Daten über das lokale Netz auszutauschen.

Virtualisierung ist eine Technologie, die auf der Grundlage eines physischen Computers, Servers oder Server-Clusters den Anschein mehrerer Computer oder Server erweckt. Dieser physische Rechner wird als „Host“ bezeichnet. Er verfügt über eine eigene Konfiguration von CPU, RAM und Speicher. Die physischen Ressourcen werden mithilfe eines Hypervisors verteilt, um eine Reihe unabhängiger virtueller Maschinen zu erstellen. Anders ausgedrückt: Virtualisierung ist die „Illusion“, dass mehrere separate Computer oder virtuelle Maschinen auf demselben physischen Gerät vorhanden sind. Diese Illusion wird durch Hypervisoren erzeugt.

Virtual machine schematics Schematische Darstellung einer virtuellen Maschine

Auf diese Weise erscheint ein Computer als mehrere Computer gleichzeitig, von denen jeder unabhängig von den anderen mit seiner eigenen Software arbeitet. Jede dieser virtuellen Maschinen ist jedoch nur eine Ansammlung von Dateien im Speicher des Hosts. Schaltet man den physischen Server ab, verschwindet diese Illusion natürlich – der Hypervisor funktioniert nicht mehr.

Es gibt zwei Haupttypen von Hypervisoren. Daneben gibt es hybride Hypervisoren, die Eigenschaften beider Typen kombinieren.

Sicherheit ist eine der Hauptanforderungen an Hypervisoren

Wie funktionieren Hypervisoren vom Typ 1?

Ein Hypervisor des Typs 1 wird auch als Mikrokernel, Thin-Hypervisor oder autonomer Hypervisor bezeichnet, der auf „Bare Metal“ (auf einem reinen, physischen Server) läuft. Typ-1-Hypervisoren kann man sich am besten als kompaktes Betriebssystem mit spezifischen Funktionen vorstellen, das direkt auf einem Bare-Metal-Server installiert wird und die Hauptmerkmale eines Betriebssystems aufweist:

  • Er stellt abstrakte Ressourcen für Anwendungen dar, anstatt einer ungeordneten Menge von Hardware;
  • Er steuert den Ressourcenpool, indem CPU-Zeit, Speicher und E/A-Geräte zwischen Programmen verteilt werden, die Computerressourcen benötigen.

Diese Art von Hypervisor sorgt dafür, dass die unter seiner Kontrolle gestarteten Gastbetriebssysteme auf der oberen Ebene eine Abstraktion einer virtuellen Maschine erhalten. Dadurch entsteht die Illusion, dass jedes Gastbetriebssystem die volle Kontrolle über alle darunter liegenden Ressourcen hat. Dies funktioniert genauso wie ein Betriebssystem, das auf echter Hardware im privilegierten Modus bzw. Kernel-Modus läuft, nämlich als Supervisor.

The first type of hypervisor Funktionsprinzip eines Typ-1-Hypervisors

Ein Supervisor ist ein zentrales Kontrollmodul, das Herz des Betriebssystems. Er kann aus mehreren Teilen bestehen: einem Programm-Supervisor, einem Task-Manager, einem I/O-Supervisor und anderen.

Die meisten modernen Server- und Desktop-CPUs von Intel und AMD unterstützen die Virtualisierung auf Hardware-Ebene. Das Betriebssystem kann in zwei Modi verwendet werden: im privilegierten Modus bzw. Kernel-Modus und im Benutzermodus. Die Zugriffsrechte der Anwendung, die die Ressourcen des Computers steuert, sind stark reglementiert.

Hypervisoren des Typs 1 haben eine sehr wichtige Eigenschaft: Die Größe ihres Codes ist hundertmal kleiner als bei den meisten modernen Betriebssystemen. Dadurch treten weniger Fehler auf, die das System zum Stillstand bringen können. Ein Fehler in einem der Betriebssysteme sollte sich nicht auf die anderen Systeme auf denselben physischen Geräten auswirken.

Sicherheit ist eine der Hauptanforderungen an Hypervisoren, da sie die Hardwareressourcen vollständig kontrollieren, auf denen die Virtualisierung ausgeführt wird. Folglich ist die Aufgabe des Hypervisors, den Maschinencode auf sichere Weise auszuführen und gleichzeitig zu verhindern, dass ein Gastbetriebssystem…

  • …Unterbrechungen blockiert;
  • … die Seitentabellen des virtuellen Speichers an den physischen Speicher des gesamten Rechners angepasst werden;
  • …Daten in Speicherzellen ändert, die anderen laufenden Prozessen vorbehalten sind (außer in Fällen, in denen die Aufgabe dies erfordert). Systemaufrufe werden ebenfalls abgefangen und innerhalb des Hypervisors ausgeführt, während es so scheint, dass jedes Gastbetriebssystem den Code in seinem eigenen privilegierten Modus ausführt. Mit anderen Worten: Der Hypervisor erzeugt die Illusion, dass der Code des Gastbetriebssystems auf der Hardwareebene im privilegierten Modus ausgeführt wird, während er in Wirklichkeit im Gastmodus läuft. Wenn eines der Gastsysteme abstürzt, funktionieren die anderen weiter.

Der Hypervisor ist letztendlich die einzige Software, die im Modus mit vollen Rechten ausgeführt wird. Diese Eigenschaft des Hypervisors wird als „Äquivalenz“ bezeichnet – das Verhalten von Benutzerprogrammen ändert sich nicht, wenn sie auf der virtuellen Maschine oder auf physischer Hardware arbeiten – mit Ausnahme der Zeit.

Die Zeit, die für die Ausführung von Code benötigt wird, unterscheidet sich stark. Der Hypervisor benötigt einen Teil der CPU-Zeit für das Abfangen und Analysieren der Anweisungen des Gastbetriebssystems sowie für die Emulation der Ausführung. Zudem werden die Ressourcen des physischen Geräts in der Regel auf mehrere VMs aufgeteilt, und jede von ihnen erhält nur einen Teil der CPU-Zeit auf Abruf. Dies reicht jedoch aus, um die meisten Prozesse problemlos auszuführen; nicht alle werden mit der gleichen Intensität genutzt. Einige Prozesse können im Standby-Modus laufen und auf Benutzereingaben oder das Herunterfahren langsamer Peripheriegeräte warten. Diese Zeit wird effektiv genutzt, da das System sie auf andere aktive Prozesse im Multitasking-Modus verteilt.

Xen, VMware ESXi, Hyper-V und andere Hypervisoren können als Typ 1 bezeichnet werden.

Xen (Xenserver, Citrix Hypervisor)

Der Xen Thin Hypervisor wurde im Rahmen eines Forschungsprojekts des Cambridge University Laboratory entwickelt. Die erste öffentliche Version wurde 2003 von XenSource auf den Markt gebracht. XenSource wurde 2007 von Citrix übernommen, wodurch einige Produkte umbenannt wurden. Xen ist ein plattformübergreifender Hypervisor, der Hardwarevirtualisierung und Paravirtualisierung unterstützt. Die meisten Komponenten befinden sich außerhalb des Hypervisors, sodass Xen nur eine minimale Menge an Code enthält. Xen ist ein vollständig quelloffener Hypervisor, der unter der GNU GPL 2 lizenziert ist. Das bedeutet, dass das Produkt an die Bedürfnisse des Anwenders angepasst werden kann. Xen wird aufgrund seiner Unterstützung für Paravirtualisierung und Hardwarevirtualisierung mitunter als hybrider Hypervisor bezeichnet.

VMware ESXi

Der autonome Hypervisor VMware ESXi ist eine von VMware entwickelte Virtualisierungslösung der Enterprise-Klasse. Wie andere VMware-Produkte ist ESXi mit eingeschränkter Funktionalität kostenlos erhältlich. Die kostenpflichtige Vollversion unterstützt Funktionen wie die zentrale Steuerung aller VMs auf jedem Host des Projekts über die vCenter-Plattform. Aber auch die kostenlose Version erfüllt alle Hauptaufgaben des Hypervisors. Nutzerbewertungen zeigen, dass das Produkt sehr stabil und einfach zu verwalten ist, nur eine minimale Menge an Code benötigt und eine breite Palette von Gastsystemen unterstützt, die im Unternehmensbereich üblich sind.

Hyper-V

Hyper-V ist eine von Microsoft entwickelte Hardware-Virtualisierungslösung für x64-Systeme. Sie ist in zwei Varianten erhältlich: als Rolle in den Server-Betriebssystemen der Windows-Familie (Windows Server 2008, Windows Server 2012 usw.) sowie in den x64 Pro- und Enterprise-Versionen von Windows 8, Windows 8.1, Windows 10 und als separates Produkt – Microsoft Hyper-V Server. Viele Anwender, die an Microsoft-Lösungen gewöhnt sind, halten Hyper-V für einen der komfortabelsten Hypervisoren, wenn es um Virtualisierung geht. Die Azure-Cloud basiert übrigens vollständig auf nativen Microsoft-Produkten.

Typ-2-Hypervisoren fungieren als einer der Prozesse, die vom Hauptbetriebssystem ausgeführt werden

Was sind die wichtigsten Prinzipien von Hypervisoren des Typs 2?

Hypervisoren des Typs 2 werden auch als Hosted Hypervisors bezeichnet. Bei dieser Art von Hypervisor handelt es sich um eine zusätzliche Softwareschicht, die oberhalb des Hauptbetriebssystems liegt.

Dieser Hypervisor läuft als einer der Prozesse, die vom Hauptbetriebssystem, meist Linux, ausgeführt werden. In diesem Fall sind die Rechte des Hypervisors stark eingeschränkt. Er kontrolliert die Gastbetriebssysteme, während die Emulation und die Kontrolle der physischen Ressourcen vom Host-Betriebssystem übernommen werden.

The second type of hypervisor: VirtualBox, VMware Workstation, KVM Das Funktionsprinzip eines Typ-2-Hypervisors

Oracle VM VirtualBox, VMware Workstation und KVM sind die beliebtesten Hypervisoren vom Typ 2.

Oracle VM VirtualBox

Oracle VM VirtualBox ist ein modularer, plattformübergreifender Hypervisor für Linux, macOS, Microsoft Windows, FreeBSD, Solaris/OpenSolaris, ReactOS, DOS und andere Oracle-Systeme. Der Hypervisor wurde 2007 von Sun Microsystem entwickelt und nach der Übernahme durch Oracle weitergeführt. Der Quellcode der Basisversion wurde unter der GNU GPL-Lizenz veröffentlicht; der Hypervisor ist aufgrund seiner unbegrenzten Modifikationsmöglichkeiten sehr beliebt. VirtualBox kann x64-Gastbetriebssysteme unterstützen, auch wenn das Host-Betriebssystem 32-Bit ist.

VMware Workstation

Die erste Version des von VMware entwickelten Hypervisors VMware Workstation wurde 1999 veröffentlicht. Diese proprietäre Software läuft auf x86- und x64-Host-Betriebssystemen wie Microsoft Windows, Linux, Ubuntu und CentOS. Sie unterstützt über 200 Gastbetriebssysteme. Der Workstation Player, eine kostenlose Version, kann zum Testen der Software verwendet werden. Der Funktionsumfang ist im Vergleich zur Pro-Version stark eingeschränkt.

KVM

Kernel-based Virtual Machine (KVM) ist ein Hypervisor, der im Oktober 2006 entwickelt wurde. Er wurde schnell in den Hauptzweig von Linux 2.6.20 integriert, der Anfang 2007 veröffentlicht wurde. Später wurde KVM als Kernmodul in FreeBSD angepasst. KVM enthält das herunterladbare Kernmodul kvm.ko, das für die Virtualisierung verantwortlich ist, ein CPU-spezifisches herunterladbares Modul für AMD oder Intel (kvm-amd.kp oder kvm-intel.ko) sowie QEMU-Benutzermodus-Komponenten. KVM ist vollständig quelloffen durch die GNU GPL und GNU LGPL Lizenz. KVM QEMU wurde verwendet, um die Public SIM-Cloud von SIM-Networks zu erstellen.

Ein hybrider Hypervisor kontrolliert die CPU und den Speicher, während die Gastsysteme die E/A-Geräte kontrollieren.

Was sind hybride Hypervisoren?

Hybride Hypervisoren vereinen Eigenschaften der Hypervisoren des Typs 1 und des Typs 2 (eine Kombination aus einem Thin-Hypervisor und dem spezialisierten Dienstbetriebssystem, das auf der Hardwareebene arbeitet). Der Hypervisor steuert die CPU und den Speicher direkt, während das Dienstbetriebssystem den Gästen Zugang zu E/A-Geräten bietet.

Diese Technologie befindet sich in aktiver Entwicklung; es werden ständig Versionen erstellt, die noch flexibler und integrierter sind. In letzter Zeit wurden Xen und Hyper-V als hybride Hypervisoren anstatt als Typ 1 eingestuft, was teilweise richtig ist. Die modernen Versionen dieser Hypervisoren vereinen nämlich eine große Anzahl von Merkmalen beider Typen.

Paravirtualisierung modifiziert das Gastbetriebssystem, um sie in der virtualisierten Umgebung auszuführen.

Was ist Paravirtualisierung?

Paravirtualisierung ist eine beliebte Lösung, bei der ein vorkonfiguriertes Gastbetriebssystem installiert wird, dessen Kern für die effektive Arbeit mit Hypervisoren des Typs 2 modifiziert wird. Dies gilt natürlich nicht für proprietäre Closed-Source-Systeme wie Windows. Die meisten Linux-Versionen können jedoch frei modifiziert werden.

Gastbetriebssysteme werden so modifiziert, dass sie in einer virtualisierten Umgebung laufen; die wichtigste Voraussetzung für Paravirtualisierung ist der offene Quellcode aller Betriebssystemkomponenten. Die deutliche Leistungssteigerung, die man mit der eines physischen Systems vergleichen kann, treibt jedoch die Nachfrage nach Paravirtualisierung voran.

Container können mehr Anwendungen auf einem physischen Server bereitstellen als Hypervisoren

Was sind Containerlösungen?

In den letzten Jahren wurden Hypervisoren von der relativ neuen Container-Technologie verdrängt. Der Grund: Container können im Vergleich zu Hypervisoren eine größere Anzahl von Anwendungen auf einem physischen Server bereitstellen. Container-Virtualisierungslösungen basieren meist auf einem modifizierten Linux-Kern. Wenn der Host-Rechner einen Linux-Kern verwendet, können die Gastbetriebssysteme nur aus der Linux-Familie stammen.

OpenVZ ist eine beliebte Container-Lösung, die für die Erstellung der Virtuozzo-Plattform verwendet wurde. Der Hauptvorteil der OpenVZ-Lösung ist die erhöhte Leistung und die maximale Nutzung der physischen Ressourcen aufgrund der hohen Dichte der VM-Platzierung. Die Jailhouse-Container-Lösung von Siemens ist ebenfalls interessant. Dieser Hypervisor funktioniert auf Bare Metal, wird aber auf einem laufenden Linux-System gestartet. Die Lösung segmentiert das System in isolierte Zellen, d. h. Teile des Systems, die für die Ausführung von Benutzeranwendungen erforderlich sind.

Cloud server

Cloud server

Erfahren Sie mehr über unsere hochverfügbare SIM-Cloud

Mehr erfahren

Welchen Hypervisor sollte ich wählen?

Bei der Auswahl eines Hypervisors ist es ratsam, sich die Hauptaufgaben eines Hypervisors, unabhängig vom Typ, vor Augen zu führen:

  • Hardware-Ressourcen zu emulieren;
  • Maschinencode sicher auszuführen;
  • Ausführung von Aufgaben des Gastbetriebssystems durch den Host-Rechner im Supervisor-Modus verhindern (ohne die Ausführung abzufangen, zu analysieren oder zu emulieren).

Qualifizierte Experten können Ihnen bei der Auswahl der optimalen Virtualisierungstechnologie für Ihren Anwendungsfall helfen. Sie berücksichtigen dabei Ihre Anforderungen an das Projekt, die vorhandene Hardware, den Preis, die Verfügbarkeit von technischem Support und andere wichtige Faktoren. Wenn Sie beispielsweise den Einsatz von VMware ESXi und anderen Hypervisoren planen, müssen Sie bereit sein, Lizenzen zu erwerben und hochwertige physische Geräte für das Virtualisierungssystem zu kaufen.

Bevor man mit der Arbeit mit einem Hypervisor beginnt, sollte man folgendes prüfen:

  • Erfüllt Ihre Hardware-Plattform die technischen Mindestanforderungen des Hypervisors?
  • Wurden die Eigenschaften der gewählten Software-Lösung ausreichend analysiert, damit Ihre Erwartungen erfüllt werden können?

Wenn Sie Fragen zur Wahl einer optimalen Virtualisierungstechnologie haben, wenden Sie sich gern jederzeit an unseren Kundenservice. Wir werden Sie gerne beraten und Ihre Fragen beantworten.

War dieser Artikel hilfreich?

Stichworten:

#server

Hat dir der Artikel gefallen?

Cookie-Zustimmung

Indem Sie auf «Ich stimme zu» klicken, stimmen Sie der Verwendung von Cookies auf unserer Website zu. Die Verwendung dieser Cookies dient der Optimierung Ihrer Nutzererfahrung, indem u. a. Präferenzen für kommende Besuche auf unserer Website gespeichert werden. Sie können unter «Cookies verwalten» detaillierte Einstellungen vornehmen und Ihre Cookie-Auswahl anpassen. Mehr dazu

Cookie-Einstellungen

funktional

Funktionale bzw. notwendige Cookies sind für die Grundfunktionen der Website von entscheidender Bedeutung und die Website funktioniert ohne sie nicht wie vorgesehen.

analyse

Analytische Cookies werden verwendet, um zu verstehen, wie Besucher mit der Website interagieren.

werbung

Werbe-Cookies werden verwendet, um Besuchern relevante Anzeigen und Angebote bereitzustellen.