Server-Virtualisierung der anderen Art

04.06.2008
Von 
Dipl. Inform. Johann Baumeister blickt auf über 25 Jahre Erfahrung im Bereich Softwareentwicklung sowie Rollout und Management von Softwaresystemen zurück und ist als Autor für zahlreiche IT-Publikationen tätig. Sie erreichen ihn unter jb@JB4IT.de
Die Virtualisierungslösung "Virtuozzo Containers 4.0" von Parallels emuliert Server für die Betriebssysteme Windows und Linux. Von Konkurenzprodukten unterscheidet sie sich gravierend.

Parallels positioniert Virtuozzo Containers als Werkzeug zur Virtualisierung sowohl von Servern als auch von Desktops - ein komplett anderer Ansatz, als ihn die Konkurrenz verfolgt. Parallels Virtuozzo Containers, im Folgenden vereinfacht als Virtuozzo bezeichnet, hat architektonische Gemeinsamkeiten mit beiden Segmenten der Virtualisierung. Ebenso verhält es sich mit dem Einsatzzweck von Virtuozzo.

Basis ist das Host-OS

Virtuozzo basiert wie der VMware Server oder der Virtual Server von Microsoft auf einem Host-Betriebssystem. Dieses kann der Windows Server 2003 oder ein Linux-Derivat sein. Ferner greifen die Gastsysteme direkt auf den Code des Host-Systems zu und verwenden ihn mit. In dieser Hinsicht ist Virtuozzo vergleichbar mit den Paravirtualisierungskonzepten, wie sie früher auch in Xen verwendet wurden. Nach oben, damit ist der Konsument der virtuellen Umgebungen gemeint, stellt Virtuozzo Laufzeitumgebungen für diese Betriebssysteme bereit. Wird also Windows Server 2003 eingesetzt, dann auch für die Gäste, Analoges gilt für Linux. Gemischte Umgebungen, wie sie etwa bei VMware ESX-Server, dem Virtual Server von Microsoft oder Citrix Xenserver anzutreffen sind, unterstützt Virtuozzo nicht. Die Gäste nutzen stattdessen das Host-Betriebssystem mit.

Extrem schlanke Gäste

Dies hat aber nicht nur Nachteile. Aufgrund des Code-Re-Use sind die Gäste extrem schlank. Statt ein vollständiges Gast-Betriebssystem in den Arbeitsspeicher zu legen, begnügt sich Virtuozzo mit den Besonderheiten des Gastes und legt nur die Teile ab, in denen sich der Gast vom Basissystem unterscheidet. Dazu zählen alle laufzeitspezifischen Dinge wie die Prozesslisten, die Konfigurationen der Benutzer sowie spezielle Patches oder Applikationen. Sie alle werden im Container, so nennt Virtuozzo die virtuellen Maschinen, abgelegt. Der Speicherbedarf eines Containers ist damit im Vergleich zum vollständigen Betriebssystem sehr gering. Dies ermöglicht eine Vielzahl an Gästen auf einem Host, zumindest aus Speichersicht. Der Engpass bei Virtuozzo liegt folglich nicht im Arbeitsspeicher, sondern in der CPU- oder I/O-Leistung.

Der Virtuozzo-Testaufbau

Für den hier vorliegenden computerwoche-Test wurde die Windows-Version von Parallels Virtuozzo Containers 4.0 verwendet. Als Hardware diente ein Rechnersystem mit 2 GB Arbeitsspeicher. Dies reicht hinsichtlich der genannten Eigenschaften des Produkts in Sachen Container-Größen in den meisten Fällen aus. Da Virtuozzo auf dem Host-Betriebssystem aufsetzt, gibt es keine solchen strengen Vorgaben, wie sie etwa der ESX-Server von VMware macht, der nur mit spezieller zertifizierter Hardware zurechtkommt. Für den Testaufbau einer Virtuozzo-Umgebung wird neben der Hardware nur die Software von Virtuozzo gebraucht. Sie lässt sich von der Website des Anbieters SWsoft (www.swsoft.com) laden. Benötigt wird ferner ein Lizenzschlüssel für die Testversion des Produkts. Die Installation der Software ist eine Sache von wenigen Minuten.

Die Verwaltungskonsolen

