Virtualisierungssoftware:
Vergleichstest: Vier Programme für die Systemvirtualisierung

von Andreas Stolzenberger (ast@nwc.de), bre

15.05.2009

Container kommen mit weniger Ressourcen aus und können gerade in homogenen Server-Landschaften virtuelle Maschinen ersetzen. Network Computing hat vier Produkte auf Herz und Nieren getestet: Solaris Zones, Openvz sowie zwei Versionen von Virtuozzo-Container.

Vollvirtualisierer wie Vmwares [1] Workstation machen dem Anwender den Einstieg in die Welt der Virtualisierung leicht. Es genügt, ein Softwarepaket per Setup-Programm einzurichten, und schon lassen sich viele kleine Maschinen erstellen, die von einer nahezu beliebigen System-CD booten.

Ganz so einfach lässt sich die Systemvirtualisierung nicht in Gang setzen. Die Installation muss hier zuerst Modifikationen am Systemkern vornehmen, um diesen für den Containerbetrieb vorzubereiten. Dazu gibt es dann Verwaltungstools, ein virtuelles Dateisystem und Vorlagen für Container.

Open-Source-Lösung »Openvz« von Parallels

Als erstes Produkt nimmt Network Computing das quelloffene Openvz [2] unter die Lupe. Diese Software enthält viele Funktionen des kommerziellen Bruders Virtuozzo. Die Open-Source-Codebasis von Openvz betreut daher auch die Firma Parallels [3].

Openvz funktioniert mit allen gängigen Linux-Distributionen und unterstützt dabei nicht nur Intel-Plattformen. Die Software arbeitet auch auf Ultrasparc- oder Power-PC-Varianten von Linux. Network Computing hat vor kurzem auf Network-Computing-Online einen kleinen Workshop zum Thema Openvz unter Ubuntu 8.04 veröffentlicht (siehe Artikel [4]).

Etliche Redhat [5]-Anwender hatten sich daraufhin bei der Redaktion gemeldet und wollten wissen, wie das Ganze auf ihrer Distribution arbeitet. Daher setzt das Laborteam für den Test Openvz noch einmal auf einem Server mit dem freien Redhat-Enterprise-Clone CentOS in der Version 5.2 auf.

Hardware-Basis

Für den Openvz-Test kramte das Laborteam einen bereits in die Jahre gekommenen Intel-OEM-Server aus der Ecke hervor. Der 1-HE-Rechner arbeitet mit zwei 2,8-GHz-Xeon-CPUs (Netburst) und 2 GByte RAM. Als Laufwerk genügt für das System eine 160-GByte-P-ATA-Platte. Die Container bekommen später ein iSCSI-SAN-Laufwerk zugeordnet.

Der Server erhält zunächst die aktuelle CentOS-Version 5.2. Einen besonderen Kernel muss der Administrator nicht aussuchen, dieser wird später ohnehin durch den Openvz-Kernel ersetzt. Nach der Grundinstallation spielt das Test-Team mit »yum update« zuerst einmal alle nötigen Updates ein.

Tipps für die Installation von Openvz

Bei der Installation von Openvz hält sich das Laborteam weitestgehend an das sehr übersichtliche How-to-Dokument [6]. Von der Openvz-Site lädt der Systemverwalter die yum-Repository-Erweiterung und den GPG-Schlüssel:

cd /etc/yum.repos.d

wget http://download.openvz.org/openvz.repo [7]

rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ [8]

Der Paketmanager yum erhält dadurch Zugriff, auf die vom Openvz bereit gestellten Kernel. Eine Liste erhält der Anwender über:

yum search ovzkernel

Für die simple x86-Labormaschine genügt der reguläre x86-Kernel, zusammen mit den vz-Tools:

yum install ovzkernel vzctl vzquota

Die Installation fügt den Openvz-Kernel an die erste Stelle im Menü des Boot-Loaders Grub. Vor dem Neustart sollte der Verwalter noch einige Änderungen in der /etc/sysctl.conf vornehmen, damit es keine Probleme mit den virtuellen LAN-Adaptern gibt (siehe How-to).

