Linux ist traditionell das bevorzugte Spielfeld für Virtualisierung – im Rechenzentrum, auf Workstations, bei Internet-Hostern und bei Entwicklern. Entsprechend dynamisch entwickeln sich der Markt und die Produkt-Features. Das Linux-Magazin stellt die Top-Sportler vor und begutachtet deren Spielgefühl .
Virtualisierungs-Hype 2.0: Es kommt Bewegung in den Virtualisierungsmarkt. Die Vorteile sind wohl überwältigend ([1], [2]). Doch im Dickicht der unterschiedlichen Angebote – einen Überblick bietet Tabelle 1 – eignet sich nicht jede Technik für jeden Anwendungsfall. Vier verschiedene Szenarien beleuchten passende, am Markt verfügbaren Lösungen.
|
Tabelle 1: Übersicht |
|---|
Konsolidierte Datacenter
Vieles spricht für Virtualisierung in Rechenzentren, IT-Abteilungen und in Serverumgebungen: Die mögliche Konsolidierung nutzt Ressourcen von Mensch und Maschine besser. Anwendungen problemlos auf einen neuen Server umzuziehen bedeutet Flexibilität, Hardware gemeinsam verwenden spart Kosten und hilft nicht zuletzt dabei, die Umwelt zu entlasten. Gartner erklärte Green-IT gerade zum Trend des Jahres 2008 [3].
Sind komplexe Anwendungen zu virtualisieren und ist eine maximale Flexibilität der einzelnen Gäste gefordert, kommen zumeist virtuelle Maschinen (VMware) und Hardware- oder Paravirtualisierung (Xen, je nach Eigenschaften der Hardware) zum Einsatz, vermitteln sie dem Gast doch eine Umgebung, die sich kaum von der tatsächlichen Hardware unterscheidet. In diesem Segment sind VMware und Xen die wichtigsten Player. Beide Produkte werden kommerziell angeboten, von Xen gibt es auch Varianten als freie Software.
Allrounder Xen
Xensource, die Ausgründung der Xen-Entwicklergruppe der University of Cambridge, bietet mit Xenserver ein Paket mit umfangreichen Werkzeugen an. Die Enterprise-Distributionen SLES und RHEL veredeln Xen ebenfalls durch eine Reihe von Zugaben: So gibt es nun auch paravirtuelle IO-Treiber, die durch engere Kooperation mit dem Hypervisor mehr Leistung herauskitzeln (siehe Kasten “Was läuft wo?”). Dies Angebot ist aber nicht kostenlos, da die Lizenzen der Windows-Treiberbibliotheken eine Veröffentlichung blockieren.
|
Was läuft wo? |
|---|
|
Einsteiger in das Thema beschäftigt häufig die Frage, welche Anforderungen die Hardware – insbesondere der Prozessor – und das Betriebssystem erfüllen müssen, damit sich das System als Gastgeber qualifiziert. Ebenso ist die Frage wichtig, welche Betriebssysteme als Gäste problemlos laufen. Als praktisch bewährte Faustregel gilt, dass Flexibilität entweder mit Performance oder mit Spezialhardware bezahlt sein will. Bei der Hardware-Virtualisierung arbeitet die tatsächliche CPU weitgehend die Befehle der Gäste selbst ab; ein Hypervisor greift nur dann ein, wenn Konflikte zu vermeiden sind. Kann die Hardware diese Konflikte nicht unmittelbar selbst erkennen, übernimmt die Paravirtualisierung die Rolle des Verwalters. Was den Hauptprozessor angeht, ist die Technik hier schon weit entwickelt. In den Kinderschuhen steckt hingegen noch die Virtualisierung von IO-Komponenten. Emulationen bilden praktisch alle Situationen und Architekturen ab, sind aber vergleichsweise langsam, da sie alles in Software abarbeiten. Alle hier vorgestellten Virtualisierungslösungen können Linux als Gast beherbergen, einige setzen jedoch Veränderungen am Gastkernel voraus, darunter Xen, OpenVZ, Virtuozzo oder Vserver. Dies kann bei einigen Anwendungen Probleme beim Support bereiten, wenn der Dienstleister eine spezielle Kernelversion voraussetzt. VMware und Virtualbox laufen prinzipiell auf hinreichend neuen, ungepatchten Kerneln, die Emulatoren sowieso. Bei den Gästen kann es entweder bei der Performance oder bei der Unterstützung verschiedener Versionen allerdings zu Einschränkungen kommen. Mit den aktuellen Windows-Abkömmlingen XP und Vista kommen alle Server-Virtualisierungen klar, nur die Betriebssystem-Virtualisierungen wie OpenVZ oder Vserver können dies prinzipbedingt nicht. |
Überhaupt bleiben Suse und Fedora lieber unter sich: Gäste anderer Betriebssysteme nehmen sie nur mit Murren auf. Ihre Tools, darunter der Virtmanager (bei SLES als Teil von Yast) warten dafür wie auch Xenserver mit besserem Support für HVM und GUIs auf.
Distributionen
Debian, Ubuntu und Xenserver unterstützen den Admin auch beim Betrieb anderer Distributionen, doch unterscheiden sich die Bedienkonzepte: Debian etwa konzentriert sich auf Konsolen-Tools (siehe Abbildung 2) und wird so seinem Ruf als puristische, aber leistungsfähige Distribution gerecht. Die Unterstützung von bis zu 32 CPUs prädestiniert Xen für den Einsatz im Datacenter. Dort wird es entsprechend oft für hochverfügbare Systeme unter Höchstlast eingesetzt (siehe Kasten “Anwendungsfeld Hochverfügbarkeit”).
|
Anwendungsfeld |
|---|
|
Virtuelle Systeme lassen sich gut einsetzen, wenn Hochverfügbarkeit gefordert wird. Flexible Zuordnungen von Gästen zu Systemen und schnelle Migrationen von einem zum nächsten Server verhelfen zu niedrigeren Ausfallzeiten. Wegen seiner umfangreichen Werkzeuge hat VMware hier die Nase vorn. Mit dem neuesten Service Pack von SLES oder mit Xenserver konnte die Konkurrenz jedoch aufholen. Bei SLES und Fedora muss man auf reibungslosen Betrieb verschiedener Distributionen außerhalb der eigenen Welt und Windows allerdings verzichten. Noch einen Schritt weiter geht die automatische Lastverteilung: Je nach Anforderung ist auch eine Live-Migration laufender Systeme auf andere Hardware möglich. Insgesamt haben sich für HA-Aufgaben wegen ihrer hohen Komplexität erst wenige Standardlösungen herausgebildet. Die Open-Source-Ansätze punkten mit ihrer Flexibilität, die kommerziellen mit ihren Support-Modellen. |
Xen kann seine technologischen Stärken ausspielen und gilt als flexibel, erweiterbar und kostengünstig. Unternehmen nehmen die Technik mittlerweile im produktiven Einsatz an. So basiert das von Amazon schon seit einer Weile angebotene EC2 auf Xen [4], so schreiben Amazon-Mitarbeiter auf den Entwicklerseiten des Unternehmens [5].
EC2 bietet auf Abruf Rechen- und Netzkapazitäten in einem Cluster an. Ergänzend stellt Amazon unter dem Namen S3 Storage bereit, um veränderliche Daten zu speichern [6]. Obgleich noch in der “Unlimited Beta”-Phase, erwägen erste Unternehmen den produktiven Einsatz des Angebotes [7].
Produktiver Einsatz
IBM hat im November 2007 angekündigt, unter dem Namen Blue Cloud eine ähnliche Dienstleistung auf Basis von Xen und der eigenen Technologie Power VM anzubieten [8]. Auch Google verwendet Xen: Fast schon unüblich für das sonst bezüglich seiner eigenen IT-Systeme verschwiegene Unternehmen stellten Mitarbeiter das eigens dafür entwickelte Management-Tool Ganeti [9] vor.
Es ist seit August 2007 unter der GPL veröffentlicht. Der Suchmaschinenbetreiber nutzt die Technik für interne Systeme, aber nicht für seine Suchmaschine. Am besten sei es für Systeme mit geringen Ansprüchen an die Ressourcen geeignet, erklärte Google-Mitarbeiter Guido Trotter auf der Konferenz LISA 07 [10].
Die Lufthansa setzt Xen ebenfalls für Testsysteme ein [11]. Zuletzt sorgten sowohl Oracle als auch Sun mit den kommerziell supporteten Xen-Varianten Oracle VM und Sun xVM für Überraschung auf dem Markt [12]. Die Entscheidung für ein Produkt treffen viele Systemverwalter danach, welche Verwaltungswerkzeuge es mitliefert. Im kommerziell besonders wichtigen Bereich der Enterprise-Lösungen haben viele Hersteller reagiert und sich zuletzt stark auf Werkzeuge zur Administration konzentriert (siehe Artikel auf Seite 38). Diese Strategie ist besonders VMware anzumerken.
Platzhirsch VMware
Die Produkte aus diesem Hause erlauben Live-Migrationen und die Verwaltung von ausfallsicheren Ressourcen-Pools mit wenigen Mausklicks. Neuerding unterstützen sie auch Paravirtualisierung – so erhöht sich die Performance in bestimmten Bereichen. VMware hat auch den Vorsprung von Xen in der Anzahl der unterstützten Prozessoren aufgeholt, waren vor einiger Zeit mit VMware ESX nur maximal vier Prozessoren möglich, unterstützen heute einige Produktversionen genau wie Xen 32 CPUs.
Das aktuelle Paket VMware Infrastructure 3.5 enthält den ESX Server 3.5 und das Virtual Center 2.5 für die Verwaltung, je nach Ausstattung sind dafür aber auch einige Tausend Euro fällig.
Offenkundig lässt das Thema die Kassen klingeln, denn vom Wirbel um die Virtualisierung profitierten zuletzt mehrere Unternehmen: Im August 2007 schluckte Citrix Xensource zum Gegenwert einer halben Milliarde US-Dollar [13], immerhin gut die Hälfte dessen, was der Börsengang von VMware in deren Kassen gespült hatte [14].
Virtualisierung findet nicht aber allein im Serverraum statt. Wer auf dem Desktop schnell neue Instanzen braucht, etwa für Softwaretests, kann aus einer Reihe von Produkten wählen.

