Aufmacher

Gast-Wirt

Virtualisierungsumgebung Xen

01.06.2007
Die Virtualisierungsumgebung Xen gehört inzwischen zur Standardausstattung aller großen Distributionen. Was sie alles kann und wie sie funktioniert zeigt der Artikel.

Würde man bereits jetzt nach dem Modewort des Jahres 2007 suchen – es wäre das gleiche wie im letzten Jahr: "Virtualisierung". Verschiedene Anbieter wie VMware [1], Parallels [2] oder Innotek [3] versuchen, ihre Produkte auf dem Markt zu etablieren und ringen mit immer raffinierteren Techniken um die Gunst der Kunden. Immer häufiger ins Gespräch kommt in letzter Zeit die freie Virtualisierungssoftware Xen [4] als Bestandteil der meisten großen Linux-Distributionen.

Xen, auch als Virtual Machine Monitor (VMM) oder Hypervisor bezeichnet, wurde ursprünglich an der Universität Cambridge zum Virtualisieren von x86-Architekturen entwickelt. Die Software verfolgt dafür zwei verschiedene Konzepte: Paravirtualisierung und native Virtualisierung. Mit der Paravirtualisierung laufen Gast-Betriebssysteme mit beinahe nativer Performance auf klassischen x86-Systemen. Im nativen Virtualisierungsmodus erlaubt Xen auch den Betrieb von Closed-Source-Betriebssystemen wie Microsoft Windows, wobei die Performance allerdings nicht ganz so gut ausfällt wie bei der Paravirtualisierung, die die komplette PC-Hardware emuliert. Beide Varianten erläutert der Artikel später im Detail.

Grundlagen

Xen bietet eine Menge sinnvoller Features. So lässt sich beispielsweise die Größe des Arbeitsspeichers zur Laufzeit einstellen. Die Software ermöglicht auch die unterbrechungsfreie Migration von einem physikalischen Host auf einen anderen, sofern beide Hosts auf das Shared Storage zugreifen können, das die virtuelle Maschine enthält. Ob es sich bei diesem Massenspeicher um ein teures Fiber-Channel-SAN handelt oder um eine vergleichsweise günstige iSCSI-Lösung spielt dabei keine Rolle. Fehlt eine solche Hardware, migrieren Sie die virtuellen Maschinen im Ruhezustand.

Angesichts des immer weiter schrumpfenden Platzes in modernen Rechenzentren bietet Xen eine hervorragende Möglichkeit, um Server zu konsolidieren und als virtuelle Maschinen auf einem Host zu betreiben. Um ein Setup hochverfügbar zu machen, lassen sich virtuelle Maschinen bei einem Ausfall der Hardware einfach auf einem zweiten Host verschieben, der sozusagen als Standby-Maschine arbeitet. Auch Ausfallzeiten wegen Wartungsarbeiten an der Hardware gehören mit Xen der Vergangenheit an: Man migriert einfach die VM für den Zeitraum der Arbeiten auf eine andere physikalische Maschine und startet nach Beendigung der notwendigen Arbeiten wieder auf dem ursprünglichen Host.

Auch der Privatanwender profitiert von der fortschrittlichen Virtualisierungstechnologie. Möchten Sie einfach mal ein neues Betriebssystem testen, eignet sich Xen hervorragend als Basis. Anstatt den kompletten Rechner neu zu installieren, richten Sie einfach eine neue virtuelle Maschine mit der zu testenden Distribution ein, die Sie bei Bedarf wieder löschen. Auch in Sicherheitsbelangen punktet Xen. So ermöglicht es den sicheren Betrieb mehrerer Netzwerkdienste wie Web- oder Fileserver auf einer physikalischen Maschine, da die virtuellen Maschinen und damit die Dienste abgeschottet voneinander in eigenen VMs laufen. In der Vergangenheit wurden solche Services oft gemeinsam auf einem System betrieben, was dazu führte, dass beim Komprimittieren eines Dienstes oft auch die anderen in Mitleidenschaft gezogen wurden.

Herr der Ringe

Wie eingangs erwähnt verwendet Xen zur Virtualisierung zwei unterschiedliche Methoden. Die erste, Paravirtualisierung genannt, erlaubt das Ausführen von Gast-Betriebssystemen mit beinahe nativer Geschwindigkeit. Diese Variante beschränkt sich in erster Linie darauf, Rechnerressourcen wie CPU-Zeit, Speicher oder Netzwerkbandbreite zu verwalten und den verschiedenen virtuellen Maschinen zuzuweisen. Der eigentliche Hypervisor Xen läuft hierbei im Kernel-Mode auf dem sogenannten privilegierten Kernel-Ring 0 (Abbildung 1).

Abbildung 1: Prozesse können auf verschiedenen CPU-Ringen ablaufen, wobei der Hypervisor von Xen den Ring 0 benutzt.

Moderne Prozessoren kennen vier solcher Ringe. Diese lassen sich auch auch als Sicherheitsstufen ansehen, wobei nur aus dem innersten Ring (Ring 0) ein direkter Zugriff auf die Hardware und bestimmte Speicherbereiche möglich ist. Hier läuft üblicherweise auch der eigentliche Betriebssystem-Kernel im Kernel-Mode. Die Ringe 1 und 2 benutzen x86-Architekturen nicht, auf Ring 3 laufen Benutzerapplikationen im User-Mode.

Auf einem Xen-System operiert nun der Hypervisor anstelle des eigentlichen Betriebssystems im Ring 0. Die Gast-Maschinen befinden sich im Ring 1 und müssen jeden privilegierten Zugriff (Systemaufrufe) über den Hypervisor im Ring 0 anfordern. Das erfordert eine Modifikation des Betriebssystem-Kernels des Gasts, weswegen lediglich Systeme mit offenem Quellcode einen paravirtualisierten Betrieb erlauben. Dazu zählen neben Linux auch diverse BSD-Varianten und OpenSolaris. Da Applikationen unverändert im Ring 3 laufen, sind hier keine Eingriffe notwendig, und sie lassen sich ohne Modifikation auf einem Xen-System betreiben. Die hier besprochene, und von Xen angebotene Paravirtualisierung ähnelt vom Arbeitsprinzip dem ESX-Server von VMware.

Bei der zweiten Variante, der nativen Virtualisierung, emuliert Xen die komplette PC-Hardware. Das entspricht in etwa dem Ansatz von VMware Workstation oder Microsofts VirtualPC. Dieser Modus erfordert keine Modifikation am Gast-Betriebssystem, sodass sich beispielsweise auch Microsoft Windows via Xen ausführen lässt – allerdings nur auf Systemen mit Prozessoren, die diese Virtualisierungstechnologie unterstützen. Intel hat diese unter dem Namen "Vanderpool" (IVT) herausgebracht, AMD bezeichnet die entsprechende Prozessorfamilie als "Pacifica" (AMD-V). Ob Ihr Intel-Prozessor den entsprechenden Support mitbringt, stellen Sie mit dem Befehl grep vmx /proc/cpuinfo fest. Bleibt die Ausgabe leer, unterstützt Ihre CPU diese Technologie nicht. Arbeiten Sie mit einem AMD-System, dann verwenden Sie anstelle von vmx den Suchbegriff svm.

Im Gegensatz zur Paravirtualisierung, welche die Ressourcen lediglich verteilt, arbeitet ein nativ virtualisiertes System wesentlich langsamer, da Xen dann sämtliche Hardware-Ressourcen emuliert.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 01/2015: E-Books im Griff

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 3 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.