Network-Computing-Lablog Online: Kostenfreies Tool für Virtualisierung:
Netzwerk-Praxis: Kernel-Teilung mit OpenVZ
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?
Das Management-Tool von OpenVZ zeigt an, wie viele Container der Administrator angelegt hat.
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 [1] (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 [2]. 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 [3]-Servers 8.04 x64. Als Hardware dient ein früherer Vmware-Server mit vier Single-Core-»Opteron«-Prozessoren von AMD [4] 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 [5]). 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.
Buntes Nebeneinander
Nach dem Neustart geht es dann an die virtuellen Systeme. Einen frischen Container kann der Administrator im Prinzip nicht verwenden, weil er zunächst völlig leer ist. Auf der Web-Seite des OpenVZ-Projekts kann sich der Anwender daher Dutzende vorgefertigter Templates für Debian, Ubuntu, Suse oder Fedora herunterladen.
Messungen mit einem Apache-Server mit 768 MByte RAM zeigen, dass auch schwächere Maschinen etwa bis zu 120 Container verkraften, beovr die Antwortzeiten das akzeptable Maß übersteigen.
Diese erhalten ein Basis-Set an Tools und den jeweiligen Paket-Manager der Distribution, um über das Netzwerk weitere Software nachzurüsten. Alle Templates landen im Verzeichnis (/var/lib)/vz/templates/cache.
Das Kommando-Zeilen-Tool vzctl erstellt Maschinen und weist ihnen IP-Adressen, Namen sowie Ressourcen zu. Über vzctl kann der Verwalter auch von außen in abgeschaltete VEs eingreifen, um Systemparameter zu ändern, User anzulegen oder Konfigurationsdateien nachzuladen.
Die folgenden Kommandos erstellen einen Container mit der 32-Bit-Verison von Fedora Core 9 und weisen dem Setup eine IP-Adresse, Nameserver und einen Host-Namen zu:
vzctl create 11 --ostemplate fedora9-x86
vzctl set 11 --hostname vz11.nwc.local --save
vzctl set 11 --ipadd 10.11.8.11 --save
vzctl set 11 --nameserver 10.11.2.1 –save
Der Verwalter kann den Container dann starten und sich auf dessen Kommandozeile begeben:
vzctl start 11
vzctl enter 11
Das virtuelle System hat zu diesem Zeitpunkt noch kein Root-Passwort. Das muss der Administrator als erstes setzen. Danach lassen sich über den jeweiligen Paket-Manager die nötigen Dienste einrichten. In der Regel enthält jedes Template einen Open-SSH-Server, so dass der Verwalter die Secure-Shell zur Steuerung des Containers nutzen kann.
Dem Container gaukelt OpenVZ ein auf / gemountetes Dateisystem vor, das stets 1 GByte freien Speicher behält. Der Container darf bis zur maximalen Größe des darunter liegenden Dateisystems wachsen, wenn der Administrator die virtuelle Plattengröße nicht mit vzquota einschränkt. Vzlist gibt jederzeit Auskunft über die laufenden Container und deren Auslastung. Vzctl steuert außerdem viele Regler, welche den Ressourcenbedarf der einzelnen Container individuell begrenzen können.
Wer die Kommandozeile von vzctl verschmäht, kann das Open-Source-Web-GUI WebVZ [6]nachinstallieren. Das Tool benötigt Ruby on Rails und bringt einen eigenen Web-Server mit. Einmal gestartet, erzeugt es ein einfaches Web-GUI für das Containermanagement.
Verteilte Dienste
Im Labor funktionieren fast alle OS-Templates recht gut. Die Ubuntu-Vorlage kommt jedoch mit einer stark eingeschränkten Quellenliste für apt. Eines der 64-Bit-Fedora-Templates hat Probleme mit dem Netzwerkzugriff. In der Praxis funktionieren Container mit den 32-Bit-Ausgaben von CentOS oder Fedora sehr zuverlässig.
Für den weiteren Laborbetrieb soll nun der zugrunde liegende Ubuntu-Server 8.10 x64 als MySQL-Datenbankserver arbeiten. Diverse Container werden Dienste wie SNMP-Monitoring, Syslog, LDAP und Ähnliches übernehmen und ihre Daten dabei zentral in der MySQL-Datenbank des Hosts ablegen.
Wer OpenVZ nicht mithilfe der Kommandozeile bedienen möchte, kann au das Web-GUI WebVZ zurückgreifen.
Wenn das wie erhofft funktioniert, verlagert Network Computing später alle Basis-Netzwerkdienste wie DHCP, DNS, Mail und Print in einzelne Container und integriert deren Konfigurationen in ein zentrales LDAP-Verzeichnis und den MySQL-Server.
Das sollte den 4-Wege-Rechner moderat belasten und dabei mindestens drei vorhandene Server ersetzen.
[1] http://www.parallels.com/
[2] http://www.openvz.org/
[3] http://www.ubuntu.com/
[4] http://www.amd.com/
[5] http://www.openvz.org/_
[6] http://webvz.sourceforge.net/
- 1. Seite: Netzwerk-Praxis: Kernel-Teilung mit OpenVZ
- 2. Seite: Netzwerk-Praxis: Kernel-Teilung mit OpenVZ (Fortsetzung)
» Newsletter abonnieren
Täglich aktuelle News und Hintergründe für Fachhändler, ITK-Hersteller, Distributoren und aus der Online-Welt.
» Tipp der Redaktion
Acer rockt die Eifel
Rund um den Nürburgring dröhnten einmal nicht die Rennmotoren: Beim Acer Kick-off 2012 brachten stattdessen Bässe und Gitarrensoli die Eifel zum Wackeln. Über 600 Acer-Partner rockten zum Ausklang des Partner-Events im Eifel Stadl zu Live Musik oder ließen sich im Rockstar-Outfit fotografieren.
Die besten Multifunktions-Farblaser ab 300 Euro
Im Gegensatz zu den ultrabilligen Tintenstrahl-Einsteigerdruckern, die oft schon unter 100 Euro zu haben sind, sollte die Investition in einen Multifunktions-Laserdrucker schon etwas besser überlegt sein. Wir sagen Ihnen, welcher Laser sich besonders für welchen Zweck lohnt.
Cisco zurück auf Wachstumskurs
Cisco ist zurück auf der Überholspur. Nach einem radikalen Stellenabbau und einer stärkeren Fokussierung hat der Netzwerkriese im zurückliegenden Quartal sowohl Umsatz als auch Gewinn deutlich ausgebaut.
» Bilderstrecken
» Meistgelesene News
Ist Ihrer auch zu breit?
Die linke Fahrspur ist in vielen Autobahn-Baustellen nur für Fahrzeuge mit maximal zwei Meter Breite zugelassen. Jetzt warnt der ADAC: 67 Prozent der Neuwagenmodelle sind breiter als zwei Meter! Wer nicht nachmisst, riskiert ein Bußgeld.
Chefs versagen im zwischenmenschlichen Umgang
Vielen Führungskräften fehlt es an Empathie im Umgang mit ihren Mitarbeitern und sie erfüllen ihre Aufgaben nicht effektiv. Zu diesem ernüchternden Ergebnis kommt eine Studie des Beratungsunternehmens Development Dimensions International (DDI).
