Beruflich Dokumente
Kultur Dokumente
Virtualisierung
Backstage
Wie funktioniert Virtualisierung und was eint
oder trennt die zahlreichen Angebote? Welches
eignet sich für welchen Zweck? Ein Blick hinter
die Kulissen. Jens-Christoph Brendel
10 www.linuxtechnicalreview.de
Grundlagen
www.linuxtechnicalreview.de 2
Grundlagen
Gäste in der Regel nichts davon wis- Dabei kann zusätzlich die ISA emuliert wer-
Apps Apps sen, dass sie die Hardware nicht wie den, was beispielsweise passiert, wenn Micro-
erwartet exklusiv besitzen, sondern softs Virtual PC unter einem Mac-Betriebssys-
teilen müssen (Abbildung 3). tem Windows startet (Abbildung 4). Alternativ
Win Linux Im zweiten Fall unterscheiden sich stützen sich alle Gäste gemeinsam auf den Be-
die ISA von Gast und Hypervisor, triebssystem-Kern des Hosts. Diese Technik
VMM Letzterer muss auch die Übersetzung heißt Betriebssystem-Virtualisierung. Vertreter
der Gast-Befehle in die Sprache sei- dafür sind etwa die BSD Jails [7], die Zonen in
ner Hardware übernehmen (Emula- Solaris [8], außerdem Virtuozzo [9] beziehungs-
Hardware tion). Das beherrschen unter Linux weise dessen freier Ableger OpenVZ [10] oder
etwa Bochs [2] oder Qemu [3] (auf das Vserver-Projekt [11] (mehr dazu bietet ein
Qemu geht ein weiterer Beitrag in Workshop in diesem Heft).
Abbildung 3: Der häufigste Fall diesem Heft ausführlich ein). Als Spezialfall des klassischen Hypervisor er-
eines klassischen Hypervisor, der Eine andere Gruppe aus dieser Klasse langte ein Modell große Beliebtheit, bei dem
direkt auf der Hardware läuft, virtueller Maschinen – die Co-Desig- sich die Gäste im Klaren darüber sind, dass sie
deren ISA-Schnittstelle für seine ned Virtual Machines (CVM) – wird in einer virtuellen Umgebung laufen. Dafür
Gäste repliziert und außerdem gemeinsam mit der Hardware entwi- müssen sie allerdings gepatcht werden, was nur
noch ihre privilegierten Opera- für quelloffene Systeme einfach zu bewerkstelli-
ckelt. Ein häufiges Ziel dabei ist es,
tionen abfängt und stellvertre- neue Hardware mit einer verbreite- gen ist. Dann allerdings kann durch die Koope-
tend erledigt. ten und etablierten ISA kompatibel ration von Gast und Gastgeber bei der Behand-
zu halten. Ein Beispiel für die Nütz-lung sensitiver Operationen ein beachtlicher
lichkeit liefert IBMs System/38, ein Vorläufer Performancevorteil erreicht werden. Dieser Fall
der AS/400 (heute I-Series), bei dem sich in denheißt Paravirtualisierung und sein prominentes-
90er Jahren dank dieser Technik die komplette ter Vertreter heutzutage ist Xen [12]. (Mit Xen
Hardwareplattform transparent ersetzten ließ beschäftigen sich mehrere Beiträge in diesem
(IPMI-CPUs gegen PowerPC-Prozessoren). Heft en detail.)
Von allen diesen Spielarten ist keine a priori
Eine Welt die beste, stattdessen entsprechen ihnen unter-
Die System-VMs mit gleicher ISA lassen sich schiedliche Einsatzszenarien. Emulation kostet
weiter danach unterscheiden, wo der Virtuali- zwar Performance, eröffnet aber die Möglichkeit,
sierungslayer liegt, denn dafür gibt Software einer fremden
es verschiedene Möglichkeiten. Setzt Win Apps Welt zum Laufen zu brin-
er direkt auf der Hardware auf (Ab- gen. Paravirtualisierung
bildung 3), spricht man von einem Win ist schnell, verlangt dafür
klassischen Hypervisor oder einer aber modifizierbare Gast-
vollständigen Virtualisierung. Hier VMM Mac A betriebssysteme, scheidet
wäre etwa der ESX-Server von VM- p also etwa für Windows da-
ware einzuordnen (mehr über dieses
p her praktisch aus.
Mac OS s
Produkt in einem weiteren Beitrag). Die Virtualisierung des
Befindet sich der Virtualisierungs- Betriebssystems ist beson-
layer dagegen oberhalb eines Host- ders Ressourcen-schonend
Betriebssystems, heißt das Modell und daher beispielsweise
Hosted Virtualization (ein Beispiel PowerPC bei Providern auch beson-
zeigt Abbildung 4). ders beliebt, sie beschränkt
Der VMware Server [4] (ehemals die Gäste allerdings auf das
GSX-Server), die Workstation aus Abbildung 4: Eine System- Operating System ihres
gleichem Haus oder auch Par- VM, die innerhalb eines Hosts.
allels [5] stehen für diesen Typ, Betriebssystems ausgeführt Die Hardware-Unterstüt-
ebenso User Mode Linux [6] wird und eine fremde ISA zung ist zwar effektiv, aber
(dessen Schöpfer und Maintai- emuliert, hat dagegen noch nicht mit jeder CPU
ner, Jeff Dike, einen Workshop diese, schon etwas kompli- und jeder Virtualisierungs-
für dieses Heft beigesteuert hat). ziertere Architektur. lösung nutzbar.
3 www.linuxtechnicalreview.de
Grundlagen
Hardwarehilfe
Die x86-Architektur war lange Zeit nicht besonders virtuali- Intels VT – das viele neuere Prozessoren bereits mitbringen
sierungsfreundlich. Um mit einem Hypervisor kooperieren zu – bietet ebenfalls bestimmte Befehlserweiterungen des Pro-
können, müssen sich die Gäste einer Oberaufsicht unterwer- zessors (Virtual Machine Extensions). Sie erlauben es, die be-
fen, die sie aus ihrem Dasein als Solo-Betriebssystem nicht kannte Hierarchie von CPU-Operationen nach dem erwähn-
kennen. Alle privilegierten Befehle, die im so genannten ten Modell einer Hierarchie verschieden privilegierter Ringe
Ring 0 der CPU laufen und dem Betriebssystem vorbehalten um zwei neue Modi zu ergänzen: Root- beziehungsweise
sind, müssen jetzt eine Exception auslösen. Denn im Virtuali- Non-Root-Modus.
sierungsfall besetzt der Hypervisor die Ebene der höchsten Diese Modi kann der Hypervisor steuern, der selber im Root-
Berechtigungen. Modus läuft. Er kann das Gast-Betriebssystem in den Non-
Er würde an einer solchen Unterbrechung erkennen, dass ein Root-Modus versetzen, indem es gefahrlos Ring-0-Instrukti-
jetzt minder privilegiertes Gastbetriebssystem einen Zugriff ver- onen verwenden darf. Dabei bemerkt es selber keinen Un-
sucht, der ihm nicht mehr gestattet werden darf. So könnte er terschied zu den Abläufen, die es als Alleinherrscher eines
eingreifen, die Instruktion abfangen, ihre Ausführung emulie- Rechners kennt.
ren und das Resultat an den Gast zurückgeben. Xen 3.0 unterstützt sowohl AMDs wie auch Intels Technologie
Ältere x86-CPUs lösen allerdings nicht in jedem Fall die erfor- und kann mit VT-Unterstützung auch Windows ohne Ände-
derliche Exception aus. Auch eine Herabstufung einzelner rung neben para-virtualisierten Gästen ausführen.
Instruktionen für den Gast (De-Privileging) ist nicht möglich,
denn einige Maschinenbefehle haben im Userlevel eine an-
www.linuxtechnicalreview.de 4