Nach einem Neustart ist die Systemvirtualisierung fast startklar. Noch fehlen die Vorlagen aus welchen sich VEs mit verschiedenen Distributionen erstellen lassen. Diese liegen auf

http://download.openvz.org/template/precreated/ [9]

und lassen sich über den Browser oder wget herunterladen und in /vz/template/cache sichern.

Templates für CentOS und Ubuntu

Mit ein paar wenigen Kommandos lädt das Labor-Team die Templates von CentOS sowie Ubuntu 8.10 und erstellt zwei VEs.

vzctl create 1 --ostemplate centos-5-i386-default

vzctl create 2 --ostemplate ubuntu-8.10-x86

vzctl set 1 --hostname vz21.nwc.local --ipadd 10.11.8.21 --nameserver 10.11.2.1 –save

vzctl set 2 --hostname vz22.nwc.local --ipadd 10.11.8.22 --nameserver 10.11.2.1 –save

vzctl start 1

vzctl start 2

Das Root-Password lässt sich auf verschiedene Arten setzen:

vzctl exec 1 passwd

oder auch

vzctl enter 2

passwd

Anschließend kann sich der Verwalter an beiden VEs über SSH anmelden und in den VPS Dienste und Applikationen einrichten. Die installierten VEs listet das Tool:

vzlist –a

Templates für Ressourcen

Neben dem reinen OS-Template kann der Verwalter bei der VE-Erstellung auch noch Ressourcen-Templates angeben. Diese regeln unter anderem den »Fair Scheduler«. Unter normalen Umständen würden sich alle Tasks eines Systems die CPU-Zeit gleichmäßig teilen.

Eine VE mit mehreren Tasks wäre dabei im Vorteil gegenüber VEs mit wenigen Tasks. Fair-Share kümmert sich darum, dass die VEs gleichberechtigte CPU-Zeiten erhalten.

Die komplette Konfiguration einer VE landet in /etc/vz/conf/.conf. Dort liegen auch die Ressource-Templates wie »basic« und »light«.

Über vzmigrate kann der Verwalter einzelne Container von einem physischen Openvz-Host auf einen anderen verschieben. Diese Migration kann auch bei laufender VE erfolgen. Ein entsprechender Mechanismus friert die VE bei der Übertragung für kurze Zeit ein.

Fazit

Openvz lässt sich mit relativ wenigen Handgriffen einrichten und verwenden. Die Bedienung der VEs über die Kommandozeilen-Tools gestaltet sich recht einfach. Wer an den vielen kleinen Rädchen zur Ressource-Kontrolle drehen möchte, muss dies aber über aufwändige Kommandozeilen oder direkt in der conf-Datei erledigen. Zudem gibt es freie GUI-Tools wie »WebVZ«, welche den Umgang mit den Containern erleichtern.

Im Test arbeiten die VEs zuverlässig und mit guter Performance. Die Ressource-Belastung beschränkt sich dabei auf die aktiven Tasks der VEs. Openvz ist eine gute Lösung für erfahrene Linux-Administratoren, welche viele Dienste in voneinander abgeschotteten Umgebungen betreiben wollen. Die Container eigenen sich für Web-, Datenbank- aber auch Mail- und Groupware-Server.

Virtuozzo Containers für Linux

Die kommerzielle Variante von Openvz richtet Network Computing zum Einen auf einem 4-Wege-Opteron-846-System mit 6 GByte RAM und CentOS-5.2-64-Bit sowie auf einem simplen Pentium-4-PC mit 3 GByte RAM und CentOS-5.2-32-Bit ein.

Der Virtuozzo-Installer automatisiert, was der Administrator bei der Openvz-Einrichtung händisch erledigen muss. Zudem fragt die Software nach einer Lizenznummer und richtet eine Service-VE ein.

Dieses erste virtuelle System benötigt Virtuozzo für das Management via GUI. Im Test erweist sich der automatisierte Installer als recht anfällig. Kann er seine Schritte nicht exakt in der geplanten Reihenfolge durchführen, schlägt die Installation der Service-VE fehl.

Deren manuelle Nachinstallation erweist sich als schwierig, vor allem wenn der Administrator nach der Basis-Installation – wie vorgeschlagen – die aktuellen Updates einspielt. In den Test-Szenarien lässt sich die VE nur dann manuell anlegen, wenn die empfohlenen Updates noch fehlen.