Zu Verwaltung seines Servers bietet Parallels drei unterschiedliche Management-Konsolen an: die Windows-basierende Parallels Management Console (PMC), den Parallels Infrastructure Manager (PIM) und das Power Panel. Die PMC löst die frühere Virtuozzo Management Console ab. Es handelt sich um eine Windows-Applikationen, die folglich vor der Nutzung auf einem dedizierten Rechner installiert sein muss. Zum Umfang der PMC gehören die vollständige Verwaltung des physischen Hosts, die Erstellung und Verwaltung der Container und andere Management-Aspekte. Über die PMC lassen sich auch mehrere Hosts parallel verwalten.

Browser-Tool gehört die Zukunft

Der PIM verzichtet auf die Windows-Elemente und erlaubt die Verwaltung über einen Browser. Der Infrastructure Manager ist im Vergleich zur Management-Konsole das neuere Tool und soll die PMC künftig ablösen. Er bietet die größere Funktionsfülle, so etwa eine flexible Strukturierung der Container, die Gruppierung der Ressourcen oder die Verwendung von Administrationsrollen.

Das Power Panel schließlich dient der Verwaltung eines einzelnen Containers. Es ist für den Eigentümer des Containers gedacht. Um den Virtuozzo-Server mit all seinen Einstellungen zu administrieren, muss aber entweder die PMC oder der PIM benutzt werden. Beide können auch verwendet werden, um einen neuen Server mit Virtuozzo in Betrieb zu nehmen, der Aufbau ist in den Kernelementen ähnlich, wenngleich grafisch anders umgesetzt. Die Werkzeuge stellen Verwaltungsmasken für die Virtuozzo-Objekte bereit. Dies sind unter anderem die Objekte für die Server, die Überwachungsmonitore, Services, Log-Daten, Templates, Backups, Scheduled Tasks, Container Samples und Virtuozzo Container.

Vorlagen für Container

Eine Besonderheit von Virtuozzo liegt in der Generierung der Container. Virtuozzo arbeitet hier intensiv mit Vorlagen. So werden Container Samples bereitgestellt, über die sich die Leistungsparameter einer virtuellen Maschine definieren lassen, ähnlich wie die Hardware für physische Systeme. Hier wird beispielsweise bestimmt, welchen Speicherausbau oder wie viele Netzwerkkarten der Container erhalten soll. Um die Erstellung eines Laufzeit-Containers zu vereinfachen, hat der Hersteller mehrere Beispiele bereitgelegt.

In den Samples liegen vorbereitete Container für virtuelle Maschine etwa mit Windows inklusive der Desktop-Engine von SQL Server, mit einer Oracle-Laufzeitumgebung oder mit Sharepoint Server. Wenn keiner der Container passt, lassen sich eigene mittels der Option "Create Container" zusammenstellen.

Die zweite Gruppe an Vorlagen sind die OS-Templates (Betriebssystem-Templates). Hierbei wird, da Virtuozzo derzeit nur Windows Server 2003 und Linux unterstützt, nach diesen Varianten unterschieden. Durch die gemeinsame Verwendung des Host-Betriebssystems für alle Container können derzeit also keine unterschiedlichen OS-Templates auf einem Host verwendet werden. Die parallele Verwendung beispielsweise eines Windows Server 2003 mit SP2 und einer zweiten Instanz mit SP1 ist nicht möglich. Gleiches gilt etwa für unterschiedliche Sprachvarianten.

Die dritte Gruppe schließlich bilden die Applikations-Templates. In den Application Templates liegen die Anwendungssysteme. Ihr Aufbau obliegt dem Benutzer. Hier lassen sich alle weiteren, auch unternehmensspezifischen Softwaremodule platzieren. Dies können auch vollständige Anwendungssysteme sein. Ein Applikations-Template kann mehrere Applikationen umfassen. Basismodule, wie etwa die Anbindung an Datenbanken, lassen sich hier ebenfalls wiederfinden. Ferner können im Zielsystem mehrere Applikations-Templates kombiniert sein, sofern sie sich untereinander vertragen. Der Aufbau und die Nutzung eines Applikations-Templates geben natürlich nur dann Sinn, wenn diese Umgebung auch mehrfach benötigt wird, denn das ist letztlich der Beweggrund für die Templates.

Die Abgrenzung von Betriebssystem und Applikation wird somit größtenteils durch Parallels vorgegeben. Die OS-Templates werden von Parallels bezogen und können nicht wahlfrei eingerichtet werden. Die Applikations-Templates allerdings liegen unter der Kontrolle der Unternehmen.

