Grundlagen

Virtualisierung

In unserer Grundlagen-Rubrik erklären wir wichtige Aufgaben und Technologien aus dem Arbeitsalltag eines Netzwerk- und Systemadministrators. Hier erfahren Sie anhand prägnanter Erklärungen zu den wichtigsten Begriffen des jeweiligen Themenfeldes Hintergründe und Zusammenhänge in kompakter, praxisnaher Form.

Virtualisierung beschreibt Software- oder Hardware-Techniken, die eine Abstraktionsschicht zwischen dem Benutzer (oder Applikationen oder Schnittstellen) und physischen Ressourcen wie etwa Hardwarekomponenten (Hardware, Software und Netze) eines Rechners implementieren. Diese Schicht verbirgt die Implementierungsdetails des genutzten Systems und koppelt die darüber liegenden Komponenten von der darunter liegenden Hardware ab.
Auf Mainframes, etwa denen von IBM, ist die Virtualisierung ein seit Jahrzehnten etablierter Standard. Erst nachdem die Klasse der x86-basierten Server hinsichtlich Virtualisierung einiges an Fortschritten und Erweiterungen vollzog, erreichte das Thema den Massenmarkt. Grob gesprochen gibt es vier verschiedene Ansätze der Virtualisierung, die sich in der Praxis teilweise überschneiden:
- Emulation,
- Hardwaregestützte Virtualisierung,
- Paravirtualisierung und
- Resource Container.

Emulation
Bei der Emulation handelt es ich um ein in Software realisiertes, vollständiges Modell eines Computersystems auf Hardware anderen Typs. Der Emulator erlaubt die Ausführung von Software auf Systemen, für die sie ursprünglich nicht entwickelt wurde. Ein Emulator bildet Prozessoren, Devices und die Bootumgebung (Firmware, Bios) als Software nach.

Allerdings hat die Emulation einen hohen Preis, da das emulierte System nicht annähernd die Geschwindigkeit erreicht, die die Hardware, mit deren Hilfe emuliert wird, bei direkter Programmierung erreicht. Auch wenn viele Emulatoren teilweise ausgefeilte Tricks und geradezu geniale Strategien bieten, um den Performanceeinbruch zu minimieren, bleibt nicht selten ein Performanceunterschied von ganzen Größenordnungen. Als Virtualisierungsumgebung für anspruchsvolle und aktuelle Anwendungen ist die Emulation nur selten ausreichend.

Hardwaregestützte Virtualisierung
Bei der hardwaregestützten Virtualisierung handelt es sich im Prinzip um eine Emulation mit einigen Einschränkungen; dafür aber mit drastisch verbesserter Leistung. Eine Emulation verschiedener Prozessoren findet hier nicht mehr statt – die modellierte Maschine und die Host-Umgebung haben die gleiche CPU-Architektur. Emuliert werden im Prinzip nur die Devices, sowie die Bootumgebung.

Die hohe Leistung wird durch spezielle Erweiterungen der Hardware erreicht. So bieten beispielsweise die aktuellen Prozessorfamilien von Intel und AMD entsprechende Funktionen, die sich Intel-VT oder AMD-SVM nennen. Sinn dieser CPU-Erweiterungen ist es, einem Gastsystem vorzugaukeln, es hätte die alleinige Kontrolle über die Hardware.

Die eigentliche Kontrolle und damit die Ressourcenzuteilung an die Gastsysteme führt entweder ein normales Betriebssystem in der Host-Umgebung oder ein spezielles, allein für diesen Zweck entwickeltes "Mini-Betriebssystem", genannt Hypervisor, durch. Neuerdings bieten x86-Systeme neben den genannten Erweiterungen für CPU-Virtualisierung auch solche, um I/O-Devices gleichzeitig von verschiedenen Gastsystemen aus anzusprechen.

Paravirtualisierung
Der Grundgedanke der Paravirtualisierung ist, eine spezielle Softwareschicht zwischen Host-Hardware und Gast-Betriebssystemen zu schieben, um die vorhandenen Ressourcen über spezielle Schnittstellen den Gastsystemen zugänglich zu machen. Der Sinn dieser Vorgehensweise liegt darin, die aufwendige Emulation privilegierter Prozessorfunktionen sowie von I/O-Devices durch eine schlanke und schnelle Softwareschicht zu ersetzten.

