30.04.2007 | Autor / Redakteur: Scott Dowdle / Ulrich Roderer
Der Process Container Ansatz
OpenVZ besteht aus drei Teilen: Einem Kernel, einem Satz Dienstprogramme und so genannten Betriebssystem-Templates. Die Virtualisierungssoftware enthält vorgefertigte Kernel-Pakete für aktuelle Red Hat Enerprise Linux Systeme (RHEL, CentOS usw.), Fedora Core 5 sowie SUSE 10. OpenVZ wurde auch in die letzte Version von Mandrivas Corporate Server integriert und ist über das Gentoo Portage System für Gentoo verfügbar. Für jene, die es vorziehen, vom Quellecode aus zu kompilieren, ist der vollständige Quellencode im src.rpm Format einschließlich der Patches und Configs verfügbar. Die Hauptfunktionen des OpenVZ-Kernels sind Process-ID-Virtualisierung (P-ID) und More Extensive Ressource Management (user beancounters.)
OpenVZ liefert mehrere Dienstprogramme: virtuelle private Server (VPS), Software-Paket-Management, OS-Template-Management und System Snapshots sowie live Migrationen. vzctl wird verwendet, um VPS zu erstellen, zu konfigurieren, zu modifizieren, zu starten und zu stoppen. Die Software-Paket-Management-Tools beinhalten vzrpm und vzyum. Die OS Template-Tools umfassen vzpkgadd und vzpkgcache. vzmigrate bietet die Möglichkeit, sowohl System-Snapshots zu machen als auch live Migration durchzuführen.
OpenVZ erleichtert das Erstellen von VPS durch ein Template-Paket. Dabei handelt es sich um eine Sammlung von Metadaten, um eine Linux-Distribution zu definieren. Die Virtualisierungssoftware bietet auch vorgefertigte Distributions-Template. Der Template-Paket-Ansatz ermöglicht das Herunterladen aller Software-Pakete einer Linux Distribution, während ein vorgefertigtes Template ein großes .tar.gz einer VPS ist.
Ein OpenVZ-System einzurichten geht recht schnell und einfach, da Sie nur einen Kernel und einige zusätzliche Software-Pakete herunterladen und installieren müssen. Ein OS-Template zu erstellen oder ein vorgefertigtes OS-Template herunter zu laden kann ein bisschen länger dauern und etwas mehr Bandbreite benötigen, aber sobald Ihr Template-Cache eingerichtet ist, stellt es kein Problem dar, ein VPS zu erstellen, das eine beliebige unterstützte Linux-Distribution ausführt. Ein VPS lässt sich weniger als zwei Minuten starten.
Der Process-Container-Ansatz der Virtualisierung ist sehr effizient im Vergleich zur Hardware-Emulation (VMware und Parallels) oder der Paravirtualisierung (Xen und User-mode Linux). Ein VPS benötigt nur die Ressourcen, die für den Betrieb der Programme und Services notwendig sind und hat weder einen separaten Kernel noch die Unterstützung eines vollen OS.
Dadurch bietet OpenVZ systemspezifische Leistung, dynamische Ressourcen-Zuteilung und ist extrem skalierbar. Die OpenVZ Entwickler haben ein Benchmarking gemacht und behaupten in der Lage zu sein, bis zu 120 Basis-VPS auf einem Single-Core Pentium 4 basierenden System mit 768 MB RAM und bis zu 320 Basis VPS auf 2 GByte RAM zu betreiben.
Für andere Virtualisierungsansätzen ist das Haupthindernis die Skalierbarkeit des RAMs, weil jede virtuelle Maschine dieselbe Menge Speicher wie eine typische einzelne Maschine braucht. Da ein OpenVZ-VPS nur ein Satz von Prozessen ist, benötigt ein VPS nur die CPU- und RAM-Ressource, die für die jeweiligen Prozesse erforderlich ist. Zum Beispiel besteht ein Basis-VPS (mit Apache Web-Server, sshd, sendmail und syslogd) aus nur etwa 15 Prozessen.
Während OpenVZ ein Leichtgewicht ist, spart es nicht an Funktionen. Ein VPS ist eine separate Maschine mit seinem eigenen Administrator (Root User), Benutzern (System- und Benutzerkonten), Festplattenanteilen, Services und Software. OpenVZ verfügt über ein weit reichendes Ressourcen-Management, mit dem der Administrator des Host-Systems Ressourcen auf einer „per VPS-Basis“ konfigurieren und dynamisch zuordnen kann. OpenVZ bietet auch erweiterte Funktionen wie System-Snapshots und Live-Migrationen eines VPS von einem physischen Host auf einen anderen. Die Live-Migrations-Implementierung erfordert kein Shared Storage, erhält Netzverbindungen aufrecht und ist so schnell, dass die wenigen Sekunden des Stillstands oft unbemerkt bleiben.
OpenVZ ist gut für bestimmte Anwendungsfälle geeignet einschließlich der Serverkonsolidierung, Hosting, Entwicklung und Testen, Sicherheit und Schulung. Wenn Sie eine Reihe von Linux-Servern haben, die unausgelastet sind, kann OpenVZ verwendet werden, um sie auf weniger (oder möglicherweise eine) physische Maschine zu konsolidieren. Hosting-Unternehmen lieben VPS, weil sie eine einzelne Maschine unter vielen Kunden aufteilen können. Viele Systemadministratoren achten besonders darauf, Serveranwendungen in getrennten Umgebungen einzurichten, um zusätzliche Sicherheit zu gewährleisten, aber ein VPS ist eine viel bessere Lösung für die Trennung von Server Applikation. Ein Beispiel wäre Schulungen von Systemadministratoren, in denen jeder Student sein eigenes VPS haben kann.
Wenn Sie unterschiedliche Betriebssysteme oder Kernels auf einer einzelnen Maschine laufen lassen müssen, werden diese Hardware-Emulations- oder Paravirtualisierungs-Methoden benötigt, da OpenVZ ein einziges OS (Linux) mit einem einzelnen Kernel ist. OpenVZ ist vollständig befehlszeilenorientiert und bietet gegenwärtig keine GUI-basierten Anwendungen - und ist wahrscheinlich für jene nicht geeignet, die sich vor der Shell fürchten.
Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 2004385)