Einschränkungen bei Betriebs- und Dateisystem

Auch bei der Auswahl des Datei- und Betriebssystems geht Virtuozzo sehr viel restriktiver ans Werk. Ein /vz-Verzeichnis mit xfs-Dateisystem duldet die Installation nicht, obwohl diese Konstellation mit Openvz funktioniert. Im Vergleich zur Open-Source-Variante setzt Virtuozzo ein wesentlich komplexeres Overlay-Dateisystem für die VEs ein.

Erstellt ein Openvz-Administrator einen Virtual-Private-Server (VPS), kopiert die Software die benötigten Dateien aus dem Template direkt in das /vz/private-Verzeichnis der jeweiligen VE. Virtuozzo hingegen nutzt sein Overlay-Dateisystem, um die Dateien aus dem Template zu verlinken anstatt sie zu kopieren. So spart Virtuozzo gegenüber Openvz Plattenplatz ein, was sich vor allem bei sehr vielen VEs bemerkbar macht.

Zu Virtuozzo gibt es einen eigenen Satz an OS-Templates. Die fallen im Vergleich zu den Openvz-Vorlagen sehr viel spartanischer aus. Während Openvz-Templates für CentOS den Paketmanager yum integrieren, fehlt dieses Programm in der Virtuozzo-Vorlage.

Liebling von ISPs

Parallels lässt den Paketmanager absichtlich außen vor. Zusätzliche Programme sollen nach Möglichkeit nicht direkt in einzelne VEs, sondern in Vorlagen installiert werden – wiederum deshalb, um über Verlinkung Plattenplatz zu sparen.

Hinzu kommt, das Virtuozzo häufig bei ISPs zum Einsatz kommt, welche VEs je nach Ausstattung abrechnen und daher eigene Templates mit vorkonfigurierten Feature-Sets offerieren (Wordpress-Blog, Forum et cetera).

Das Web-GUI wertet Virtuozzo spürbar auf. Alle Funktionen, für die der Administrator bei Openvz die Kommandozeile bemühen muss, lassen sich im GUI per Mausklick erledigen. Eine Umgebung mit mehreren Virtuozzo-Servern lässt sich zentral über ein GUI verwalten, selbst wenn es sich um eine gemischte Installation mit Windows- und Linux-Virtuozzo-Rechnern handelt.

Die Migration in der 32/64-Mischumgebung der Real-World-Labs Poing funktioniert zum Teil: 32-Bit-VEs lassen sich ohne Probleme vom physischen 32-Bit-System auf den 64-Bit-Rechner verschieben. Allerdings führt auch für die 32-bittigen VEs kein Weg zurück. In der Praxis genügt das, um bestehende 32-Bit-Systeme auf neue 64-Bit-Hosts mitzunehmen.

Fazit

Virtuozzo für Linux lässt sich einfacher handhaben als sein Open-Source-Pendant. Dafür zeigt sich Openvz flexibler und weniger penibel bei der Wahl der Plattformen und Dateisysteme. Die Openvz-Templates enthalten mehr Applikationen als bei Virtuozzo. Dafür fordern VEs der freien Systemvirtualisierung mehr Plattenplatz als die verlinkten Virtuozzo-Maschinen.

Für einen Internet-Service-Provider, der Hunderte oder Tausende virtueller Server mit möglichst wenigen Ressourcen hosten will, ist Virtuozzo die erste Wahl gegenüber Openvz. Für dieses spezielle Einsatzgebiet würde die Software die Note 5 von 5 und eine Referenz-Bewertung erhalten.

Aus Sicht eines regulären IT-Managers mit einer mittelgroßen IT-Installation, der bestenfalls Dutzende von VPS benötigt, ist jedoch die Open-Source-Lösung Openvz die bessere Wahl. Dabei geht es nicht einmal um die Kosten.

Die unabhängigeren VEs mit den umfangreicheren Templates eigenen sich besser für verschiedene Einsatzgebiete, wobei sich der Platzbedarf nach wie vor in Grenzen hält. Bei einer Konstellation, bei welcher der Verwalter die VEs sehr viel stärker als individuelle Server verwendet, steht das Verwaltungs-Tool auch nicht so im Vordergrund.