Abbildung 1: Drei Betriebssysteme in drei Virtualisierungslösungen: VMware Server beherbergt NetBSD, daneben bietet KVM einem GRML-Linux eine Heimat, unten läuft Windows in einer Virtualbox.
Desktops herbeizaubern
Bei Virtualbox [15] reichen wenige Mausklicks, um eine neue Instanz zu starten. Das Produkt des deutschen Unternehmens Innotek, dessen Bedienkonzept sich an die VMware-Workstation anlehnt, gilt wegen seiner einfachen Bedienung als Shooting-Star. Anwender nutzen das seit Anfang 2007 unter der GPL lizenzierte Produkt, um Windows-Anwendungen auf einem Linux-Desktop einzusetzen. Noch einen Schritt weiter geht die auf Virtualbox basierende Virtual Workstation des Bundesamts für Sicherheit in der Informationstechnik, die Secunet Security Networks im Auftrag des Amtes mit zusätzlichen Sicherheitsfunktionen ausgestattet hat [16].
Ein separater Artikel auf Seite 42 widmet sich dem Netzwerk-Setup von Virtualbox. Open Suse hat Virtualbox bereits im Paket, aber bei Fedora fehlt es und Debian soll es erst in der nächsten stabilen Version enthalten.
Qemu [17] lässt sich direkt mit einem Kommandoaufruf starten, in der Variante Kqemu sogar beschleunigt auf der I386-Plattform. Das taugt dann durchaus zu schnellen Boot-Tests, falls ein Anwender etwa mehrere Distributionen vergleichen will (siehe Abbildung 1).
Software-Entwickler schätzen das vielseitige VMware als Testwerkzeug auf dem Desktop. VMware Workstation führte einst das Abspeichern verschiedener Zustände mit Snapshots per Klick ein. Brauchte eine solche Installation früher weniger als 100 MByte Festplattenplatz, fordert die aktuelle Ausgabe ein Mehrfaches. Die Management-Oberfläche verbraucht daher bei vielen Rechnern bereits die Hälfte der Ressourcen des Systems, auf dem sie läuft. Mit Parallels Workstation steht noch eine kommerzielle Variante zur Verfügung, die für 50 Dollar ebenfalls den Komfort einer Desktop-Anwendung bietet [18].
Auswahl auf dem Desktop
Qumranet bietet mit Solid ICE ein auf KVM fußendes kommerziellen Produkt an, das die Verwaltung virtueller Desktops auf zentralen, ausfallsicheren Servern erleichtern will. Das Unternehmen ist im Beteiligungsportfolio von Venturekapital-Geber Sequoia Capital gelistet [19]. Pakete für die freie Version von KVM gibt es in Debian Testing, Fedora, aber nicht in Open Suse.
Schließlich lässt sich auch mit Xen der Desktop virtualisieren, wenn auch aus Benutzersicht relativ umständlich. Nutzt der Anwender Xen auf Workstations oder Notebooks, muss er dazu auf Funktionen wie ACPI und Suspend to RAM oder Disk verzichten.
Hosting-Farmen
Oft benötigen Anwender gar keine Simulation eines kompletten Rechners mit jeweils individuellem Kernel pro Gast. Wer lediglich viele Webangebote voneinander trennen will, dem reicht ein Kernel, den sich die Gäste teilen. Die Virtualisierungslösungen auf Betriebssystemebene wie OpenVZ, Virtuozzo und Vserver arbeiten so. So erzielen die Benutzer eine erstaunlich hohe Anwendungsdichte auf normaler Hardware bei geringem Overhead.
Das kommerzielle Virtuozzo nutzen etlichen Hosting-Anbieter, um vielen Kunden Zugriff auf virtuelle Konsolen zu gewähren, die ihre Systeme dann selbst verwalten. Unternehmen setzen die leichtgewichtige Virtualisierungslösung gerne als vielseitiges Hilfsmittel ein. Arvato Mobile zum Beispiel, ein Anbieter für mobilen Content und zugehörige Verwaltungssysteme nutzt Virtuozzo auf vielen seiner unternehmenskritischen Linux- und Windows-Systeme [20].
SWsoft, das Unternehmen hinter OpenVZ und Virtuozzo, hatte Anfang 2007 zuerst die Kontrolle bei dem Anbieter für Desktop-Virtualisierungen Parallels übernommen – jetzt sogar den Namen. OpenVZ gibt es bei allen Distributoren. Debian liefert sowohl für OpenVZ wie auch für Vserver einen Kernel, bei dem auch Xen-Gastsysteme mit Unterstützung für Vserver möglich sind [21].

