Servervirtualisierung gilt als neuer Megatrend. Vmware und Microsoft Virtual Server sind wohl die bekanntesten Produkte, doch darüber hinaus existiert eine ganze Reihe weiterer Lösungen. LANline hat im Test drei Kandidaten unter die Lupe genommen: Virtuozzo von Swsoft sowie die beiden Open-Source-Lösungen Openvz und Xen.
Wer seinerzeit OS/390 (heute z/OS) beherrschte und einen PC bestenfalls als Eingabemedium
kannte, dürfte über den aktuellen Virtualisierungs-Boom nur müde lächeln. Wie viele andere Anleihen
aus der Großrechnerwelt kommt nun die Virtualisierung in der Open-Systems-Welt an. Vor allem Xen
macht seit einiger Zeit von sich reden und ist schon heute für viele der aktuellen
Linux-Distributionen erhältlich. Zudem wollen die großen Distributionen Red Hat und Suse Xen fest
in ihre nächsten Releases einbauen. Ein ähnliches Einsatzfeld bieten auch die
Virtualisierungssoftware Openvz und deren kommerzielle Verwandte Virtuozzo von Swsoft. Während Xen
und Openvz allerdings nur für Linux als Host-Betriebssystem erhältlich sind, steht von Virtuozzo
auch eine Windows-Variante zur Verfügung.
Die Marktführer Vmware und Microsoft nutzen zur Virtualisierung ein Verfahren, das als "
vollständige" Virtualisierung (Full Virtualization) bekannt ist. Dabei wird dem Gastsystem ein
kompletter Rechner vorgegaukelt, mit generischer Hardware. Dies bedeutet maximale Flexibilität: In
solch einer virtuellen Maschine lässt sich jedes Betriebssystem installieren, und auch Linux oder
Unix können auf einem Windows-Host laufen. Allerdings sind die Anpassungen am Host-Betriebssystem
beträchtlich, zudem unterstützen die heute in der Regel verwendeten x86-Prozessoren die
Ressourcenzuteilung nur mithilfe etlicher Tricks. Erst Intels und AMDs Prozessoren mit den gerade
eingeführten beziehungsweise vorgestellten Vanderpool-(Intel-) und Pacifica-(AMD-)Erweiterungen
versprechen Abhilfe. Bis dahin funktioniert der Umweg über die Software, fordert aber heftige
Leistungseinbußen. Je nach Anwendung und Host-System liegen die Abstriche bei 15 bis 25 Prozent.
Zudem erfordert jedes Gastsystem eine eigene Betriebssystemlizenz.
Als Paravirtualisierung wird hingegen der Lösungsansatz mit einem so genannten Hypervisor
bezeichnet. Dabei sitzt eine dünne Softwareschicht unterhalb der Host-Betriebssystemebene und
verteilt Speicher- und CPU-Ressourcen. Das Gastbetriebssystem nutzt einen Großteil des
Host-Betriebssystems, der Hypervisor sorgt für die Trennung in separate Prozesse. Ein
offensichtlicher Nachteil ist die Beschränkung der Gäste auf das jeweilige Host-Betriebssystem.
Linux-Gäste auf Windows-Hosts und umgekehrt sind damit – zumindest derzeit – nicht realisierbar.
Diesbezüglich lassen ebenfalls erst die Prozessorerweiterungen Pacifica und Vanderpool Lösungen
erwarten. Positiv ist bei der Paravirtualisierung, dass für Host und Gäste nur eine
Betriebssystemlizenz notwendig ist, was die Kosten erheblich senken kann. Zudem lassen sich
Gastsysteme schneller aufsetzen, da sie nicht separat installiert werden müssen: Der Kopiervorgang
aller notwendigen Daten dauert meist nur ein paar Sekunden. Ferner arbeitet ein solches
Gastbetriebssystem – im Gegensatz zur vollständigen Virtualisierung – fast ohne
Leistungseinbußen.
Der bekannteste Vertreter der Paravirtualisierung ist Xen. Die Linux-Software hat sich in den
letzten Monaten von einem interessanten Konzept zu einer viel beachteten Anwendung gemausert. Als
weitere Kandidaten im Bereich Paravirtualisierung präsentieren sich Virtuozzo von Swsoft und dessen
Open-Source-Ableger Openvz. Auch hier kann der Benutzer virtuelle Server auf der Basis des
Host-Systems anlegen – nach Angaben des Herstellers bis zu 400 Server pro Rechner mit 4 GByte RAM.
Im Gegensatz zu anderen Virtualisierungstechniken beherrschen Virtuozzo und Openvz die dynamische
Zuweisung von Ressourcen, sodass einzelne virtuelle Server mehr Speicher und CPU-Ressourcen
erhalten können als andere. Der größte Unterschied zwischen den beiden Produkten besteht in den
Management-Tools: Virtuozzo bietet eine umfassende grafische Verwaltungsoberfläche, einschließlich
eines Monitoring-Tools auf Browser-Basis. Openvz beschränkt sich vollständig auf die
Kommandozeile.
Die drei getesteten Produkte, Xen, Openvz und Virtuozzo sind so umfangreich, dass jedes allein
einen Beitrag füllen könnte – vor allem, wenn mehrere Distributionen berücksichtigt würden. Wir
beschränkten uns im Test daher bei den Linux-basierenden Systemen Xen und Openvz auf Fedora Core 5
als Host- und Gastbetriebssystem. Bei Virtuozzo setzten wir die Windows-Variante ein, da hier die
Unterschiede zu Produkten mit vollständiger Virtualisierung besonders interessierten. Testplattform
war für Linux ein Dell-Poweredge-1750-Server mit zwei 3,2-GHz-Xeon-Prozessoren und 2 GByte RAM.
Microsoft Windows 2003 Server lief auf einer Dell-Precision-650-Workstation mit 1 GByte RAM und
Xeon-2,8-GHz-Prozessor.
Virtuozzo (www.virtuozzo.com) von Swsoft besteht aus dem Paravirtualisierer selbst und einer
Managementkonsole. Der Preis des Servers liegt bei 1000 Euro pro CPU, die Lizenzkosten für die
Konsole variieren zwischen 200 und 1000 Euro je nach Anzahl physischer Maschinen. Die Installation
gestaltet sich Windows-typisch einfach und beschränkt sich darauf, die Exe-Datei zu starten. Als
Basisbetriebssystem sind alle Versionen von Windows Server 2003 möglich, mit Ausnahme von "Data
Center" und "Small Business". Das Release R2 wird unterstützt, ist aber nicht verpflichtend. Auch
64-Bit-Ausführungen sind zulässig. Während der Installation wird die Lizenzdatei gesucht und in das
System integriert, ohne Lizenzdatei installiert sich Virtuozzo mit 30-Tage-Limit. Zusätzlich legt
die Installationsroutine mehrere Templates an. Diese bilden bei Virtuozzo die Basis der
Gastsysteme, die hier "Virtual Private Servers" (VPS) heißen. Das wichtigste Template ist der "
Windows Server 2003", dazu ist auch die Windows-Server-2003-Datenquelle mit den
Installationsdateien (zum Beispiel CD) notwendig. Wichtig: Der Anwender sollte die
Auto-Update-Funktion von Windows deaktivieren, da sich Virtuozzo selbst um Patches und Hotfixes des
Betriebssystems kümmert. Die Managementoberfläche hat es in sich: Swsoft integriert alles in die
Software, von der Provisionierung über die Konfiguration bis zum Monitoring. Auf den ersten Blick
wirkt dies praktisch, nach einer Weile entpuppt sich die Situation jedoch als unübersichtlich, da
mehrere Wege existieren, um an Einstellungen oder Informationen heranzukommen.
Wer Vmware oder Virtual Server kennt, den dürfte das Aufsetzen des ersten VPS überraschen.
Swsoft hat dafür einen Wizard vorgesehen, der auf zwei Konfigurationsseiten alle Daten abfragt:
Basis-Template, Anzahl der VPS, automatische ID-Vergabe, Host-Name und Passwort – das war es schon.
Zusätzlich lassen sich weitere Templates hinzufügen, zum Beispiel Applikationen wie ein anderer
Webbrowser oder ein SSH-Server. Zu guter Letzt erlaubt Virtuozzo, die Ressourcen-Limits für CPU,
Massenspeicher und Prozesse festzulegen. Alle Einstellungen lassen sich speichern und als Vorlage
wieder verwenden. Anschließend dauert es – je nach Hardware und aktueller Auslastung – ein paar
Sekunden bis zu einer Minute, dann steht der VPS zur Verfügung: komplett mit Netzwerkanbindung über
ein "Bridging-Device" (Softwaremodul) und – falls so konfiguriert – mit Zugriff auf Netzwerk- oder
lokale Laufwerke des Hosts. Im Vergleich zu vollständigen Virtualisierungslösungen ist dieser
Ansatz erheblich schneller und gerade bei mehr als einem VPS das weit effizientere Verfahren.
Da ein still vor sich hin laufender VPS wenig nützlich ist, muss der virtuelle Server noch
konfiguriert werden. Bei Einzelanwendungen verbindet sich der Administrator per Microsoft Remote
Desktop mit dem neuen VPS und arbeitet mit dem System als wäre es der lokale Server. Nicht einmal
hardwarenahe Anwendungen wie Diagnoseprogramme stellen ein Problem dar: Im Test funktionierten der "
Rightmark"-Benchmark und ähnliche Tools problemlos innerhalb der VPS. Anwendungen, die ohne schwer
wiegende Hardwaremanipulationen auskommen, fühlen sich in der VPS ebenfalls wohl. Die Installation
des Browsers Firefox 1.5 lief im Test nicht anders ab, als auf einem "normalen" Server. Besonders
komfortabel klappt die Installation durch ein Template: Virtuozzo zeichnet die Änderungen auf, die
bei der Installation eines Programms anfallen und schreibt sie in das Template. Fortan lässt sich
das Template per Mausklick jedem VPS zuweisen, die Anwendung ist sofort installiert.
VPS-Images sind etwa 10 bis 20 MByte groß und nutzen eine Datei als simuliertes Dateisystem. In
der Regel wird der Anwender dem VPS allerdings ohnehin Zugriff auf einen Netzwerkspeicher geben, um
auf gemeinsame Daten zuzugreifen. Interessant erscheint auch die Möglichkeit, ein VPS per Mausklick
zu sichern und diese Sicherung entweder komplett oder nur einzelne Dateien davon
wiederherzustellen. Für die Überwachung und den laufenden Betrieb bietet Virtuozzo eine grafische
Auswertung, und mehrere Log-Dateien schreiben Alarme, Ereignisse sowie durchgeführte Operationen
mit.
Die Openvz-Software muss ohne die grafischen Tools des kommerziellen Bruders auskommen. Dennoch
bedeutet die Installation keinen großen Aufwand. Unter www.openvz.org lässt sich ein passendes
Installationspaket herunterladen, Fedora Core 5 und Suse 10 werden seit Anfang April unterstützt.
Je nachdem, ob der Anwender eine 64-Bit-CPU, Hyperthreading oder mehr als 4 GByte RAM benutzt,
stehen unterschiedliche RPM-Packages zur Verfügung. Wer will, kann Openvz auch aus den Sources
selbst kompilieren – dafür existiert ebenfalls ein RPM. Neben dem Kernel-Patch gehören die
User-Tools zu Openvz und sind separat herunterzuladen. Die Hardwareunterstützung orientiert sich an
Virtuozzo, Openvz verweist auf dessen Hardwarekompatibilitätsliste. Je nach verwendetem
Package-Manager installiert der Anwender zunächst den Kernel-Patch – zum Beispiel mit dem
Befehl
rpm -ihv kernelname.rpm
Die Entwickler warnen vor der Benutzung des Parameters –U (Upgrade): Dies würde alle bereits
installierten Kernels deinstallieren und nur noch die Openvz-Version auf dem System belassen. "GRUB"
als Bootloader wird automatisch konfiguriert. Wer mehrere Kernels auf dem System nutzen will,
sollte die Namen entsprechend anpassen, damit beim Booten kein Durcheinander entsteht. Weiter
gehende Einstellungen, zum Beispiel in der Datei "/etc/sysctl.conf" können notwendig sein, im Test
funktionierte es mit den Default-Einstellungen. Die entsprechenden Parameter erklärt die Website
von Openvz. Nach einem Neustart (mit dem richtigen Kernel) steht Openvz für die Nutzung zur
Verfügung, und die User-Tools lassen sich installieren. Als Nächstes startet der Administrator (mit
"root"-Rechten) den eigentlichen Paravirtualisierungsdienst über den Befehl
/sbin/service vz start
Anschließend geht es darum, VPS für den laufenden Service zu erstellen. Wie Virtuozzo nutzt auch
Openvz Templates, um die Änderungen am Betriebssystem zusammenzufassen. Am schnellsten kommt der
Anwender mit vordefinierten Templates (Template Cache) zu lauffähigen Gastsystemen. Auf der
Webseite von Openvz sind Packages für Centos, Debian, Fedora, Gentoo und Suse als "Tarballs" zu
finden – meist in je einer Minimalausführung mit etwa 35 MByte und einer Default-Ausführung mit 100
MByte. Im Test funktionierte der Einsatz eines Fedora-Core-5-Templates problemlos. Natürlich lassen
sich die Templates auch selbst erstellen – wenn der Benutzer bestimmte Anwendungen mit einbauen
will, geht das gar nicht anders. Dafür ist eine Sammlung von Informationen (Metadaten) nötig, um
ein Template von Grund auf zu erstellen. Dazu zählen eine Liste der Packages, die der Benutzer im
Template verwenden will, die Pfade zu den Dateien und einiges mehr. Openvz bietet den Grundstock
solcher Templates für ein paar Betriebssysteme zum Download an, darunter Fedora Core 5 und Centos
4. Bequem ist dies alles nicht, und wer eine Virtualisierungslösung für den produktiven Betrieb
sucht, kann diesen Aufwand in den meisten Fällen nicht treiben. Auch Linux-Anfänger oder "Teilzeit"
-Linux-Nutzer dürften hier schnell an ihre Grenzen stoßen.
Obwohl Xen (www.xensource.com) noch ein reines Open-Source Projekt ist, haben sich die
Entwickler viel Mühe gegeben und bieten Service und Funktionen wie bei einem kommerziellen Produkt.
So existieren nette Extras wie eine Life-CD mit Xen zum Testen. Wer von dort bootet, erhält ein
Linux präsentiert, auf dem Xen bereits im Kernel implementiert und virtuelle Maschinen
vorkonfiguriert sind. Aktuell gehört Xen noch nicht zum Lieferumfang von Fedora Core 5. Allerdings
lässt sich die Installation durch den integrierten "yum"-Installer schnell erledigen. Mit dem
Befehl
yum install kernel-xen0
werden – Internetzugang vorausgesetzt – die benötigten Packages einschließlich der
User-Space-Tools heruntergeladen und installiert. Beim nächsten Boot-Vorgang bietet Fedora einen
zweiten Kernel mit der Erweiterung "Xen" an. Letzterer ist aber nicht standardmäßig eingetragen –
dies muss der Anwender von Hand in der Datei "grub.conf" erledigen. Da Xen das
Remote-Control-Programm VNC zum Managen der virtuellen Server verwendet, sollte auch dieses Paket
auf dem Server installiert sein. Um Gastsysteme ("Virtual Machines" – VM) zu erstellen, existieren
zwei Wege: Zum einen kann der Administrator dem Benutzerhandbuch folgen und sich durch eine Menge
von Einstellungen wühlen. Dies hat zwar den Vorteil, volle Kontrolle über die VM zu bekommen,
dauert allerdings reichlich lang. Immerhin hat der Anwender dann die Einstellungen bezüglich des
Massenspeichers im Griff und kann zwischen eigenem Root-Baum, einer Image-Datei, NFS oder einigen
weiteren Möglichkeiten wählen. Einfacher geht es mit einem "Python"-Skript, das seit Xen 3.0
Bestandteil des Pakets ist. Der Aufruf lautet:
/usr/sbin/xenguest-install.py
Darauf folgt eine kurze Fragenliste nach dem Namen der VM, zugewiesenem RAM, lokalem Pfad und
Größe der Image-Datei sowie Ort der Installationsdateien. Letzteres ist der einzige kritische
Punkt: Hier erwartet Xen den Weg zu den Dateien für die Installationsquellen. Die Xen-Dokumentation
empfiehlt dazu, alle Dateien des Host-Betriebssystems bis auf die Verzeichnisse "/proc", "/sys", "
/home" und "/tmp" in eine eigene Partition zu kopieren. Danach legt der Administrator die fehlenden
Verzeichnisse an und ändert im neuen Verzeichnisbaum die entsprechenden Konfigurationsdateien wie "
/etc/fstab" und "/etc/hostname".
Das Skript setzt mit diesen Werten die Installation fort und startet eine gewöhnliche
Fedora-Installation einschließlich Netzwerkeinstellungen und Partitionierung in einem eigenen
Fenster. Nach einer Weile ist das Gastsystem initialisiert und lässt sich per VNC unter der
vergebenen IP-Adresse – DHCP funktioniert ebenfalls – erreichen. Fedora Core 5 läuft als Gastsystem
erstaunlich schnell. Xen 3.0 bringt sogar einige weiter gehende Managementfunktionen mit: So kann
der Anwender virtuelle Maschinen von einem Host auf einen anderen migrieren – sogar im laufenden
Betrieb. Allerdings stoppt das Gastsystem dabei für einige Sekunden. Wie bei Openvz existieren für
Xen ausschließlich Kommandozeilen-Tools. Allerdings finden sich auch einige viel versprechende
GUI-Entwicklungen, allen voran "Enomalism" (www.enomalism.com), von dem die Autoren jedoch erst
Ende April eine Betaversion freigeben wollten.
Die Nutzung der Paravirtualisierung erweist sich als vorteilhaft, wenn der Anwender viele
virtuelle Maschinen schnell und flexibel auf einem Host handhaben will. Virtuozzo zeigt, wie eine
professionelle Umsetzung aussehen kann. Wenn auch Xen in letzter Zeit enorme Fortschritte gemacht
hat, dürften die meisten Administratoren – absolute Linux-Profis ausgenommen – für den produktiven
Betrieb noch die Finger von den Open-Source-Lösungen lassen. Zu umständlich gestaltet sich die
Konfiguration und Verwaltung, sogar ohne Anwendungen mit einzubeziehen.