Schnelle Container-Erstellung

Um eine lauffähige virtuelle Maschine, also einen Virtuozzo Container, zu erzeugen, kombiniert man jeweils die drei Vorlagen (Container, Betriebssystem und Applikation) zu einem Verbund. Zur Erzeugung des Containers hat Parallels einen Assistenten bereitgestellt. Dieser benötigt Angaben zum Namen des Containers, zur Container-ID, zum Host-Namen und Passwort für den Administrator-Account sowie zur Container-Vorlage. Solche Angaben sind dem Virtualisierungs-Fachmann sicher vertraut. Der Assistent ist damit auch schnell durchlaufen. Im Test wurde innerhalb weniger Minuten ein Container mit einem Windows-Server-Betriebssystem erzeugt. Daneben bietet Virtuozzo auch die Möglichkeit, mehrere ähnliche Container in einem Durchlauf zu erstellen. Die jeweils unterschiedlichen spezifischen Angaben wie etwa Namen und IP-Adressen lassen sich vom Assistenten automatisch zuweisen.

Der benötigte Container-Speicher ist im Vergleich zur vollständigen Server-Virtualisierung sehr klein. Ein durchschnittlicher Windows Server 2003 benötigt zirka 50 MB. Daher können auf einem physischen Host auch viele parallele Container betrieben werden. Allerdings sollte man bedenken: Auch wenn es aus Sicht der Speichernutzung möglich ist, auf einem physischen Host Hunderte Betriebssysteme parallel auszuführen, gibt es in der Praxis dann meist andere Probleme. Der Engpass von Virtuozzo Containers liegt in der CPU-Nutzung und der I/O-Bandbreite. Beim typischen Web-Hosting, also den Wurzeln von Parallels, bei dem vielleicht nur sehr wenige Zugriffe auf die gehosteten Web-Seiten erfolgen, mag dies sinnvoll sein. Durch die gemeinsame Verwendung des Host-Betriebssystems für alle Container werden diese recht klein. In den Containern selbst liegen ja nur die spezifischen Teile. Diese kommen entweder bereits aus den Applikations-Templates oder werden zusätzlich in dieser Umgebung eingerichtet.

Durch die Kombination der vier Einheiten - Container-Templates, OS-Templates, Application-Templates und die im Container eingerichteten Softwaremodule oder veränderten Konfigurationen - ist eine flexible Ausgestaltung möglich. Je größer allerdings die Vielfalt der Laufzeit-Container ist, umso geringer wird der Nutzen durch die gemeinsame Verwendung von Basissystemen.

Die Verwaltung eines spezifischen Containers wird in Virtuozzo den jeweiligen Benutzern übertragen. Durch das Power Panel erhält er Zugriff auf seinen Container. Hier finden sich die Einstellungen und Überwachungshilfen für den entsprechenden Container wieder. Dazu gehören auch mehrere Monitore wie etwa für alle relevanten Rechnerparameter, die Auslastung der CPU, des Arbeitsspeichers oder der Netzwerkanschlüsse. (ue)

Fazit

Virtuozzo stellt im Vergleich zur vollständigen Server-Virtualisierung à la VMware ESX-Server oder Citrix Xenserver ein völlig anderes Virtualisierungsverfahren bereit. Punkten kann Virtuozzo vor allem in relativ homogenen Umgebungen. Je höher der Bedarf an vielen ähnlichen Systemkonfigurationen ist, umso besser kann das Produkt seine Vorteile ausspielen. Hier ist es durchaus eine Alternative zu den bekannten Server-Virtualisierern. Mischkonfigurationen wie etwa aus Linux und Windows sind in Virtuozzo aber nicht möglich. Im Test erwies sich die Windows-Version als zuverlässig und schnell.

Pro und Kontra

- Sehr schnelle Erstellung der Container;

- geringer Speicherbedarf der Container ermöglicht viele Container auf einem Host;

- gute Verwaltungskonsole;

- eigene Verwaltung des Containers durch den Container-Eigentümer.

- Unterschiedliche Betriebssysteme auf einem Host sind nicht möglich;

- eine große Container-Vielfalt macht die Vorteile der Templates zunichte.

Mehr zum Thema

www.computerwoche.de/

1863367: Hyper-V ist ernsthafter Gegner für VMware;

1861244: Xen macht kräftige Fortschritte;

1861052: Virtualisierung krempelt Desktop-Computing um.