Auch in paravirtualisierten Umgebungen ist die CPU-Architektur für Host und Gast gleich. Dieses Konzept setzt Hostseitig einen Hypervisor mitsamt der speziellen Softwareschicht ein, während es Gastseitig das Betriebssystem modifiziert, um anstatt auf privilegierte CPU-Funktionen auf den Hypervisor zuzugreifen. Ähnliches gilt für I/O-Devices, in denen das Gastsystem angepasste Treiber erhält, die statt realer Hardware die Hypervisor-Umgebung ansprechen. Der Hypervisor an sich enthält Treiber für die reale Hardware und "übersetzt" Aufrufe durch die angepassten Devicetreiber.

Resource Container
Die vierte Möglichkeit, virtualisierte Systeme zu betreiben, sind Resource Container. Aus Anwendungssicht besteht ein System aus laufenden Prozessen, einem Dateisystem mit installierter Software und Platz für eigene Daten, sowie Zugriff auf Geräte und Management von Zugriffsrechten. Alle laufenden Anwendungen haben gleichzeitigen und durch die Zugriffsrechte geregelten Zugriff auf dieses "Universum". Resource Container erzeugen auf einem laufenden Betriebssystemkernel mehrere "Universen" parallel – genannt Container.

In jedem Container haben Anwendungen Zugriff auf ihre Sicht des Dateisystems, die laufenden Prozesse und die verfügbaren Devices. Dabei ist jeder Container so gestaltet, dass die Anwendungen ohne Modifikationen davon ausgehen, ein komplettes Betriebsystem samt Umgebung zur Verfügung zu haben. Nur ein spezieller Container erlaubt Zugriff auf den Host-Context. Aus Sicht des Hosts sind die verschiedenen Container in unterschiedlichen Verzeichnissen abgelegt, um abweichende Versionen des Betriebssystems zu betreiben.

Allerdings teilen sich alle Gäste einen Kernel, können also nur desselben Typs sein wie dieser. Auf einer Linux Resource Container-Implementation, lassen sich also nur Linux-Gastsysteme betreiben. Allerdings haben Resource Container auch entscheidende Vorteile. Zunächst ist die Performance enorm hoch, da Resource Container keine Hardware emulieren, nicht mehrfache Kernel betreiben und keine Systemumgebung aufwendig vorgaukeln.
5.07.2010/jp

Nachrichten

Chancen und Risiken für die Europa-Cloud [27.07.2021]

Wie der Cloud-Monitor 2021 von Bitkom und KPMG zeigt, hat sich – nicht zuletzt durch die Corona-Krise – die Cloud in Deutschland durchgesetzt. Von den 550 befragten Unternehmen ab 20 Mitarbeitenden setzen 82 Prozent bereits auf Cloud-Infrastrukturen. Der Großteil dieser Unternehmen ist in ihrer Cloud-Strategie allerdings abhängig von amerikanischen sowie chinesischen Cloud-Anbietern. Kann sich das europäische Gaia-X-Projekt durchsetzen? [mehr]

Datensicherung in der Multicloud [20.07.2021]

Zahlreiche Unternehmen arbeiten an der Migration von Workloads in die Cloud. Da verschiedene Cloudanbieter unterschiedliche Stärken bieten, führt dies oft dazu, dass Firmen mehrere Anbieter einsetzen. Um sich für den Erfolg zu rüsten, sollten Unternehmen überlegen, wie Cloudservices in ihre gesamte IT-Landschaft passen. Ein Aspekt, der hierbei eine zunehmende Rolle spielt, ist die Umsetzbarkeit einer modernen Datensicherung. [mehr]

Tipps & Tools

Smartphone auf Tauchstation [18.07.2021]

Egal ob in Balkonien oder doch weiter weg: Im Sommer sind Smartphones in der Regel mehr Gefahren wie Hitze, Sand und (Salz-)Wasser ausgesetzt als in anderen Jahreszeiten. Wer hier wirkungsvoll vorbeugen will, sollte sich eine Hülle wie beispielsweise den Handybeutel von Vooni anschaffen. Das Gadget lässt sich für die meisten Smartphone-Modelle verwenden und wasserdicht verschließen. [mehr]

GMail-Nachrichten zurückholen [16.07.2021]

Viele Exchange- oder auch WhatsApp-Nutzer freuen sich über die Rückholfunktion für versehentlich gesendete und noch ungelesene Nachrichten – unter Umständen lässt sich damit einer prekären Situation glimpflich aus dem Weg gehen. Auch GMail verfügt über ein solches Feature, das allerdings in der Grundeinstellung eine allzu schnelle Reaktion erfordert. In den Settings verschaffen Sie sich etwas mehr Zeit. [mehr]

Ablage für Webinhalte [11.07.2021]

Buchbesprechung

Windows 10 Power-Tipps

von Günter Born

Anzeigen