Abbildung 2: Xen gilt als unspektakuläres, aber leistungsfähiges Arbeitstier. In der Domain 0 laufen mehrere Gäste, das mächtige Kommandozeilenwerkzeug heißt »xm«.
Ferne Welten
Will ein Entwickler fremde Prozessorarchitekturen emulieren, nutzt er Qemu, möchte er einen experimentellen Kernel testen oder gar Fehler an der Hardware simulieren, stehen etwa mit UML [22] und Faumachine [23] dafür Speziallösungen bereit. Für Experimentierfreudige bietet sich KVM an, das vielleicht den schnellsten Aufstieg hinsichtlich seiner Kernelunterstützung gemacht hat. Das Projekt schickt sich an, künftig in der Liga der Vollvirtualisierungen mitzuspielen.
Lguest [24] ziehen viele Entwickler bereits zum Testen ihrer Kernel heran, weil es besonders schlank ist (siehe Kasten “Virtualisierung im Linux-Kernel”). Gerade die Kernelentwickler liefern zu KVM, Qemu, Lguest oder UML immer wieder technische Anregungen und bringen Neuerungen ein.
|
Virtualisierung im |
|---|
|
Den Linux-Kernel als Ersatz für einen proprietären Hypervisor einzusetzen ist vorteilhaft. Schließlich kann der Kernel – sofern er entsprechend modifiziert ist – den Gastsystemen die Hardware dank vorhandener Treiber relativ leicht zur Verfügung stellen. Modifikationen am Kernel sind aber auch notwendig, wenn Linux selbst als Gastsystem laufen soll und die CPU keine Virtualisierung unterstützt. Gemäß dem Darwin\’schen Prinzip “Der Stärkere setzt sich durch” hat Chefentwickler Torvalds gleich mehreren Lösungen einen Platz in den Kernelquellen zugewiesen, und zwar als Gastgeber ebenso wie als Gast. Guter GastgeberUm den Standardkernel als Hypervisor zu betreiben, konkurrieren KVM und Lguest im Linux-Innersten um die Gunst der Gastsysteme. KVM nutzt als Erweiterung des Linux-Kernels (ab 2.6.20) die Hardware-Unterstützung moderner AMD- und Intel-Prozessoren (Intel-VT und AMD-V) und virtualisiert damit beliebige Gastsysteme. Für modifizierte Gäste (Paravirtualisierung) steht mit »lguest« ein schlankes Kernelmodul bereit, das aus der Feder des Kernelentwicklers Rusty Russell stammt. Es ist überschaubare 5000 Zeilen lang und erfreut sich bei Entwicklern wachsender Beliebtheit. Lguest erfordert keine Prozessor-Erweiterungen für Hardware-Virtualisierung. Nach der Devise “Aus zwei mach\’ einsË möchte Rusty Russell KVM und Lguest vereinen. KVM-lite soll dann sowohl Paravirtualisierung als auch Hardware-unterstützte Virtualisierung beherrschen. Die Chancen, den Code demnächst im Standardkernel zu sehen, stehen gut. So wie KVM-lite wartet auch der Hypervisor von Xen auf die Aufnahme durch Linus Torvalds in den Standardkernel. Da es jedoch zu KVM eine Erweiterung gibt, mit der es für Xen modifizierte Gastsysteme ablaufen lässt, ist die Aufnahme des Code in den Standardkernel nicht in Sichtweite. Immerhin haben es die Entwickler endlich geschafft, einige für die Xen-Paravirtualisierung nötige Dinge im Hauptzweig des Linux-Kernels unterzubringen. Zum Zeitpunkt der Drucklegung lassen sich aber Hostsysteme, die so genannte Domain 0, mit diesem Kernel noch nicht betreiben, sondern erfordern Patches. Gäste müssen arbeitenDamit der Standardkernel ohne Neukompilierung auch als Gastsystem verwendbar bleibt, greift die CPU auf die für die Virtualisierung kritischen Funktionen (zum Beispiel »irq_enable« oder »irq_disable«) nur über Funktionspointer zu. Diese Zeiger finden sich in der globalen Datenstruktur »paravirt_ops«. Beim Start des Kernels zeigen sie auf die in nicht virtualisierten Systemen eingesetzte Implementierung der zugehörigen Routine. Wird der Kernel aber unter der Ägide eines Hypervisors aktiviert, modifiziert der Gastgeber die Elemente der Datenstruktur und lenkt die Aufrufe auf die virtuellen Pendants um. Nutznießer dieser Technologie sind bereits VMware mit dem VMI getauften Interface und Xen. Für beide Virtualisierungslösungen finden sich im Kernel 2.6.23 Codesequenzen, die den performanten Betrieb der Gäste ermöglichen. |
Echte Vielfalt
Eine Konsolidierung mit dem Ziel einer universell einsetzbaren Virtualisierungslösung zeichnet sich noch nicht ab. Die Anzahl der Anbieter und Projekte ist in den vergangenen Monaten eher gestiegen, doch nicht alle Optionen eignen sich für jeden Anwendungsfall. Der Anwender benötigt also eine klare Vorstellung, welchen Anforderungen seine Virtualisierung genügen soll. (mg)
|
Der Autor |
|---|
|
Henning Sprang ist IT-Architekt mit den Schwerpunkten Virtualisierung und automatische Installation bei der Silpion IT Solutions GmbH und trägt aktiv zur Entwicklung von FAI bei. |






