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

Videobearbeitung in der AWS-Cloud [9.09.2022]

Quantums Dateiystem "StorNext" ist ab sofort als Abonnement im AWS Marketplace verfügbar. Mit Quantum StorNext in AWS sollen Nutzer ihre Inhalte unter anderem für die Videoproduktion hochflexibel verwalten können. So lassen Videos in der Cloud von beliebigen Standorten bearbeiten, ohne dass Dateien zwischen einzelnen Benutzern kopiert oder übertragen werden müssen. [mehr]

Bring-Your-Own-IP in die Cloud [6.09.2022]

OVHcloud will nach einer Early-Access-Phase in Kürze den Bring Your-Own-IP-Importdienst anbieten. Da IPv4-Adressen knapp sind, können Kunden damit über das OVHcloud Control Panel ihre bestehenden Bereiche öffentlicher IPv4-Adressen importieren, um sie als Blöcke von IP-Failover-Adressen zu nutzen. [mehr]

Schutz in Blau [14.07.2022]

Tipps & Tools

Online-Intensivseminar "Exchange Server 2016/19" [26.09.2022]

Lassen Sie sich in unserem dreitägigen Intensivseminar umfassend unterrichten, wie Sie Microsofts leistungsstarken Mail- und Collaborationsserver in seinen 2016er- und 2019er-Ausprägungen verwalten: von den Active-Directory- und serverseitigen Voraussetzungen für seine Bereitstellung bis zur Überwachung und dem Troubleshooting. Unsere aktuell einzige buchbare Veranstaltung findet Mitte November virtuell statt. Seien Sie daher schnell, um sich Ihren Platz zu sichern – für Abonnenten gilt wie immer ein Sondertarif. [mehr]

Ultrakompakter Smartphone-Halter [24.09.2022]

Während immer mehr IT-Tätigkeiten auf das Smartphone wandern, wird die Handhabung der mobilen Devices nicht unbedingt einfacher – weshalb sich der Einsatz von Handyhalterungen anbietet. IT-Profis, die auch in Sachen ITK-Zubehör Effizienz schätzen, können wir ein spezielles Modell empfehlen: goBelt ist der wohl kompakteste Smartphone-Halter mit Standfuß-Funktion überhaupt. [mehr]

Buchbesprechung

Kerberos

von Mark Pröhl und Daniel Kobras

Anzeigen