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

AWS stellt neue Funktionen vor [22.04.2022]

Amazon Web Services hat im Zuge des AWS Summits in San Francisco die generelle Verfügbarkeit drei neuer Services angekündigt. Mit AWS IoT TwinMaker können Entwickler beispielsweise schneller und einfacher digitale Zwillinge von realen Systemen, wie etwa von Gebäuden, Fabriken, Industrieanlagen und Produktionslinien, erstellen. [mehr]

Erweiterte Hybrid-Cloud [23.03.2022]

Hewlett Packard Enterprise kündigte umfassende Erweiterungen seiner Hybrid-Cloud-Plattform "HPE GreenLake" an. Dazu gehören die Integration von Aruba Central, eine einheitliche Nutzererfahrung, neue Clouddienste und die Verfügbarkeit von HPE GreenLake auf den Online-Marktplätzen mehrerer führender Distributoren. [mehr]

Tipps & Tools

Die passenden Schriftarten finden [20.05.2022]

Nicht nur der Inhalt zählt, auch die Schriftarten bestimmen einen Teil der Botschaft. Je besser sie lesbar sind und in ihrer Ausdruckskraft zu Ihrem Unternehmen passen, umso besser. Und sobald mehrere Fonts aufeinandertreffen, sollten diese auch noch dringend miteinander harmonieren. Um Ihnen die Arbeit an letztgenanntem Aspekt zu erleichtern, steht eine Webseite mit kostenlosem Rat zur Seite. [mehr]

Tragbares Funkloch [14.05.2022]

Trotz der brutalen Abhängigkeit von Smartphones im Arbeitsalltag und Außendienst sind auch Momente der Ruhe wichtig. Das können Meetings, Mittagspausen oder auch der Feierabend sein. Mit dem praktischen "No Signal Sleeve" lassen sich jetzt bewusst und ohne Umwege sämtliche Signale von Mobilgeräten inklusive Netzwerk, GPS, NFC und Bluetooth blockieren – mit dem faradayischen Käfig für das Handy ist keine Ablenkung mehr möglich. [mehr]

Buchbesprechung

Datenschutz im Unternehmen

von Michael Wächter

Anzeigen