Alternative zu Windows und Linux

So virtualisiert Sun Solaris 10

29.05.2007
Von Dirk Pelzer
Mit Virtualisierung in Solaris 10 für x86 versucht Sun der Dominanz von Windows und Linux etwas entgegenzusetzen. Die Kalifornier stehen aber noch am Anfang.

Das Solaris-Betriebssystem von Sun Microsystems drohte in den vergangenen Jahren zunehmend in Vergessenheit zu geraten angesichts der Übermacht, mit der Linux und Windows in die Rechenzentren drängen. Vor allem für die x86-Variante von Solaris sah es eine Weile schlecht aus, da der kalifornische Hersteller dieser Version keine Zukunftschancen einräumte und das Betriebssystem bereits abgekündigt hatte. Mit der Übernahme des Appliance-Herstellers Cobalt, dessen Systeme auf AMD-Prozessoren basieren, wendete sich das Blatt. x86 war für Sun wieder ein Thema. Der Hersteller ging sogar in die Offensive und rief quasi als Gegenpol zur Linux-Community sein "Open-Solaris"-Programm ins Leben, das es Entwicklern und Anwendern ermöglicht, den Quellcode des Unix-Betriebssystems einzusehen und bei Bedarf zu anzupassen. Sun steckte viel Arbeit in Solaris und präsentierte Anfang 2005 das nach wie vor aktuelle Solaris 10, das mit neuen Funktionen einschließlich Virtualisierung ausgestattet ist.

Virtualisierung ohne Hypervisor

Die grafische Webmin-Oberfläche fragt die zur Einrichtung einer Zone erforderlichen Parameter ab und versucht damit eine Zone anzulegen.
Die grafische Webmin-Oberfläche fragt die zur Einrichtung einer Zone erforderlichen Parameter ab und versucht damit eine Zone anzulegen.

Im Gegensatz zu anderen Virtualisierungslösungen wie das quelloffene "Xen" oder "VMware ESX Server" setzt Solaris jedoch nicht auf einen Hypervisor, der die zugrunde liegende Hardware virtualisiert und dann die parallele Installation unterschiedlicher Gastbetriebssysteme auf einem Host ermöglicht. Stattdessen lassen sich innerhalb einer Solaris-Installation mehrere voneinander unabhängige Ausführungsumgebungen schaffen, die sich denselben Betriebssystemkern teilen. Jede der Ausführungsumgebung bezeichnet Sun als Zone.

Dabei wird unterschieden zwischen lokalen und globalen Zonen unterschieden. Eine globale Zone entspricht in ihrer Funktion dem regulären Solaris-10-Betriebssystem. In lokalen Zonen läuft ebenfalls die Systemsoftware, sie sind voneinander und von der globalen Zone separiert. Des Weiteren verfügen lokale Zonen über eigene IP-Einstellungen sowie über ein eigenes File System und lassen sich individuell konfigurieren. Eine Zone stellt sich nach außen wie eine eigenständige Solaris-10-Instanz dar. Über "Container" kann der Systemverwalter die Eigenschaften von Zonen mit denen des "Solaris Resource Managements" kombinieren. Auf diese Weise begrenzt er für jede einzelne Zone den Bedarf an CPU-, Speicher- und Netzwerkressourcen.

Root-User mit eingeschränkten Rechten

Für jede lokale Zone lässt sich ein Root-Benutzer definieren, dessen Rechte nur innerhalb dieser Umgebung gelten. Um dies zu realisieren, nutzt Sun die Process-Rights-Management-Funktion des Solaris-Betriebssystems. Mit deren Hilfe gelingt es zudem, die Privilegien der Root-User aus den lokalen Zonen auf das notwendige Minimum einzuschränken. Im Gegensatz dazu verfügt der Root-Anwender der globalen Zone über sämtliche Rechte und kann mit diesen sowohl in der globalen, als auch den lokalen Zonen arbeiten.

So wurde getestet

Als Plattform für den Test fungierte zum einen eine Sun Ultra 20 Workstation mit AMD Opteron Prozessor, zwei GByte RAM, 250 GByte SATA-Platte und Nvidia Quadro-Grafikkarte, sowie ein Primergy RX 300 S2 Server von Fujitsu Siemens Computers mit zwei 3,6 GHz Xeon CPUs und vier GByte RAM unter VMware Server.

