Network-Computing-Lablog Online: Kostenfreies Tool für Virtualisierung

Netzwerk-Praxis: Kernel-Teilung mit OpenVZ

13. März 2009, 8:55 Uhr | Andreas Stolzenberger
Das Management-Tool von OpenVZ zeigt an, wie viele Container der Administrator angelegt hat.

Alle reden über Xen, KVM, Hyper-V oder Vmware als Virtualisierungslösungen. Doch in vielen Installationen genügt eine ressourcensparende Containertechnologie. Network Computing hat sich die Open-Source-Software »OpenVZ« angesehen. Sie stellt einen Großteil der Funktionen von Parallels‘ »Virtuozzo« zur Verfügung.

Hypervisoren erstellen komplette virtuelle Maschinen, mit einem individuellen Betriebssystem. Das kostet Speicher und CPU-Zeit. Viele Anwender brauchen jedoch keinen Systemwildwuchs. Ihnen würden mehrere virtuelle Server mit demselben Betriebssystem genügen. Warum also fünf Instanzen ein und desselben Systemkerns hochfahren, wenn sich virtuelle Server auch einen Kern teilen können?

Die Systemvirtualisierung, auch als Container-Technologie bekannt, setzt einen modifizierten Kernel mit virtuellen Systemumgebungen ein. Ein Container verbraucht dabei nur so viele Ressourcen, wie die darin laufenden Threads.

Die Container arbeiten vollständig getrennt voneinander und können die Ressourcen der parallel laufenden Systeme weder einsehen noch manipulieren. Jeder Container verfügt über sein eigenes Benutzerverzeichnis, eine eigene IP-Adresse und natürlich einen eigenen Root.

Wenn der Ressourcenbedarf aller Dienste eines Servers kleiner oder nur wenig größer als der Bedarf des eigentlichen Betriebssystems ausfällt, sollte der Administrator eine Containerlösung gegenüber einem Hypervisor bevorzugen. In der Praxis finden sich Containerlösungen vor allem bei Internet-Service-Providern. Sie hosten private Web-Server, die aus Sicht des jeweiligen Nutzers wie ein vollständig eigener Rechner erscheinen.

Container machen auch in IT-Infrastrukturen regulärer Unternehmen Sinn. So lassen sich die vielen ständig benutzten LAN-Basisdienste wie DNS, LDAP-Directory, Netzwerk-Management, Monitoring oder Syslog auf Container verteilen.

Kernel ohne Distribution

Besonders flexibel arbeiten Containerlösungen unter Linux. Die eigentliche Distribution funktioniert im Prinzip unabhängig von der Kernel-Version. Ein Host-Rechner kann also parallel virtuelle Container mit Red-Hat-, Suse- und Debian-Linux betreiben.

Auch der simultane Betrieb von Containern mit der Distributions-Version 3, 4 und 5 funktioniert ohne Probleme. Die Firma Parallels (früher SW-Soft) offeriert die kommerzielle Lösung »Virtuozzo«. Diese gibt es für Windows oder Linux.

Einen Großteil der Funktionen von Virtuozzo für Linux packt Parallels aber auch in die frei verfügbare Open-Source-Lösung OpenVZ. Die Software ist Teil des Kernel-Source-Trees und installiert sich daher ohne großen Aufwand auf den meisten Distributionen.

Details der Testinstallation

Im den Real-World Labs Poing betreibt Network Computing eine OpenVZ-Installation auf Basis des Ubuntu-Servers 8.04 x64. Als Hardware dient ein früherer Vmware-Server mit vier Single-Core-»Opteron«-Prozessoren von AMD und 8 GByte Speicher.

Zunächst richtet der Verwalter den OpenVZ-Kernel und das Verwaltungstool vzctl ein:

aptitude install linux-image-openvz vzctl

Fehlende Paketabhängigkeiten löst aptitude in der Regel automatisch. Zum Abschluss erzeugt das Setup die passende initrd und trägt den OpenVZ-Kernel in das Grub-Menü ein, jedoch nicht als Default.

Verwalter, die eine getrennte /boot-Partition für die Kernel-Images verwenden, müssen aufpassen, dass genug freier Platz vorhanden ist, weil die Installation der initrd sonst scheitert. Zur Sicherheit sollte der Verwalter vor der Installation alte Kernel-Images entsorgen.

Vor dem Neustart muss der Administrator noch die /etc/sysctl.conf nach den Vorgaben von Parallels modifizieren (beschrieben auf www.openvz.org). Ohne die Modifikationen arbeiten die virtuellen LAN-Adapter in den Containern nicht richtig. Alle zu OpenVZ gehörenden Daten liegen unterhalb von /var/lib/vz. Manche Tools erwarten die Dateien jedoch unter /vz, weshalb sich ein symbolischer Link von /var/lib/vz auf /vz empfiehlt.

Network Computing verwendet im Host-System eine recht bescheidene Festplatte, welche nur das Basissystem aufnimmt. Für die Container greift der Server auf ein schnelles SAN-Laufwerk zu, das der physische Server direkt nach /vz einbindet und symbolisch nach /var/lib/vz verlinkt.


  1. Netzwerk-Praxis: Kernel-Teilung mit OpenVZ
  2. Buntes Nebeneinander

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Parallels

Matchmaker+