Virtuozzo Containers für Windows

Parallels teilt nicht nur Linux-Kernel. Die Windows-Version des Systemvirtualisierers erstellt viele Windows-2003-Container. Die Installation verläuft in gewohnter Windows-Manier: Installer anklicken, ein paar angeforderte Informationen eintippen, und der Rest geschieht von alleine. Nach dem Neustart muss der Administrator auch hier aufpassen, dass er die anstehenden Updates in der korrekten Reihenfolge einrichtet und zwischen Virtuozzo- und Windows-Updates auf jeden Fall neu startet. Sonst kann es zum Durcheinander kommen (Beschreibung siehe in diesem Beitrag [10]).

Für den Test installiert Network Computing die Software in zwei virtuellen Windows-2003-R2-Servern unter Vmware. Für die funktionalen Prüfungen reicht die Systemvirtualisierung innerhalb der Servervirtualisierung aus.

Auch die Windows-Variante von Virtuozzo setzt auf Applikations-Templates und Verlinkung. Verschiedene Betriebssystem-Templates gibt es auf der Microsoft-Plattform natürlich nicht. Der Hersteller offeriert Applikationsvorlagen, welche beispielsweise den Windows-2003-Server optisch wie Windows-XP aussehen lassen.

Mit diesen Modifikationen lassen sich die Container für die Client-Virtualisierung nutzen. Hier hat die Software großes Potenzial und einen klaren Vorteil gegenüber den Vollvirtualisierern. In einem Office-Umfeld sehen die Desktops der Anwender weitgehend gleich aus. Eine Konfiguration mit XP-Outfit und Standard-Office-Komponenten lässt sich einfach in einem Container-Template zusammenfassen, das der Verwalter dutzendfach ausrollt.

Geringe CPU-Belastung

Die CPU- und I/O-Belastung einzelner Office-PCs hält sich in Grenzen, so dass ein einzelner Container-Server mehr virtuelle Clients hosten kann als ein voll virtualisierter Host. Hier fordert jede Client-Maschine die Ressourcen für das Betriebssystem. Dieser Overhead fällt bei den Virtuozzo-Containern weg.

Network Computing wird sich in einer der kommenden Ausgaben intensiv mit dem Thema Client-Virtualisierung befassen. Dabei wird das Labor-Team Virtuozzo als Lösung ebenso in Betracht ziehen wie Vmware oder Xen.

In der Praxis machen auch die Windows-Container eine gute Figur. Mit den einfachen Management-Tools »Parallels-Infrastructure-Manager« PIM (Web) und der »Parallels Management-Console« PMC (Windows-Applikation) lassen sich sowohl die Container als auch die darunter liegenden Hosts einfach verwalten. Laufende VEs können problemlos zwischen verschiedenen physischen Nodes hin und her geschoben werden.

Einzelne VPS laufen subjektiv schneller als Windows-2003-VMs unter Vmware, solange sich die Belastung der VPS in Grenzen hält. Diese Messdaten stammen aus einem früheren Test-Setup im Labor Poing auf physischen Rechnern.


Das Virtuozzo-Management zeigt nicht nur die virtuellen Maschinen. Es ermöglicht dem Verwalter, die Konfiguration innerhalb des Virtual-Private-Servers zu ändern.

Setzte das Labor-Team mehrere VEs einer hohen Belastung aus, fiel die Performance-Einbuße stärker aus als bei voll virtualisierten Maschinen. Im Test erzeugte das Test-Team eine sehr hohe I/O-Load auf benachbarten VEs.

Ein VPS mit Fileserver musste mehrere große Transfers entgegen nehmen, während ein zweiter einen Peer-to-Peer-Client mit vielen aktiven Verbindungen und Tausenden von kleinen TCP-Pakete betrieb. Der Performance-Einbruch beider VPS fiel stärker aus als bei einem vergleichbaren Szenario mit VMs unter Vmware.