Lokale Zonen sind gegenüber der globalen eingeschränkt. Ihr fehlen zum Beispiel Dienste wie der NFS-Server, DHCP (Dynamic Host Communication Protocol) und das Netzwerkmonitoring-Tool "Snoop". Funktionen wie Default Router, IP-Quality-of-Service oder IP-Filter sind zwar in den lokalen Zonen nutzbar, müssen aber über die globale Zone administriert und konfiguriert werden.

Die Einrichtung und Administration der Zonen erfolgt entweder über Kommandozeilenbefehle, die sich gut für eine Automatisierung eignen, oder über grafische Benutzeroberflächen (GUI). Administratoren, die eine GUI bevorzugen, haben die Wahl zwischen dem kostenpflichtigen "Solaris Container Manager" von Sun oder dem Freeware-Tool "Webmin", welches kostenlos zum Download bereit steht, aber von Sun weder unterstützt noch empfohlen wird.

Kurz gefasst

Hersteller: Sun Microsystems

Produkt: Solaris 10 (x86) Zones

Preis: Zones sind kostenloser Bestandteil des Solaris 10 Betriebssystems; optionaler Standard-Support: 240 Euro pro CPU-Sockel; Solaris Container Manager: circa 2300 Euro.

Vorteile:

  • Flexibles Einsatzkonzept;

  • eröffnet großes Konsolidierungspotenzial;

  • preiswert;

  • ressourcenschonend.

Nachteile:

  • Schwieriger Einstieg;

  • nur für Solaris-Profis effektiv und schnell nutzbar;

  • Zusatzkosten für grafische Bedienoberfläche.

Unterschiedliche Zonentypen

Konzeptionell unterscheidet Sun zwischen Sparse-Root- und Whole-Root-Zonen. Sparse-Root-Zonen haben den Vorteil, dass sie schnell einzurichten sind und einen verhältnismäßig geringen Speicherplatzbedarf haben. Dieser liegt für x86-Solaris bei ungefähr 70 MB. Erreicht wird dies dadurch, dass dieser Zonentyp eine Reihe von Verzeichnissen aus der globalen Zone erbt. Dazu zählen die Verzeichnsse /lib, /platform, /sbin und /usr. Der Speicherplatz wird auf diese Weise nur einmal belegt und steht den lokalen Zonen zur gemeinsamen Nutzung zur Verfügung. Softwarepakete, Updates und Patches müssen so nur einmal eingespielt werden und stehen anschließend sofort in allen lokalen Zonen zur Verfügung, was die Administration deutlich erleichtert. Programme und Bibliotheken werden ebenfalls nur einmal geladen, was darüber hinaus den Hauptspeicher entlastet. Sparse-Root-Zonen wären für zum Beispiel für einen Internet-Service-Provider nützlich, der unterschiedliche Web-Server-Instanzen für verschiedene Kunden betreibt. Diese Vorgehensweise hat darüber hinaus den Vorteil, dass bei einem Software-Update des Apache-Servers die genannten Verzeichnisse nur einmal zu aktualisieren sind.

Der kostenpflichtige Solaris Container Manager verspricht eine komfortablere Einrichtung und Administration von Zonen.
Der kostenpflichtige Solaris Container Manager verspricht eine komfortablere Einrichtung und Administration von Zonen.

Aufgrund ihrer spezifischen Eigenschaften sind Sparse-Root-Zonen jedoch nur bedingt geeignet, um unterschiedliche Softwarestände in den jeweiligen Zonen zu betreiben. Hierfür empfiehlt Sun die Nutzung der Whole-Root-Zonen. Diese umfassen allerdings nahezu den gesamten Platzbedarf einer vollständigen Solaris-Installation, da sämtliche Verzeichnisse dupliziert werden müssen. Der Platzbedarf liegt für x86-Solaris bei etwa 2500 MB. Aufgrund der höheren Ressourcen-Anforderungen dauert das Anlegen einer Whole-Root-Zone natürlich länger als bei einer Sparse-Root-Zone. Zudem teilen sich Whole-Root-Zonen abgesehen vom Kernel keine Programme oder Bibliotheken, was unter Umständen in einer deutlich erhöhten Speicherauslastung resultiert. Dafür lassen sich Whole-Root-Zonen weitgehend autark betreiben, da abgesehen vom Kernel und Treibern alle Softwarepakete als Kopie vorliegen.

Variable Einsatzszenarien

Das von Sun realisierte Konzept der Zonen eignet sich für eine Reihe unterschiedlicher Einsatzszenarien. Eine der interessantesten stellt hierbei die Server-Konsolidierung für Produktions- und Test-Systeme dar. Hierbei führt der Systemverwalter unterschiedliche Dienste wie zum Beispiel Datenbanken, Anwendungen oder Web-Services auf einem Rechner zusammen und verringert so einerseits den Hardware-Aufwand und andererseits die laufenden Kosten für Wartung, Strom und Kühlung. Auch ein Internet-Service-Provider kann sich Zonen zunutze machen, um seinen Kunden schnell und kostengünstig dedizierte Web-Server mit Root-Zugriff bereit zu stellen. Die Web-Server lassen sich hierbei mit den Standardports und IP-Adressen der jeweiligen Zone nutzen. Es sind somit keine Anpassungen erforderlich, wie sie sonst beim Parallelbetrieb mehrerer Web-Server anfallen.

Zonen im Test

Für den Funktionstest richteten wir über unterschiedliche Methoden Zonen ein. Als nicht sonderlich hilfreich erwies sich hierbei das Freeware-Tool Webmin in der Version 1.310: Es erlaubt nur wenig Spielraum bei der Konfiguration und hat eine schlechte Benutzerführung. Trotz intensiver Bemühungen gelang es nicht, eine Zone damit einzurichten. Webmin begann zwar nach der Eingabe der geforderten Parameter mit der Einrichtung, jedoch wurde diese nicht zu Ende geführt. Das Konsolenfenster, in welchem die Fortschritte angezeigt wurden, fror nach einer Weile einfach ein. Da der von Sun erhältliche, grafische Container Manger für den Test nicht zur Verfügung stand, versuchten wir unser Glück mit der Befehlszeilenumgebung. Mit dieser war unseren Versuchen zwar mehr Erfolg beschieden, allerdings erst nach dem Studium eines von Sun veröffentlichten "Solaris 10 Container Leitfadens".

Die per Webmin angelegten Zonen erwiesen sich als unbrauchbar.
Die per Webmin angelegten Zonen erwiesen sich als unbrauchbar.

Dieser erklärt ausführlich und verständlich die hinter den Zonen stehenden Konzepte und gibt zudem in Form von Kochbüchern Hinweise über die Konfiguration einer Sparse- beziehungsweise Whole-Root-Zone. Mit den richtigen Kommandos bereitete die Einrichtung einer Zone dann auch in der Praxis kein Problem mehr. Von außen betrachtet waren die von uns konfigurierten Zonen nicht mehr von dedizierten Installationen auf einer physikalischen Maschine zu unterscheiden. (fn)

Fazit

Das Zonen-Konzept von Sun klingt vielversprechend. Allerdings macht es einem der Hersteller nicht unbedingt leicht, sich dem Thema zu nähern. Grafische Werkzeuge, die in der Unix-Welt traditionell ohnehin eher verpönt sind, stehen zwar zur Verfügung, sind aber nur wenig hilfreich oder müssen zusätzlich erworben werden. Der Webmin in der getesteten Version ist unbrauchbar. Solaris-Neulinge und Umsteiger ist der Container-Manager von Sun zu empfehlen. Darauf verzichten sollten nur Kenner des Betriebssystems.

Für Unternehmen, die bereits Solaris im Einsatz haben, lohnt sich die Mühe allemal, da Zonen viele Vorteile bieten. Für alle anderen gibt es hingegen keinen triftigen Grund, allein wegen der Virtualisierungsfunktion auf Solaris umzuschwenken. Sowohl für Linux, als auch Windows existieren leistungsfähige Lösungen wie beispielsweise Virtuozzo von Swsoft, die ähnliche Funktionen bieten, allerdings jedoch auch ihren Preis haben.