Optimale Zusammenarbeit
Server-Virtualisierung – Starke Server vergeuden einen Großteil ihrer Leistungsfähigkeit mit Nichtstun. Mehrere virtuelle Systeme auf einer Plattform sparen Hardware, lassen sich einfach administrieren und nutzen die vorhandenden Ressourcen effizient aus.



Soft- und Hardware entwickeln sich leider gegensätzlich. Wenn Hardwarehersteller leistungsfähigere CPUs auf den Markt bringen, kontern die Softwareentwickler mit ressourcefressenden Anwendungen. Bei einem kritischen Blick auf das kommende Windows Vista fällt schnell auf, dass Microsoft eine Fülle aufwändiger »Schnickschnack«-Funktionen integriert, ohne dabei die operative Leistung des Systems zu verbessern. Halbtransparente Fenster mit 3D-Effekten sehen zwar recht nett aus, sind aber keinesfalls die gesteigerten Hardwareanforderungen wert. Zum Glück tickt die Serverwelt anders. Hier kommt es nach wie vor auf die Verarbeitungsgeschwindigkeit der Serverapplikationen an.
Während wenige Hightech-Programme wie Datenbanken und komplexe Technical-Computing- Anwendungen gar nicht genug CPU-Power bekommen können, genügt den LAN-Stan- Server-Virtualisierung – Starke Server vergeuden einen Großteil ihrer Leistungsfähigkeit mit Nichtstun. Mehrere virtuelle Systeme auf einer Plattform sparen Hardware, lassen sich einfach administrieren und nutzen die vorhandenden Ressourcen effizient aus.
Bei Standard-Servern limitieren eher Faktoren wie die LAN-Anbindung die Applikationsperformance, nicht unbedingt die Rechenleistung. Dennoch betreiben auch kleinere Unternehmen üppige Serverfarmen. Zwar könnte ein einzelner aktueller Server alle Dienste auf einer Maschine beherbergen. Das senkt jedoch die Zuverlässigkeit. Stürzt ein Dienst ab, kann er das Host-System und damit alle anderen Services mit sich reißen. Also setzen Administratoren lieber fünf unterforderte Server mit einzelnen, voneinander isolierten Applikationen ein. Das fordert seinen Preis für die Unterhaltskosten. Der Trend geht daher klar zur Servervirtualisierung.
Eine angemessen ausgerüstete Maschine beherbergt hier eine ganze Schar virtueller Server, die einander nicht ins Gehege kommen können, aber dennoch die Ressourcen der Maschine teilen. Auf den Server-Plattformen mit verschiedenen CPUs steht eine ganze Reihe unterschiedlicher Virtualisierungstechniken zur Auswahl. Network Computing stellt in diesem Artikel einen Großteil der verfügbaren kommerziellen und freien Lösungen vor, beleuchtet deren Stärken und Schwächen und klassifiziert deren Einsatzgebiete.
Viele Wege zur VM
Servervirtualisierung ist – wie so viele andere Trends – keine neue Technologie, sondern eine Adaption aus der Mainframewelt. Ein PC nutzt ein integriertes Betriebssystem. Es kontrolliert die Hardware zum einen und die Applikationen zum anderen. Großrechner setzen hingegen eine Architektur ein, die ohne Virtualisierung gar nicht funktioniert.Hier läuft ein eigenes I/O-Betriebssystem, das ausschließlich für die Hardwaresteuerung zuständig ist. Das eigentliche OS/390 oder z/OS betreut die Applikationen und hält sich von der Device-Steuerung fern.S omit können völlig problemlos mehrere OS-Instanzen nebeneinander laufen. Bei PC- und Unix-Servern sieht das anders aus.Bet riebssysteme wie Unix, Linux oder Windows gehen grundsätzlich davon aus, dass ihnen allein alle vorhandenen Hardware-Ressourcen zur Verfügung stehen.Damit auf einer Plattform mehrere Systeme oder Systeminstanzen gleichzeitig laufen,muss ein so genannter Hypervisor oder Virtual-Machine-Monitor die Systeme austricksen und ihnen mehrere Maschinen vorgaukeln, obwohl doch nur eine da ist.Dabei gilt es, die vorhandenen Ressourcen so auf die verschiedenen Gäste aufzuteilen, dass diese einander nicht stören können. Die Sache mit den Ringen Prozessoren unterscheiden zwischen Benutzer- und Systeminstruktionen.
Der Hardware nahe Kommandos wie Speicher- und I/OZugriffe arbeiten im so genannten Ring-0 oder Kernel-Modus.Dieser privilegierte Betriebsmodus bleibt dem Systemkern und seinen Gerätetreibern vorbehalten.Applikationen laufen in einem weniger privilegierten Ring, dem User-Modus, und können damit nicht auf Hardwareressourcen direkt zugreifen.B enötigt ein Programm Daten aus dem Ring 0, dann muss es über eine passende Schnittstelle (API = Application-Programming-Interface) eine höfliche Anfrage an den Kern stellen.Dieser wird sich dann um die Anfrage kümmern und die Antwort via API an das Programm zurückliefern.Risc - CPUs kennen zwei, x86-Prozessoren vier Ringe.I n der Praxis bleiben auf der x86-Plattform die Ringe 1 und 2 jedoch ungenutzt, sodass Ring 0 für den Kernel und Ring 3 für User arbeiten. Der User-Modus funktioniert zu einem gewissen Teil bereits virtualisiert. Applikationen können bei richtiger Programmierung beispielsweise nur Speicherseiten benutzen, welche ihnen der Kernel vorgibt, jedoch nicht in die Pages anderer Programme hineinschauen.
Verschiedene Lösungen nutzen diese Trennlinie, um virtuelle Server zu betreiben.D iese Produkte setzen dabei jedoch einen einzigen Kernel ein und können daher nur virtuelle Maschinen mit der jeweils gleichen Version eines Betriebssystems erzeugen. Um völlig eigenständige virtuelle Maschinen mit unterschiedlichen Betriebssystemen zu erhalten,muss ein Hypervisor mehrere privilegierte Ringe simulieren.Da es bei bisherigen CPUs aber nur einen physischen Ring 0 geben kann, muss der Hypervisor das Geschehen in den virtuellen Kernel-Modus streng überwachen und systemnahe Instruktionen abfangen.Setzt eine virtuelle Maschine einen privilegierten Hardwarebefehl ab, simuliert der VMM dessen Ablauf.Das kostet je nach Befehl viel Zeit und reduziert die Performance der virtuellen Maschine.
Virtuelle Nullen
Intel und AMD führen mit kommenden CPU-Generationen daher eine Reihe von Virtualisierungsfunktionen ein.Diese CPUs kennen mehr als nur einen Ring 0.Der physische Ring 0 (R0P), welcher tatsächlich Zugriff zur Hardware erhält, bleibt dem Hypervisor vorbehalten.Dieser kann dann wiederum per CPU-Instruktion virtuelle Null-Ringe (R0V) erstellen und darin virtuelle Maschinen starten. Die kritischen Instruktionen innerhalb dieser R0Vs fängt die CPU zu einem Großteil direkt ab, sodass der Hypervisor wesentlich weniger Simulationsarbeit zu leisten hat.Damit steigt die Performance der virtuellen Maschinen spürbar.
Die erste Generation der virtuellen CPUs (VT bei Intel, Pacifica bei AMD) beschränkt sich jedoch auf einige Basisfunktionen innerhalb der R0Vs.Komplexe Hardwarezugriffe wie DMA-Transfers muss nach wie vor der Hypervisor abfangen.B ereits in einem Jahr will Intel eine Erweiterung zu VT auf den Markt bringen, welche weitere I/O-Instruktionen in den R0Vs erlaubt. Intel CPUs mit VT gibt es seit Frühjahr im Handel, AMD stellt seine Pacifica-Prozessoren zum Sommer vor.
Virtualisierung auf Systemebene
Dank der zwei unterschiedlich privilegierten Ausführungsebenen kann eine Virtualisierungssoftware an zwei Stellen ansetzen. Die offensichtlich simplere Lösung steckt im Ring 0 und damit im Host-Betriebssystem selbst und gaukelt den Anwendungen mehrere Systeminstanzen vor. Diese Methode muss keine direkten CPU-Instruktionen abfangen und zeitaufwändig emulieren. Diese Ring-3-Virtualisierung setzt auf API-Ebene an und simuliert mehrere Kerne ein und desselben Systems, obwohl nur eines tatsächlich vorhanden ist. Diese Methode verspricht geringe Performanceverluste bei der Virtualisierung und setzt keine bestimmte CPUArchitektur voraus. Ein Restrisiko bleibt bestehen: Crasht eine virtuelle Systeminstanz den Systemkern, stürzt der Host mit allen VMs ab. Eine durch Softwarefehler verursachte Kernel-Panic (Linux) oder Bluescreen (Windows) kommt in der Praxis recht selten vor. Zudem kann die Virtualisierungs-Software zur Stabilität beitragen, indem sie kritische Systemaufrufe der VMs genau überwacht und bekannte Traps blockiert.
Linux-VServer
Eine freie Virtualisierung auf Systemebene ist der Linux-Vserver.Dieser setzt auf einen Linux-Host mit einem gepatchten Systemkernel auf,welcher die Vserver-Dienste und -Treiber enthält. Linux eignet sich auf Grund seiner modularen Architektur sehr gut für Virtualisierung. Eine Distribution setzt in der Regel keinen speziellen Kernel voraus. So kann ein Vserver auf Basis einer Debian-Distribution durchaus virtuelle Systeme mit Redhat, Suse oder Gentoo simultan betreiben. Zudem stellt Linux keine besonderen Anforderungen an Platten und Dateisysteme. So lassen sich Teilbäume wie /bin, /sbin oder /usr/bin in mehrere VMs einbinden, und das spart jede Menge Plattenplatz. Besonders flexibel arbeitet dabei das Union-FS. Dieses Dateisystem vereinigt schreibgeschützte und beschreibbare Verzeichnisse in einem Dateibaum.Union-FS liest dabei in erster Linie aus den schreibgeschützten Bereichen.
Will eine Anwendung eine Datei überschreiben, leitet Union-FS diese Anforderung in den schreibbaren Bereich um und greift fortan auch lesend auf die geänderte Datei zu. Dank dieses Features lassen sich mit Linux-Vserver sehr schnell virtuelle Systeme klonen, ohne dass dabei große Plattenkapazitäten nötig werden. Linux-Vserver verzichtet auf hübsche bunte Frontend-Tools, Konfigurations-Wizards und sonstige Komfort-Tools. Damit zielt die Lösung auf versierte Linux-Anwender, die sich gut bis sehr gut mit Linux auskennen und auch nicht vor Kernel-Patching zurückschrecken. Der Vserver eignet sich für Service-Provider ebenso wie für Intranets mit Linux als Basis der üblich verdächtigen Standarddienste. Der Administrator muss dabei allerdings in Kauf nehmen,dass kommerzielle Software-Anbieter keine Zertifizierung für Kernels mit Vserver-Patch offerieren – noch nicht. Die Software und die passende Dokumentation stehen auf www.linux-vserver.org zum Download bereit.
OpenVZ
Von »SwSoft« stammt ein freier Ableger der Virtualisierungssoftware Virtuozzo für Linux.Ähnlich dem Linux-VServer, benötigt Open-VZ einen gepatchten Systemkern und kann darauf aufsetzend virtuelle Linux-Maschinen hosten. Zu Open-VZ gibt es eine Reihe Konfigurationstools für die Kommandozeile. Die Software kann fertige Abbilder virtueller Systeminstanzen einlesen und umgehend in Betrieb nehmen.Auf der Homepage des Projekts www.openvz.org gibt es daher auch gleich eine ganze Reihe fertiger Systemabbilder freier Distributionen wie Debian oder Fedora Core, die sich in VZ-Umgebungen integrieren lassen. Im Vergleich zu Linux-Vserver lässt sich Open-VZ einfacher bedienen und offeriert bessere Funktionen für virtuelle LANAdapter.
Dafür kann Open-VZ nicht so elegant mit Union-FS umgehen wie der Linux-Vserver. Beide Projekte bemühen sich darum,dass ihre Kernel-Modifikationen fester Bestandteil des Linux-Source-Trees werden. Dann könnten Anwender auf künftigen Linux-Versionen die Virtualisierung ohne Kernel-Patch nutzen.
Virtuozzo
Das kommerzielle Pedant zu Open-VZ offeriert Swsoft sowohl für Linux als auch für den Windows- Server 2003. Im Gegenzug zur freien Variante gibt es bei Virtuozzo viele Komfort-Tools und eine grafische Management-Konsole. Die Windows-Version (ausführlicher Einzeltest in dieser Ausgabe auf Seite 38) kann damit per Mausklick neue Virtual-Private-Server erstellen. Zudem kann die Software Applikations-Templates einrichten und in VPSs einfügen. Ein großer Vorteil gegenüber Ring-0-Virtualisierungs- Programmen wie Vmware ist die Lizenzierung.
Laut Swsoft genügt eine Windows-2003-Serverlizenz für eine Farm mit mehreren VPS, während Vmware-Nutzer für jeden virtuellen Windows- Server eine eigene Lizenz benötigen. Im Gegenzug bleiben VPS aber an die Systemversion des zu Grunde liegenden Windows-2003- oder Linux-Servers gebunden. In der aktuellen Version 3.5.1 kann Virtuozzo bereits laufende VPSs via LAN von einem Virtuozzo-Host auf einen anderen verschieben. Dabei tritt aktuell jedoch noch eine Downtime von mehreren Sekunden auf. Künftige Versionen sollen das schneller erledigen. Auch steht eine Version für x86-64-Systeme auf dem Plan.
Virtuozzo eignet sich als Virtualisierungs-Lösung für Administratoren mit homogenen Windows-2003- respektive Linux-Servern.Dabei lässt sich auf Grund der Lizenzpolitik unter Windows jede Menge Geld einsparen. Im Gegenzug bleibt Virtuozzo unflexibel bei Gastsystemen. Eine Migration des Host-Systems geht erst dann,wenn Swsoft dieses Host-System zertifiziert. Eine Migration betrifft dann zudem alle virtuellen Server auf einmal.Wenn dann nur eine einzige Server-Applikation nicht mit dem neuen Host-System läuft, müssen alle VPS zurück auf das alte OS.
Unix Partitionen
Ähnliche Virtualisierungsansätze gibt es auch für andere Unix-Derivate. BSD-Systeme setzen mit so genannten Jails abgeschottete Systemuminstanzen ein.Suns Solaris 10 verwaltet virtuelle OSInstanzen in Containern.Diese Technologie können sowohl Sparc- als auch x86-Anwender mit Solaris 10 nutzen. HP-UX kennt ebenfalls eine vergleichbare Technologie für PA-Risc- und Itanium- Server.
Echte virtuelle Maschinen
Um auf einem System völlig unterschiedliche Betriebssysteme laufen zu lassen, bedarf es eines Hypervisors,der komplette virtuelle Maschinen erzeugt. Aktuell sind dabei bei x86-, x86-64- und Itanium-Systemen noch spürbare Performance- Einbußen von 5 bis 30 Prozent in Kauf zu nehmen – je nach VM und den darin laufenden Applikationen. Mit der Verfügbarkeit von VT-CPUs wollen alle VMM-Anbieter angepasste Programme auf den Markt bringen, wodurch die Leistungseinbußen der virtuellen Maschinen künftig wesentlich geringer ausfallen.
Um den bestmöglichen Virtualisierungsgrad zu erreichen, arbeiten Hypervisoren so systemnahe, wie es nur geht. Dabei setzen sie in der Regel eine privilegierte Systeminstanz ein, welche die VMs verwaltet und die Steuerung der Hardware übernimmt. So genannte Hosted-Products setzen auf ein bestehendes Betriebssystem auf und müssen sich bei der Virtualisierung von Ressourcen mit den Verwaltungsinstanzen des zu Grunde liegenden Systems auseinander setzen.
Das kostet viel Zeit,weswegen Hosted-Products spürbar langsamer arbeiten als maschinennahe VMMs. Auch muss der virtuelle Ring 0 stärker von der physischen Hardware getrennt werden, was weitere Performance kostet.
Vmware-ESX-Server
Die derzeit wohl leistungsstärkste Virtualisierungsssoftware für x86-Systeme stammt von der EMC-Tochter Vmware. Der ESX-Server setzt einen eigenen Systemkern mit integriertem Hypervisor ein. Ihm zur Seite steht eine privilegierte Linux-Maschine auf Basis einer Redhat-Distribution. Diese Linux-Instanz liefert eine Reihe von Hardwaretreibern, die der ESX-Server zur I/OKommunikation nutzt, und stellt das Management- Interface bereit.
Die relevanten Ressourcen verwaltet der ESXKern allerdings selbst. Der ESX-Kern erkennt die Numa-Architektur eines SMP-Opteron-Servers und kann daher virtuelle Systeme gezielt einzelnen CPU-Kernen und dem zugehörigen Speicher zuordnen.Eine Konsole für Linux und Windows-Systeme stellt die Verbindung zum GUI einer VM her. In diesem Client kann der Anwender den kompletten Bootvorgang betrachten, als handle es sich dabei um einen physischen PC mit Bios-Settings und allem, was dazu gehört. Der ESX-Server kann physische Hardware wie Plattenpartitionen oder CDLaufwerke dynamisch in VMs einblenden, was die Installation neuer Systeme vereinfacht. Zudem lassen sich virtuelle Hardware-Komponenten nutzen.Eine Festplatte einer VM existiert dabei in Wirklichkeit nur als Datei innerhalb des ESX-Dateisystems.CD-ROM-Laufwerke dürfen ISO-Abbilder in eine VM mounten.
Der ESX-Server ist clusterfähig. Auf das Vmware-eigene VMFS-Cluster-Dateisystem greifen dabei mehrere ESX-Server zu.Mit einer Clusterkonsole, dem »Virtual Center«, und einem besonderen Tool namens »VMotion« lassen sich laufende VMs von einem ESX-Server zu einem anderen verschieben. Dabei tritt keine spürbare Downtime auf. Beide ESX-Server müssen jedoch mit der identischen CPU-Version arbeiten. Bereits kleinere Architekturunterschiede vereiteln VMotion-Prozesse. So kann eine VM nicht laufend von einem Opteron-846 auf einen Dual- Core-Opteron-880 umziehen.
Innerhalb der VMs arbeitet ein Vmware-eigener Daemon-Prozess, der die Kommunikation zuwischen Host und VM ermöglicht sowie den Ressourcenbedarf der VM mindert. Alle Funktionen des ESX-Servers lassen sich über Skripte steuern, und dank der Vmware-Tools innerhalb einer VM dürfen Skripte vom Host Arbeiten innerhalb der VM anstoßen und umgekehrt. Der ESX-Server 2.5.2 offeriert einen enormen Leistungsumfang, der sich bei keinem anderen VMM auf Intel-CPUs finden lässt. Er verwaltet Maschinen mit kaum spürbaren Performance- Einbußen. Im Gegenzug ist der ESX-Server ein teures Stück Software. Zusätzliche Features wie Vmotion, SMP-Support für VMs oder ein Tool zum Konvertieren physischer Maschinen in VMs kosten bei Vmware extra.
Die kommende ESX-Version 3 verspricht neue Funktionen.Vmware integriert den 64-Bit-Support für EM64T und AMD64.VMs können dann mehr als 3,6 GByte RAM und zwei CPUs erhalten. Eine Snapshot-Funktion erlaubt es,Abbilder aktiver VMs zu speichern. Diese dienen als Backup oder als Rollback-Option. Braucht die Version 2.x noch ein FC-SAN für den ESXCluster, kann die Release 3 dafür auch iSCSI oder NFS nutzen. Zudem unterstützt die Release 3 die CPU-VT-Erweiterungen von Intel und AMD und wird damit noch schnellere VMs ermöglichen.
Xen
Der schärfste Konkurrent des ESX-Servers ist ein Open-Source-Projekt namens Xen, das aktuell in der Version 3.01 vorliegt (ausführlicher Test siehe Seite xx in dieser Ausgabe). Das größte Problem von Ring-0-Virtualisierungen ist, dass die Hypervisoren kritische Hardware-Zugriffe der VMs abfangen und deren Auswirkung auf die VM simulieren müssen. Das kostet Zeit und sorgt für die angesprochenen Performance- Einbußen bei der Virtualisierung. Xen umgeht dieses Problem auf eine elegante, wenn auch Open-Source-gebundene Art und Weise.VMs unter Xen führen einfach keine kritischen Hardware-Kommandos aus, und damit spart sich der Hypervisor die aufwändige Simulation.
Das erfordert im Gegenzug angepasste Systemkerne der VMs, und daher spricht man bei Xen auch von Para-Virtualisierung. Bei Open-Source-Systemen kann natürlich jeder Anwender sich den Kernel anpassen. In einer VM ist es ja auch sehr wünschenswert, einen schlanken Kernel zu betreiben, der nahezu ohne Hardwaretreiber läuft. Schließlich übernimmt der VMM die komplette Hardwaresteuerung stellvertretend für alle VMs.Derzeit arbeiten Systeme wie Linux, BSD oder Plan 9 mit Xen. Allerdings kann unter Xen kein Windows starten, denn dessen Kernel lässt sich nicht so einfach patchen. Dass es geht, haben Microsoft-Entwickler gemeinsam mit dem Xen-Team bereits demonstriert, jedoch rückt Microsoft den Xenfähigen Windows-Kern nicht heraus. Die nächste Xen-Version wird, wie Vmware, die VT-Instruktionen von Intel- und AMD-CPUs unterstützen. Dann braucht es auch keinen modifi-zierten Windows-Kernel mehr, da die CPU die kritischen Kommandos selbst abfängt.
Der Hypervisor von Xen sitzt direkt im Linux- Kern. Für ein Xen-fähiges System muss daher der reguläre Kernel gegen einen Xen-0-Kern getauscht werden.Neue Distributionen wie liefern in der Regel bereits einen vorkompilierten Xen- Kern mit. Der Systemstart setzt den VMM in Gang und startet das privilegierte Linux in der so genannten Domain 0. Die Treiber dieser Instanz verwendet der Hypervisor selbst für Hardware- Zugriffe und setzt darauf virtuelle Treiber für weitere VMs (U-Domains) auf. Bei Xen fehlen allerdings hübsche grafische Frontends und leistungsstarke Tools. Unter Xen lässt sich keine VM gemütlich installieren,wie das beim ESXServer der Fall ist.Vielmehr muss der Administrator händisch eine bereits lauffähige Systeminstanz zusammenbauen,die sich dann unter Xen starten lässt. Bei exotischen Konfigurationen führt das dann leider dazu, dass der künftigen Xen- Gast zunächst auf einer physischen Maschine eingerichtet werden muss. Anschließend kann der Verwalter ein Image generieren, dies unter Linux mounten und die Konfiguration des Gastes anpassen. Erst dann lässt sich das System unter Xen hochfahren.Xen 3 kann laufende VMs über das LAN auf einen anderen Host verschieben.
Dabei entstehen ähnlich wie bei Vmware kaum spürbare Downtimes.Xen braucht für dieses Feature kein FC-SAN. Zurzeit eignet sich Xen 3.0.1 nur für Linux- Systeme und setzt erfahrene Linux-Adminstratoren voraus.Virtuelle Maschinen lassen sich nur mit Aufwand erstellen. Da Xen aktuell nur andere Linuxe oder BSDs virtualisieren kann, stellt sich die Frage, ob in praktischen Anwendungs- Szenerien derzeit nicht eine einfacher zu handhabende Systemvirtualisierungslösung wie Open- VZ oder der Linux-Vserver besser eignet. Sobald Xen VT und damit auch Windows unterstützt, dürfte der freie Hypervisor an Attraktivität gewinnen.
Hosted-Products
Unter die Kategorie Hosted-Products fallen Lösungen wie der Vmware-Server (früher GSX), die Vmware-Workstation sowie Microsofts Virtual- Server und Virtual-PC.Alle Hosted-Products setzen einen Hypervisor auf ein bereits laufendes Windows- oder Linux-System auf. Das funktioniert für Test und Entwicklungszwecke recht gut. Als Konsolidierungsplattform für mehrere produktive Server eignen sich die Hosted-Products weniger. Die VMs verlieren hier spürbar an Performance, da der VMM keinen so direkten Hardware-Zugriff wie bei Xen oder ESX hat.
Microsofts Virtual-PC/Server basiert zudem auf einer Technologie, welche sich die Gates-Company mit der Übernahme von Connectix angeeignet hat. Dieser VMM abstrahiert die Hardware stärker, als das die Vmware-Hypervisoren tun. Damit lassen sich zwar Gäste simpler installieren und auch Exoten wie das gute alte OS/2 in VMs betreiben. Im Gegenzug verliert eine VM gegenüber einer physischen Maschine stärker an Leistung, als das bei Vmware-ESX der Fall ist. Die Hosted-Products bieten Virtualisierungs- Neulingen jedoch einen einfachen Einstieg in die Technik. Dabei kommt Administratoren entgegen, dass Vmware den Vmware-Server für Linux oder Windows gratis vertreibt. So können Administratoren mit dieser Software erst einmal herumprobieren und später auf eine solide und schnelle Lösung wie den ESX-Server umsteigen. Vmware-Server-Anwendern können ihre einmal erstellten virtuellen Maschinen später direkt auf einen ESX-Server übertragen.
Unix-Virtualisierung
Auf den verschiedenen Unix-Plattformen gibt es schon lange Virtualisierungs-Tools. Die Anwender brauchen hier keine speziellen VT-CPUs, denn die nötigen Technologien stecken bereits in der Hardware, Firmware, der Systemarchitektur oder dem Betriebssystem.Große SMP-Maschinen von Sun und HP offerieren Hardware- Partitionierung. Dabei lassen sich einzelne CPU-Boards mit zwei bis vier Prozessoren mit eigenen I/O-Adaptern versehen und getrennt vom Rest des Systems betreiben.Hardware-Partitionen arbeiten statisch und lassen kaum Ressourcen-Änderungen zur Laufzeit zu. Daher offerieren HP, IBM und Sun weitere Partitions- Optionen. IBM verwendet logische Partitionen, die so genannten lpars. Der Hypervisor ist dabei Teil der Power-5-Prozessorarchitektur und der maschineneigenen Firmware.Auf Power-Servern arbeiten somit verschiedene AIX-Versionen und Linux parallel.Hier können Systemverwalter virtuellen Maschinen sogar zur Laufzeit Speicher und CPUs hinzufügen oder entziehen, sofern es das Betriebssystem unterstützt.Große Server verwenden einen dezidierten Kontroll-Server, welcher die Virtualisierungs-Funktionen des p-Servers steuert.Mittlerweile können auch die kleinen Systeme lpars nutzen, ohne eine Hardware- Konsole zu benötigen. Dazu gibt es den leicht funktionsreduzierten integrierten »Power Hypervisor«. Besondere »pSeries«-Server mit einer speziellen Hardware-Erweiterung können dann auch das AS/400-System OS/400 einsetzen.
HP offeriert für seine Itanium-Server wahlweise Virtuozzo oder eine eigene Virtualisierungs- Plattform. Die ist bei genauem Hinsehen dem ESX-Server sehr ähnlich und basiert in Grundzügen auf der Vmware-Technologie,welche HP in Lizenz für seine Integrity-Systeme übernommen hat. Sun kennt auf den kleineren Servern nur Solaris- Container. Erst die großen modularen Maschinen verwalten dynamische, logische Partitionen über das Solaris-System und die Maschinen- Firmware.Einen Mischbetrieb von Solaris und Linux sieht Sun noch nicht vor. Die Version 11 des Sun-Unix-Derivats wird allerdings erweiterte Virtualisierungsfunktionen mit »Branded Zones« einführen. Innerhalb dieser Zones können dann auch Linux-Maschinen laufen. Erste konkrete Ansätze integriert Sun in seinem Open-Solaris-Programm auf www.opensolaris. org.
Alles virtuell
Bei so vielen Virtualisierungs-Lösungen stellt sich dem Anwender wohl kaum mehr die Frage, ob er seine Server virtualisiert, sondern wie er sie virtualisiert. Für homogene Netzwerke eignen sich bevorzugt Tools wie Virtuozzo, der Linux- Vserver oder Solaris-Zonen. Heterogene Serverlandschaften sollten Xen, IBMs Power-Virtualisation oder den Vmware-ESX-Server einsetzen, wobei sich bei Xen das Warten auf VTCPUs lohnt.
ast@networkcomputing