Die Leistungsverluste durch Vollvirtualisierung werden oft unterschätzt. Containervirtualisierung hingegen vermeidet sie und geht mit Ressourcen sparsam um. ZDNet zeigt, wie sich Virtuozzo Containers 4.0 in der Praxis verhält.
Container-Virtualisierung[1] ist eine Virtualisierungsform, bei der im Gegensatz zur Voll-[2] und Paravirtualisierung[3] kein kompletter Rechner emuliert wird. Erzeugt werden lediglich mehrere virtuelle Instanzen des Hostbetriebssystems. Auf einem Rechner laufen daher immer nur mehrere virtuelle Container eines einzigen Betriebssystems. Sie entsprechen den virtuellen Maschinen der Voll- und Paravirtualisierung.
Parallels Virtuozzo Containers 4.0[4] ist die einzig verfügbare Containervirtualisierung für Windows. Im UNIX-Bereich gibt es eine Reihe von Lösungen. OpenSolaris[5] und FreeBSD[6] haben entsprechende Lösungen gleich eingebaut. Für Linux gibt es neben VServer[7] auch die von Parallels unterstützte Open-Source-Entwicklung openVZ[8], auf der die kommerzielle Variante Virtuozzo basiert.
Die Container sind von virtuellen Maschinen kaum zu unterscheiden. Entscheidender Vorteil ist, dass ein Container sehr wenig Ressourcen verbraucht. Typischerweise liegt der Verbrauch pro Container im zweistelligen Megabyte-Bereich für Hauptspeicher und Plattenplatz. Darüberhinaus treten so gut wie keine Performanceverluste beim I/O auf. Festplatten und Netzwerk arbeiten mit der gleichen Geschwindigkeit wie bei einer nativen Installation.
Demgegenüber steht der Nachteil, dass Betriebssysteme auf einem physikalischen Host nicht gemischt werden können. Für Windows bedeutet dies, dass alle Container dieselbe Windows-Version mit identischem Service Pack verwenden müssen.
Unter Linux geht es nicht so restriktiv zu. Jede Distribution, die auf dem Linux-Kernel 2.6[9] basiert, kann in den Containern genutzt werden. Unter Linux wird auf der Host-Maschine ein von Parallels[10] (vormals Swsoft) modifizierter Kernel installiert. Auf ihm setzen alle Container auf. Dieses Vorgehen ist bei Windows schon aus lizenzrechtlichen Gründen nicht möglich. Doch auch die technischen Gründe sprechen dagegen. Die Kernel- und User-Mode-Komponenten von Windows interagieren viel zu versionsspezifisch.
Hardwareseitig unterstützt Virtuozzo Containers 4.0 sowohl unter Windows als auch Linux Prozessoren mit den Architekturen x86, x64 und Itanium. Damit ist es weniger wählerisch als beispielsweise VMware-ESX-Server: Es verlangt keine speziell zertifizierte Hardware.
Virtuozzo Containers liegt seit wenigen Wochen in der Version 4.0 vor. Zu den Neuerungen zählen Vereinfachungen im Setup und der Konfiguration, erweiterte Möglichkeiten der Ressourcenverteilung durch Device-Sharing, ein verbessertes Dateisystem, Optimierungen beim Festplattenzugriff, Unterstützung von Clustern und Live-Migration laufender Container auf andere physikalische Hosts. Letzteres kann man auch ohne die Verwendung von Shared-Storage, etwa NAS oder SAN, realisieren.Zusammen mit dem neuen Release liefert Parallels drei Managementkonsolen. Sie wurden gegenüber den bestehenden Verwaltungskonsolen erweitert oder gar vollständig neu implementiert. Die Verwaltung ist sehr gut durchdacht. Hier zeigt sich, dass Virtuozzo von den Machern von Plesk[11] kommt, dem unangefochtenen Marktführer bei Webhosting-Verwaltungssoftware.
Die Parallels Management Console (PMC), siehe Bild 1[12], wurde früher als Virtuozzo Management Console bezeichnet. Die PMC ist eine Windows-Applikationen die vorher explizit installiert werden muss. Sie ermöglicht die Verwaltung des physischen Hosts, die Erstellung von Containern und ähnliche Aufgaben. Die PMC kann mehrere Hosts parallel verwalten.
Das zweite Verwaltungswerkzeug wird als Parallels Infrastructure Manager (PIM) bezeichnet, siehe Bild 2[14]. Der PIM löst das Virtuozzo Control Center ab. PIM ist ein webbasiertes Tool. Auch der PIM dient in erster Linie der Verwaltung des Servers mit all seinen Konfigurationseinstellungen. PIM enthält alle Funktionen der PMC. Darüber hinaus kommen ermöglicht der PIM eine flexible Strukturierung der Container, verwendet Administrationsrollen samt Benutzerberechtigungen und erlaubt eine Gruppierung der Ressourcen. Die PMC gehört zum Basisumfang von Virtuozzo, der PIM muss hingegen separat lizenziert werden.
Das dritte Tool ist das Power Panel. Es dient der Verwaltung eines Containers. Somit wird die Möglichkeit geschaffen, die Verwaltung von einzelnen Containern abzugeben. Ein virtueller Host wird von seinem Besitzer verwaltet. Die Entscheidung, wie viele Ressourcen ein Container bekommt, liegt dagegen beim Systemverwalter.ZDNet testet Virtuozzo Containers in der Windows-Version. Das Setup des Produktes geschieht in zwei Stufen. Zum einen ist der physikalische Server einzurichten, zum anderen die PMC. Die beiden Komponenten können auf getrennten Geräten installiert werden. Dies ermöglicht eine Fernverwaltung. Das Serversystem verlangt als Unterbau einen Rechner mit Windows Server 2003. Windows Server 2008 wird noch nicht unterstützt.
Die zentrale Verwaltungskonsole läuft unter Windows oder Linux. Anschließend kann man die Management-Konsole starten. Sie präsentiert sich in einem modernen Design. Im linken Fenster findet sich eine Objekthierarchie mit den Einträgen für Server, Monitore, Services, Log-Daten, Templates, Backups, Scheduled Tasks, Container Samples und Virtuozzo Container.
Generell gilt, dass nahezu alle Operationen über das Kontextmenü zu wählen sind. In der Menüzeile der Managementkonsole hingegen finden sich nur wenige Optionen. Ist die Verbindung mit dem Server hergestellt, so lassen sich dessen wichtigste Einstellungen unter dem Eintrag des Servers abrufen. Hier finden sich die Informationen zum Hostbetriebssystem, der Version von Virtuozzo, der Prozessorarchitektur und -anzahl und die Verwendung des Arbeitsspeichers.
Im ZDNet-Test wird ein physikalischer Host mit 1 GByte RAM verwendet. Virtuozzo meldet, dass von diesem Gigabyte 573 MByte verwendet und noch 449 MByte frei sind. Diese Werte werden zu einem Zeitpunkt abgelesen, als bereits ein Virtual Server erzeugt ist und läuft. Nach dem Stopp des Containers steigt der Wert des freien Speichers auf 497 MByte. Damit belegt der Container nur 48 MByte. Im Gegensatz zur Vollvirtualisierung benötigt Virtuozzo für einen Container nur einen Bruchteil des Speichers, den eine virtuelle Maschine erfordert.
So ist es nicht weiter verwunderlich, dass Parallels auf Standardhardware mit 4 GByte RAM in der Lage ist, hunderte von Containern zu erzeugen, ohne an Grenzen zu stoßen. Hier muss man für die Praxis allerdings Einschränkungen geltend machen. Container ohne Funktion sind im IT-Betrieb wenig sinnvoll. Sobald Applikationen gestartet werden, beispielsweise Exchange oder SQL-Server, steigt der Speicherbedarf stark an. Geht man jedoch von 400 gesparten MByte pro Gastsystem aus, so lässt sich mit Virtuozzo in einer Installation mit vier Gastsystemen über 1,5 GByte Speicher einsparen im Vergleich zu einer Vollvirtualisierung.Bevor man sich nun an die Erzeugung eigener Container macht, sollte man noch einen Blick auf die Rubrik Container Samples werfen. Hier finden sich vorbereitete Beispielcontainer, die Parallels bereits konfiguriert und bereitgestellt hat:
- Basic: für einen Standard-Container
- MSDE: für eine Installation mit der SQL Server Desktop Engine
- Oracle: ein Container, der für Oracle vorbereitet ist
- Plesk: für das Hosting-Verwaltungstool Plesk
- SharePoint: für den Betrieb von Sharepoint
Um einen lauffähigen Container zu erzeugen, muss ihm ein OS-Template zugewiesen werden. Unter Windows kann das nur Windows Server 2003 sein, siehe Bild 3[15]. Die applikationsspezifischen Templates sind optional. Eigene Applikationstemplates lassen sich leicht erstellen. Typische Beispiele sind Exchange Server, Systemcenter oder andere Serverapplikationen. Man kann verschiedene Applikationstemplates kombinieren. Um einen Container zu erzeugen, der die MSDE und Exchange enthält, wählt man einfach beide Templates aus.
Ebenso ist es möglich, zunächst einen Basis-Container zu erstellen und danach die Anwendungen im laufenden Container zu installieren. Vorteil der Templates ist allerdings, dass die Programmdateien nur ein einziges Mal physikalisch im Filesystem vorhanden sind.
Nach dem Durchlauf des Assistenten erzeugt Virtuozzo den Container innerhalb weniger Sekunden und startet ihn. Ein neuer virtueller Container ist betriebsbereit. Virtuozzo bietet aber auch die Möglichkeit, gleich mehrere Container in einem Durchlauf zu erzeugen. Im Test werden zehn Container generiert. Die Zuweisung der Namen kann man automatisieren. Auch dieser Vorgang ist in kürzester Zeit abgeschlossen.
Um einen Container zu bedienen, muss man sich per Remote-Desktop-Session einloggen. Containervirtualisierung setzt immer voraus, dass das Gastbetriebssystem über einen Fernsteuerungsmechanismus verfügt. Ferner steht mit dem Parallels Power Panel ein Verwaltungsinterface bereit. Die Überwachung von Virtuozzo und der Container sind unter der Rubrik Monitor integriert. Hier findet sich ein Überwachungsmonitor für alle relevanten Rechnerparameter, etwa für die Auslastung der CPU, des Arbeitsspeichers und des Pagefiles sowie für die Netzwerkanschlüsse und die Prozessparameter.Besteht Bedarf an mehreren virtuellen Hosts mit identischem Betriebssystem, so ist Containervirtualisierung eine Lösung, die heute bezüglich Performance und Ressourcenverbrauch einer Vollvirtualisierung weit überlegen ist. Ein Container emuliert einen eigenen Computer genauso gut wie eine virtuelle Maschine. Auch die Möglichkeit der Änderung von Plattenplatz und Hauptspeichergröße eines Containers im laufenden Betrieb darf nicht unterschätzt werden.
Unter Windows müssen allerdings einige Dinge bedacht werden. Alle Container müssen dasselbe Service Pack besitzen. Was am Anfang gut funktioniert, bereitet später möglicherweise Probleme. Wenn man eine Applikation in einem Container auf eine neuere Version updatet, so kann sie ein höheres Service Pack erfordern. Sollten in anderen Containern Applikationen laufen, die für dieses Service Pack nicht freigegeben sind, so muss man die Container auf getrennte physikalische Hosts verschieben.
Virtuozzo ist sehr stark bei Hostern vertreten. Mittlerweile haben viele Unternehmen die Vorteile der Containervirtualisierung erkannt. Der geringere Bedarf an Ressourcen führt letztendlich zu einer besseren Umsetzung einer Green-IT-Strategie.
Genau hier setzt die neue Version 4.0 an. Die Verbesserungen bringen hauptsächlich für den Betrieb im Intranet Vorteile. Eine Cluster-Unterstützung ist für viele Unternehmen unverzichtbar. Die Möglichkeit der Live-Migration erhöht die Flexibilität.
Etwas vorsichtig muss man die Möglichkeit betrachten, eine Live-Migration auch ohne Shared-Storage durchführen zu können. Durch die Notwendigkeit, den virtuellen Plattenplatz physikalisch auf eine andere Maschine zu bringen, können die Netzwerkverbindungen zu den Clients mit einem Time-Out beendet werden, wenn dies zu lange dauert. Denkbar ist jedoch eine Konfiguration mit relativ kleiner lokaler Platte zum Booten und die Nutzung von SAN oder NAS für die Dateien der Server-Applikationen. Eine derartiges Szenario kann mit VMware nicht live migriert werden.
URLs in diesem Artikel:[1] = http:/
[2] = http:/
[3] = http:/
[4] = http:/
[5] = http:/
[6] = http:/
[7] = http:/
[8] = http:/
[9] = http:/
[10] = http:/
[11] = http:/
[12] = http:/
[13] = http:/
[14] = http:/
[15] = http:/