Solche I/O-Engpässe lassen sich in der Praxis jedoch leicht vermeiden. Verteilt der Verwalter I/O-intensive VEs auf verschiedene Server und rüstet die Hardware zusätzlich mit ausreichend LAN-Adaptern aus, treten die geschilderten Probleme nicht auf. Ein VPS innerhalb einer VM kann von der Performance her mit geringen Abstrichen sogar mit einer reinen VM mithalten.

Fazit

Auch unter Windows leisten die Virtuozzo-Container gute Dienste, wenn der Verwalter viele Maschinen mit moderater Auslastung verwendet. Unter Windows belasten viele kleine Windows-VEs jedoch die Unternehmenskasse. Microsoft kassiert in der Zwischenzeit Lizenzgebühren pro Container.

Ursprünglich genügte eine Windows-Lizenz pro Virtuozzo-Host, doch dieses Discount-Schlupfloch hat Microsoft mittlerweile lizenzrechtlich gestopft. Für den Virtuozzo-Betrieb bedarf es einer Datacenter-Edition-Lizenz (Kosten, etwa 10.000 Euro). Nur diese deckt den Betrieb des physischen Hosts und einer beliebigen Zahl darauf laufender VEs ab.

Opensolaris Zonen

Container-Technologien stammen ursprünglich aus der Großrechner- und Unix-Welt. Daher gibt es für jedes Unix natürlich eine Systemvirtualisierung. Die freie Berkeley-System-Distribution BSD integriert so genannte »Jails«, auf die Network Computing in diesem Artikel aber nicht weiter eingeht.

Sun [11] setzt im hauseigenen Unix Solaris auf eine Container-Technologie namens »Zones«. Diese gibt es sowohl auf der Ultrasparc- als auch auf der Intel-Plattform. Auch die freie Opensolaris-Distribution unterstützt Zonen. Für die Systemvirtualisierung braucht es hier keinen speziell nachzuinstallierenden Systemkern. Der Solaris-Kernel beherrscht Zonen von Haus aus.

Sun integriert die Zonen stark in das hauseigene Dateisystem zfs. Dabei bekommt jede Zone ihr privates Unterdateisystem. Vom Host aus kann der Systemverwalter in diese xfs-Bäume hineinblicken. Aus der Zone heraus gibt es jedoch kein Entkommen auf das Host-Root-Dateisystem oder zu den Daten anderer Zonen.

Für den Test setzt Network Computing die Opensolaris-Version 2008-11 innerhalb einer Kernel-Virtual-Machine (KVM) unter Ubuntu-Linux ein. Unter Solaris lassen sich VEs so leicht wie auf keiner anderen Plattform mit wenigen Kommandos anlegen.

VEs unter Solaris anlegen

Der Vorgang sieht wie folgt aus und erklärt sich praktisch von selbst:

zonecfg -z

Jetzt befindet sich der Verwalter auf dem Prompt des Tools zonecfg:

create

set zonepath=/export/

set autoboot=true

add net

set address =

set physical =

end

commit

exit

Der Zonepath muss dabei auf der ersten Ebene eines zfs-Dateisystems liegen, damit zonecfg ein neues Unterdateisystem erstellen kann. Im Beispiel ist /export als eigenes zfs-Dateisystem deklariert. Der Autoboot-Parameter veranlasst, dass die Zone beim Systemstart mit hochgefahren wird.

Eine ausführliche Man-Page beschreibt die vielen Optionen und Parameter von zonecfg. Die Konfiguration sichert Solaris in einer xml-Datei in /etc/zones:

zoneadm -z install

Nach diesem Kommando erzeugt Solaris das zfs-Dateisystem, lädt die Daten aus dem Internet und kopiert sie in die Zone. Weitere Zonen lassen sich über das Clone-Kommando aus bestehenden erstellen. Danach lässt sich der Container starten:

zoneadm -z boot

Klinkt sich der Verwalter in die Zone ein, findet er sich in einem Tool zur Erstkonfiguration von Solaris wieder.

zlogin -C

Dort gibt er alle noch nicht festgelegten Parameter für den Container an und kann die Zone im Anschluss wie einen vollwertigen Solaris-Rechner verwenden.

Fazit

Sun setzt seine Container-Implementierung vorbildlich um. Die Zonen integriert Sun ohne Kernel-Modifikationen direkt in das Betriebs- und Dateisystem.

Die Syntax der Tools ist klar und verständlich. Administratoren, die ihre Netzwerkdienste auf Solaris anstelle von Linux einsetzen können, sollten diese Option auf jeden Fall ausprobieren. Nahezu alle für Linux verfügbaren Dienste gibt es auch auf Solaris.

[1] http://www.vmware.de/
[2] http://www.openvz.org/
[3] http://www.parallels.com/
[4] netzwerk-praxis-kernel-teilung-mit-Openvz/
[5] http://www.redhat.de/
[6] http://www.howtoforge.com/installing-and-using-openvz-on-centos5.2
[7] http://download.openvz.org/openvz.repo
[8] http://download.openvz.org/RPM-GPG-Key-OpenVZ
[9] http://download.openvz.org/template/precreated/
[10] aus-dem-testlabor-update-chaos-bei-virtuozzo-installation/
[11] http://www.sun.de/

» Tipp der Redaktion

Bild zu "Das sind die deutschen Top IT-Managerinnen 2010"

Das sind die deutschen Top IT-Managerinnen 2010

IT-Riesen wie Microsoft, IBM oder Dell haben längst erkannt, dass Frauen in Führungspositionen gehören. Nachdem wir Ihnen in den vergangenen Woche die weltweit mächstigesten IT-Damen vorgestellt haben, folgen jetzt die deutschen Top IT-Managerinnen 2010 - mit einigen Neuzugängen und Managerinnen die schon seit Jahren ihre »Frau« in der IT stehen.

Bild zu "50 Jahre IFA"

50 Jahre IFA

2010 feiert Berlin die 50. IFA. Seit dem Startschuss zur ersten IFA sind aber fast doppelt so viele Jahre vergangen. Die ersten »Große Deutsche Funk-Ausstellung« hatte bereits 242 Aussteller und 180.000 Besucher auf einer Fläche von 7.000 Quadratmetern. Seither war die IFA Schauplatz für zahlreiche Premieren und Neuvorstellungen, etwa den Startschuss für das Farbfernsehen 1967.

» Top-Stories der Woche

Bild zu "50 Jahre IFA"

50 Jahre IFA

2010 feiert Berlin die 50. IFA. Seit dem Startschuss zur ersten IFA sind aber fast doppelt so viele Jahre vergangen. Die ersten »Große Deutsche Funk-Ausstellung« hatte bereits 242 Aussteller und 180.000 Besucher auf einer Fläche von 7.000 Quadratmetern. Seither war die IFA Schauplatz für zahlreiche Premieren und Neuvorstellungen, etwa den Startschuss für das Farbfernsehen 1967.

Bild zu "Was der 1&1-Werbestar wirklich will"

Was der 1&1-Werbestar wirklich will

Ist er ein Schauspieler, oder ist er »echt«? Seit diesem Frühjahr wirbt Marcell D’Avis als »Leiter Kundenzufriedenheit« in TV-Spots für den Internetprovider 1&1. CRN hat D’Avis getroffen.

» Meistgelesene News

Bild zu "Das sind die deutschen Top IT-Managerinnen 2010"

Das sind die deutschen Top IT-Managerinnen 2010

IT-Riesen wie Microsoft, IBM oder Dell haben längst erkannt, dass Frauen in Führungspositionen gehören. Nachdem wir Ihnen in den vergangenen Woche die weltweit mächstigesten IT-Damen vorgestellt haben, folgen jetzt die deutschen Top IT-Managerinnen 2010 - mit einigen Neuzugängen und Managerinnen die schon seit Jahren ihre »Frau« in der IT stehen.

Bild zu "Nokia N8 mit Symbian 3"

Nokia N8 mit Symbian 3

Mit seinem neuen Touchscreen-Smartphone N8 will Nokia endlich Apples iPhone und der wachsenden Andoid-Konkurrenz wieder ernsthaft Paroli bieten. Eine besonders wichtige Rolle kommt daher dem neuen Symbian 3 zu, das die Bedienung per Touchscreen weit besser unterstützt als die Vorgängerversionen.

» Preisvergleich Top 5