Flexibler durch Container: Virtualisierung ohne Emulation

Containervirtualisierung beruht auf einem völlig anderen Ansatz als Voll- oder Paravirtualisierung. Hier wird gar keine virtuelle Maschine emuliert, sondern ein Layer zwischen Betriebssystemkern und den APIs gelegt, der alle relevanten APIs abfängt und auf dieser Ebene virtualisiert. Das bedeutet zunächst einmal, dass keine Cross-Plattform-Virtualisierung möglich ist.

Ein Container entspricht einer virtuellen Maschine bei Voll- und Paravirtualisierung. Jeder Container wird unter demselben Betriebssystem wie der Hostcomputer betrieben. Es ist nicht möglich, den Hostcomputer unter Windows zu betreiben und einen Container unter Linux oder einer anderen Windows-Version.

Container-Virtualisierung: Bild 1
Bild 1: Laut Device Manager fehlen Windows im Container einige Komponenten, um überhaupt starten zu können.

Ein Container wird nicht tatsächlich gebootet, sondern nur aktiviert oder deaktiviert. Ein Container kann auch gar nicht gebootet werden, da die dafür nötige Hardware im Container fehlt (Bild 1). Programme, die in einem Container gestartet werden, starten als ganz normaler Prozess im Hostbetriebssystem und sind dort mit derselben Prozessnummer sichtbar (Bild 2).

Container-Virtualisierung: Bild 2
Bild 2: Sowohl in der Hostmaschine (XP Style) als auch in der Gastmaschine (Classic Style) sind die Prozesse sichtbar.

Der API-Virtualisierungslayer sorgt dafür, dass alle Prozesse eines Containers in einer „privaten“ Umgebung laufen, das heißt, mit einer eigenen Platte, einer eigenen Netzwerkkarte und so weiter. Im Falle von Windows gibt es zudem für jeden Container eine eigene Registry.

Der Benutzer, der sich in einen Container einloggt, hat genau wie bei Voll- und Paravirtualisierung das Gefühl, er besäße einen eigenen Computer. Nur an Kleinigkeiten ist der Unterschied zu merken. Im Falle von Windows wird er nach einem Pagefile ebenso vergeblich suchen wie nach den Dateien für eine Registry. Auch der Diskmanager zeigt erst gar keine physikalischen Platten an.

Trotz der fehlendenden Cross-Plattform-Virtualisierung schneidet die Containervirtualisierung im Vergleich alles andere als schlecht ab. Zunächst einmal fällt sehr viel Memory-Overhead weg. Dadurch, dass kein komplett neues Betriebssystem gebootet werden muss, ergibt sich insbesondere bei Windows ein großer Speichervorteil. Typischerweise benötigt jeder Windows-Container 80 bis 120 MByte RAM, je nachdem, welche Dienste in der Containermaschine gestartet werden.

Themenseiten: Servers, Storage, Storage & Server

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Flexibler durch Container: Virtualisierung ohne Emulation

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *