Aus Linux-Magazin 10/2011

Open Nebula 3

© igorfp, Fotolia

Mit der neuen Version 3 (Iris) positioniert Open Nebula 3.0 ein mächtiges Werkzeug zum Verwalten von Cloudsystemen am Firmament. Der Cloudnebel bringt ein überarbeitetes Management-Interface, Zonen und viele hilfreiche Features für den Admin-Alltag – auch für Firmen mit kleineren Setups.

Cepheus war der Name zweier antiker Könige. Der eine, König des peloponnesischen Tegea, hatte zwanzig Kinder und segelte mit Jason und den Argonauten. Der andere war Herrscher von Äthiopien, heiratete Kassiopeia und nannte seine Tochter Andromeda. Nach ihm ist heute das Sternbild Cepheus benannt, in dem sich auch der Iris-Nebel befindet (siehe Artikelbild). Den wiederum haben sich die Entwickler des von führenden Wissenschaftseinrichtungen getriebenen Open-Source-Cloud-Projekts Open Nebula als Namensgeber für ihre Version 3 ausgesucht. Sie erscheint Anfang September, dieser Artikel stellt das Projekt anhand der letzen Betaversion vor.

My Cloud is my Castle

Dynamische, bedarfsorientierte und abstrahierte IT-Infrastrukturen, das sei Cloud Computing, sagen dessen Fans. Gegner sehen darin nur einen Marketing-Hype. Doch viele Firmen überlegen mittlerweile, wie sie mit Ressourcen aus der Wolke ihre IT optimieren [1]. Auch der österliche Wolkenbruch bei Amazon [2] oder Microsofts vermutlich nur ehrliche Aussage [3], dass sie unter entsprechenden Voraussetzungen in Office 365 verarbeitete Daten an entsprechende Regierungsstellen ohne vorherige Information der betroffenen Nutzer herausgeben müssten, sorgen nach wie vor für Misstrauen bezüglich der Herausgabe von Diensten und Daten.

Bei der privaten Wolke dagegen bleibe zumindest der oft befürchtete Kontrollverlust aus, sagen jedenfalls die Admins und IT-Leiter. Infrastruktur und die darauf verarbeiteten Daten befinden sich im Haus, aber trotzdem lassen sich erste Erfahrungen mit der Technologie sammeln. Häufig erweist es sich finanziell auch schlicht als günstiger, die verwendete Infrastruktur selbst zu betreiben als sie strikt nach Ressourcen von Dritten abrechnen zu lassen.

Ein offener, skalierbarer Cloudnebel

Genau für diese Bedürfnisse stellt Open Nebula eine komplette Open-Source-Lösung bereit, die bei der Infrastructure-as-a-Service-Cloud (IaaS) gute Dienste leistet. Der Sternenwirbel zeigt sich dabei flexibel und erlaubt private, hybride, aber auch öffentliche Wolken. Das unter der Apache License 2.0 [4] veröffentlichte Open Nebula fand als Forschungsprojekt in der Distributed Systems Architecture Research Group an der Complutense Universität von Madrid seinen Ursprung [5], was nicht zuletzt seinen hohen Verbreitungsgrad an wissenschaftlichen Einrichtungen erklärt.

So gibt es etwa vom CERN (dem europäischen Kernforschungszentrum) Berichte [6], dort hätten die Admins mit Open Nebula zeitweise bis zu 16 000 virtuelle Maschinen für ein virtualisiertes Batchsystem verwaltet, das die Forscher bei der Auswertung der am weltgrößten Teilchenbeschleuniger gewonnenen Messergebnissen unterstützt. Aber Open Nebula kann auch für weitaus kleinere Umgebungen nützlich sein.

Beim grundsätzlichen Aufbau unterscheidet es sich nicht sehr von Alternativen wie Eucalyptus und Nimbus [7]. Wie die Konkurrenz bevorzugt es Prozessoren mit Virtualisierungsfunktionen und setzt auf Linux als Betriebssystem. Bei Open Nebula stehen Pakete für Ubuntu, Debian, Centos und Open Suse zur Verfügung, das Übersetzen aus dem Quellcode ist auch möglich. Je nach eingesetzter Distribution sind mehr oder weniger Abhängigkeiten aus Dritt-Repositories zu installieren. Der Kasten “Vom Login zur laufenden VM” gibt einen schematischen Überblick aus Anwendersicht, wie es sich mit Open Nebula im Alltag arbeitet.

Vom Login zur laufenden VM

1. Ein Benutzer meldet sich per SSH oder über die Webschnittstelle am Frontend an.

2. Er fordert gemäß seiner Wunschkonfiguration eine virtuelle Maschine an.

3. Open Nebula stellt die angepasste Imagedatei auf Basis der Anforderungen aus der Templatedatei bereit.

4. Das Frontend baut eine SSH-Verbindung zum zugewiesenen Clusternode auf.

5. Der Clusternode passt das Netzwerk an (Bridging).

6. Open Nebula stellt die Dateien zusammen, die der Hypervisor auf dem Clusternode für die Ausführung der VM benötigt.

7. Der Hypervisor startet die virtuelle Maschine.

8. Der Anwender erhält Zugriff auf die virtuelle Maschine.

Flexibel dank Libvirt

Bei der Auswahl eines Hypervisors zeigt sich Open Nebula dank des verwendeten Virtualisierungs-API Libvirt [8] nicht wählerisch. Diese benutzt KVM und Xen direkt, für VMwares ESX, ESXi und VMware Server steht ein optionaler Treiber bereit. Gerade dieser VMware-Support macht Open Nebula besonders für heterogene Umgebungen interessant, weil es den bei der Konkurrenz Eucalyptus nur in der kostenpflichtigen Enterprise-Edition gibt. Prinzipiell wäre durch den Einsatz der Libvirt in Zukunft auch die Integration weiterer Virtualisierungstechnologien denkbar, etwa des Open-Source-Tools Virtualbox.

Konzeptionell unterscheidet Open Nebula zwischen einem Frontend und den Clusternodes. Das Frontend stellt die administrative Schnittstelle zwischen den Benutzern der Cloud und den verwalteten Ressourcen dar – hier werden Aktionen wie das Starten einer virtuellen Maschine durch die Kommandozeilen-Werkzeuge oder seit Version 2.2 auch durch das Sunstone Webinterface ausgelöst (siehe Abbildungen 2 und 3). Benutzer, die mit Browser-Plugins wie Elastic Fox oder Hybrid Fox [9] vertraut sind, können diese zu einem gewissen Grad mit Open Nebula einsetzen, da es einen Teil der EC2-Schnittstelle implementiert.

Abbildungen 2 und 3: Das Dashboard der Open-Nebula-Version 3 begrüßt den Anwender im Sunstone-Web-GUI mit einer schnellen Ressourcenübersicht, einer Amazon-Cloud-Watch-ähnlichen Lastdarstellung und diversen Assistenten.

Abbildungen 2 und 3: Das Dashboard der Open-Nebula-Version 3 begrüßt den Anwender im Sunstone-Web-GUI mit einer schnellen Ressourcenübersicht, einer Amazon-Cloud-Watch-ähnlichen Lastdarstellung und diversen Assistenten.

Die Kommunikation zwischen dem Frontend und den Clusternodes, also den Hosts, auf denen die virtuellen Maschinen (VMs) letztlich laufen, erfolgt über eine verschlüsselte SSH-Verbindung – hier muss der Admin bei der Konfiguration darauf achten, dass er sie passwortfrei mit SSH-Keys gestaltet.

Lokale vs. zentrale Datenhaltung

Die SSH ist auch für das Verteilen der Images von Bedeutung: So ist simples Kopieren via SCP eine der beiden Möglichkeiten, wie ein Clusternode ein zu startendes Image erhält. Abbildung 4 zeigt dieses Verteilungsszenario. Eine solche lokale Ablage hat den beachtlichen Vorteil, dass alle benötigten Ressourcen direkt auf dem Host zur Verfügung stehen, also eine einmal gestartete virtuelle Maschine weitestgehend autark von externen Komponenten läuft.

Abbildung 4: Die Ablage der Imagedateien ist lokal auf den Clusternodes möglich, schränkt aber die Flexibilität ein. In diesem Szenario verteilt der Admin die Images via SSH oder SCP.

Abbildung 4: Die Ablage der Imagedateien ist lokal auf den Clusternodes möglich, schränkt aber die Flexibilität ein. In diesem Szenario verteilt der Admin die Images via SSH oder SCP.

Die zentralisierte Lösung dagegen sieht die Ablage des kompletten Open-Nebula-Verzeichnisbaums auf einem zentralen, für alle beteiligten Knoten verfügbaren Pfad vor (Abbildung 5). Hierfür kommt meist NFS zum Einsatz. Der NFS-Server kann zu Testzwecken der Frontend-Knoten sein, bei größeren Umgebungen ist aber dedizierte, redundante Hardware Pflicht. Ein Vorteil dieses Setups ist, dass Admins virtuelle Maschinen live migrieren können – die VMs lassen sich also unterbrechungsfrei im laufenden Betrieb zwischen den Clusternodes verschieben, weil keine lokalen Abhängigkeiten wie Diskimages bestehen.

Abbildung 5: Ein Open-Nebula-Setup mit Ablage sämtlicher Daten auf einem allen Systemen zugänglichen Netzwerk-Dateisytem. Dies kann klassisch NFS, aber auch ein verteiltes Dateisystem wie Moose FS sein.

Abbildung 5: Ein Open-Nebula-Setup mit Ablage sämtlicher Daten auf einem allen Systemen zugänglichen Netzwerk-Dateisytem. Dies kann klassisch NFS, aber auch ein verteiltes Dateisystem wie Moose FS sein.

Leider würdigt der Scheduler, der die VMs auf die einzelnen Hosts verteilt, diese Möglichkeit nicht ausreichend, lastabhängiges Verschieben ist nicht möglich. Das bei der Konkurrenz VMware implementierte Powermanagement, also schlecht ausgelastete Hosts zeitweise herunterzufahren und die Auslastung der anderen zu erhöhen, fehlt ebenfalls.

Elch-Dateisystem

Eine Alternative zu NFS wäre ein fehlertolerantes, verteiltes Netzwerk-Dateisystem wie Moose FS [10]. Das lässt sich grundsätzlich auch aus den lokalen Festplatten der Clusternodes aufbauen, ausreichend freier Speicherplatz und leistungsfähige I/O-Subsysteme vorausgesetzt. Ein entsprechendes Modul, das einen optimierten Kopiervorgang auf Basis eines Snapshots der Imagedatei durchführt, existiert bereits [11].

Der beschriebene, für Moose FS angepasste Transportmanager ist ein schönes Beispiel dafür, wie sich Open Nebula dank SSH zum Verwalten relativ einfach erweitern lässt – er besteht inklusive Kommentaren aus nur rund 350 Zeilen Shellskript-Code. Zusätzlich bietet Open Nebula für Erweiterungen noch eine XML-RPC-Schnittstelle an.

Mag es für kleine Virtualisierungsumgebungen noch zumutbar sein, virtuelle Maschinen händisch oder mit Automatismen wie Kickstart zu installieren, ist es in einer Cloudumgebung mit einer großen Anzahl ähnlicher Systeme weitaus sinnvoller, mit Vorlagen zu arbeiten, die Anwender dann vor dem Starten der virtuellen Maschine personalisieren. Wie diese Kontextualisierung genau durchzuführen ist, beschreibt die Open-Nebula-Dokumentation [12].

Hierzu bietet die Software seit der Version 2.0 zudem eine Imageverwaltung an, mit der Benutzer eigene Images ablegen. Diese können sie auch anderen Anwendern zur Verfügung stellen, die sie dann gemäß ihren eigenen Anforderungen personalisieren. Die dorthin notwendigen Schritte lenkt der Kasten “Vom Login zur laufenden VM”.

Installieren und Upgraden

Die Installation von Open Nebula 3 gleicht in weiten Teilen der von Version 2.2. Zu beachten ist beim Kompilieren aus dem Quellcode lediglich, dass alle für die Weboberfläche benötigten Ruby Gems installiert sind. Listen der Juwelen finden sich sowohl in der Open-Nebula-Installationsanleitung [13] als auch in den Requirements der Sunstone Weboberfläche [14].

Die Entwickler haben auch die Migration von Version 2.2 auf 3.0 vorgesehen: Nach dem Herunterfahren der Open-Nebula-Dienste auf dem Frontend sollte der Admin aber vor dem Upgrade ein Backup vornehmen, damit der Weg zurück offen bleibt und ein Vergleich der Konfigurationsdateien möglich ist. Die Version 3.0 bringt eine neue Datenbankstruktur mit, zum Anpassen dient der neue Befehl »onedb upgrade -v« .

Vor dem Neustart der Dienste sollte der Admin die neuen Konfigurationsdateien mit den alten vergleichen, und zwar mit besonderem Augenmerk auf die aktivierten Treiber. Ist die Installation oder der Sprung auf die 3.0 geschafft und laufen alle nötigen Dienste fehlerfrei, richtet sich der Blick auf die neuen Features in Open Nebula 3.

Was fürs Auge

Als Erstes fällt die Weboberfläche namens Sunstone auf. Begrüßte den Anwender der Version 2.2 noch eine recht karge Startseite, wird er nun mit grafisch aufbereiteten Statistiken und benutzerfreundlichen Quicklinks auf dem Dashboard willkommen geheißen. Die greifen ihm unter anderem bei der Erstellung von virtuellen Maschinen unter die Arme (Abbildungen 2 und 3).

Ebenfalls neu in der Weboberfläche sind eine erweiterte Benutzer- und Gruppenverwaltung sowie das Anlegen von Templates für virtuellen Maschine. Neben der Komplettübersicht auf dem Dashboard zeigt das Webinterface auch die Auslastung jeder einzelnen virtuellen Maschine an. Als äußerst nützliche Neuerung erweist sich auch die Möglichkeit, direkt aus dem Browser per VNC auf eine VM zuzugreifen (Abbildung 6).

Abbildung 6: Das Sunstone-Web-GUI startet direkt aus dem Browser heraus virtuelle Maschinen. Kontrollieren kann sie der Admin in der eingebauten VNC-Konsole.

Abbildung 6: Das Sunstone-Web-GUI startet direkt aus dem Browser heraus virtuelle Maschinen. Kontrollieren kann sie der Admin in der eingebauten VNC-Konsole.

Für die Verbindung nutzt Open Nebula das No-VNC-Plugin, das mit Firefox und Chrome kompatibel ist. In der Betaversion kämpfte dieses Feature leider mit ein paar Stabilitätsproblemen und funktionierte nur mit virtuellen Maschinen, die auf demselben Clusternode liefen wie die Weboberfläche. Bis zum Erscheinen der finalen Version wollen die Entwickler aber diesen Bug behoben haben.

Im Nebel

Neben den Erweiterungen der Sunstone-Oberfläche hat eine Reihe von Änderungen Einzug gehalten, die nicht auf den ersten Blick bemerkbar, aber mindestens genauso nützlich sind. Sie betreffen insbesondere das Auth-Subsystem, das Benutzeranfragen authentifiziert und autorisiert. Ab der Version 3 ist es möglich, Benutzer und Gruppen anzulegen und deren Berechtigungen über ACLs (Access Control List) zu konfigurieren.

Die Benutzerrechte passt der Systemverwalter entweder individuell an seine Bedürfnisse an oder weist die Rechte über die Gruppen-ACL den Benutzern der jeweiligen Gruppe zu. Das Anlegen und Einrichten von Benutzern, Gruppen und ACLs erledigt ein Mitglied der »oneadmin« -Gruppe.

Damit sich ein Benutzer an Sunstone anmelden kann, muss dieser nicht auf dem lokalen System eingetragen sein – Open Nebula pflegt eine getrennte Benutzerverwaltung. Das Auth-Subsystem überprüft Anfragen, die beispielsweise die XML-RPC-Schnittstelle übergibt, auf Benutzername und Passwort und gleicht die angeforderte Aktion mit den Benutzerrechten in der Datenbank ab.

Die Cloudsoftware kommt mit einigen Standard-ACLs, die der Admin überprüfen und überarbeiten kann. Durch die ACLs kann er beispielsweise definieren, dass ein Benutzer nur lesenden Zugriff auf den Status aller laufenden VMs erhält. In naher Zukunft wollen die Entwickler eine Authentifizierung über LDAP integrieren.

Sicherheit und Vorlagen

Auch das Netzwerk-Subsystem präsentiert sich in Version 3 grundlegend überarbeitet. Als neue Funktionen sind eine Firewall, Open Vswitch und Vlan-Tagging (IEEE 802.1Q) von virtuellen Maschinen hinzugekommen. Die Instanzen lassen sich jetzt über einen Eintrag in der Templatedatei mit IPtables-Regeln versehen. Das musste der Admin bislang auf eigene Faust umsetzen. So darf er beispielsweise einzelne Ports explizit freischalten, blockieren oder Protokolle wie ICMP komplett für eine VM deaktivieren. Auch dieses Feature funktioniert in der Beta noch nicht, bis zum Redaktionsschluss gab es noch Probleme mit der Implementierung.

In der neusten Version erweitert Open Nebula darüber hinaus die Vorlagenverwaltung. Sie ermöglicht es, standardisierte Templatedateien zu integrieren, über die der Admin einer VM eine feste Konfiguration zuweist. In Kombination mit dem neuen Auth-Subsystem ist es somit möglich, den Zugriff auf einzelne Templates auf bestimmte Gruppen oder Benutzer einzuschränken.

Virtuelle Zonen

Eine vor allem für große Installationen interessante Neuerung ist die Zonen-Komponente von Open Nebula. Diese hilft beim Aufbau von unterschiedlichen Cloudumgebungen über mehreren Zonen hinweg. Hier kommen die so genannten Virtual Data Centers ins Spiel: Ein VDC ist eine vollständig isolierte, virtuelle Infrastruktur-Umgebung, in der eine Gruppe von Nutzern virtuelle Maschinen anfertigt und verwaltet. Jedem VDC kann der Admin eine beliebige Anzahl an Clusternodes der gesamten Infrastruktur zuweisen.

Ebenso gibt es drei verschiedene Benutzergruppen mit unterschiedlichen Aufgaben und Rollen. Die Gruppe mit den universellsten Rechten ist »Cloud Admin« . Deren Mitglieder haben als Administratoren die volle Kontrolle über die komplette Infrastruktur und sind für das Einrichten der VDCs zuständig. Die zweite Gruppe ist »VDC Admin« , diese Benutzer haben volle Kontrolle über ihnen zugewiesene VDCs. Dort administrieren sie virtuelle Ressourcen und legen weitere Benutzer für ihre VDCs an.

Dritte Gruppe ist die der nicht administrativen Benutzer, die auf für sie freigeschaltet VDCs zugreifen und dort virtuellen Ressourcen verwenden. Abbildung 7 zeigt die drei Benutzergruppen und eine Zone (»VDC Blue« ). Mit den Open Nebula Zones haben Cloud-Administratoren ein gutes Werkzeug, um die vorhandene Infrastruktur in einzelne Bereiche oder Abteilungen einzuteilen und das Ganze etwas übersichtlicher zu halten. Das ACL-System des Auth-Subsystems ermöglicht diese Zonierung.

Abbildung 7: Aufteilung der Cloud-Infrastruktur mit Open Nebula Zone: Ressourcen lassen sich zu einzelnen virtuellen Rechenzentren (VDCs) kombinieren, für die Benutzer mit unterschiedlichen Rollen angelegt werden können.

Abbildung 7: Aufteilung der Cloud-Infrastruktur mit Open Nebula Zone: Ressourcen lassen sich zu einzelnen virtuellen Rechenzentren (VDCs) kombinieren, für die Benutzer mit unterschiedlichen Rollen angelegt werden können.

Bislang war es nicht möglich, Amazon-S3-Images in Open Nebula einzubinden. Diesen Mangel beseitigten die Entwickler nun mit dem Open Nebula Catalog [15]. Er erlaubt es, Diskimages von externen Storage-Anbietern zu integrieren und mit Open Nebula zu verwenden. Das Catalog-Tool passt das Image (wie bei der Kontextualisierung) an und bereitet es für die Verwendung mit Open Nebula vor. In der ersten Version ist bisher allerdings nur der S3-Treiber für Amazon Machine Images (AMIs) enthalten.

Fazit

Open Nebula ist mit der Veröffentlichung der Version 3.0 deutlich gereift. Insbesondere das neue Berechtigungssystem liefert viel zusätzliches Potenzial für den sicheren Betrieb einer mandantenfähigen Cloudumgebung. Die Weboberfläche ist in der neuen Version zu einem ernsthaften Werkzeug herangewachsen, das inzwischen für einiges mehr als nur das Überwachen laufender virtueller Maschinen dient.

Die Integration der Unterstützung für Amazon Machine Images ist für den Admin interessant, der über die Erweiterung seiner privaten Wolke hin zu einer hybriden Cloud nachdenkt, die neben lokaler Infrastruktur auch Ressourcen bei Cloudanbietern wie Amazon verwaltet. Den entsprechenden Treiber bringt Open Nebula seit mehreren Jahren mit.

Iris erweist sich als flexibles, leicht anpassbares System, das außer Verbesserungen an der Benutzerfreundlichkeit wenig Wünsche offen lässt. Man merkt Open Nebula an, dass das Projektziel nicht die Schaffung eines Amazon-EC2-Klons ist, sondern ein eigenständiges Cloudmanagement-Tool, das technisch versierten Anwendern deutlich flexiblere Lösungen bietet. Außerdem ist die Entwicklergemeinde sehr aktiv und hilft bei Problemen schnell und kompetent via Mailingliste [16] weiter.

Infos

  1. Holger Gantikow, Markus Feilner, “Himmelfahrt planen”: Linux-Magazin 07/2011, S. 30
  2. The Aftermath of Amazon’s Cloud Outage: http://www.datacenterknowledge.com/archives/2011/04/25/the-aftermath-of-amazons-cloud-outage/
  3. Zack Whittaker, “Microsoft admits Patriot Act can access EU-based cloud data”: http://www.zdnet.com/blog/igeneration/microsoft-admits-patriot-act-can-access-eu-based-cloud-data/11225
  4. Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0.html
  5. DSA Research Group an der Complutense-Universität Madrid: http://dsa-research.org
  6. “CERN cloud scaling to 16,000 VMS!”: http://blog.opennebula.org/?p=983
  7. Markus Feilner, “Selbst gemachte Wolken”: Linux-Magazin 05/2010, S. 44
  8. Libvirt: http://libvirt.org
  9. Markus Feilner, “Wolkenkratzer”: Linux-Magazin 05/2010, S. 40
  10. Moose FS: http://www.moosefs.org
  11. Moose-FS-Transport-Manager:http://opennebula.org/software:ecosystem:moosefs
  12. Contextualizing Virtual Machines 3.0: http://opennebula.org/documen-tation:rel3.0:cong
  13. Building Open Nebula from Source Code: http://opennebula.org/documentation:rel3.0:compile
  14. Open Nebula Sunstone: http://www.opennebula.org/documentation:rel3.0:sunstone
  15. Open Nebula Catalog: http://opennebula.org/software:addons
  16. Mailinglisten: http://opennebula.org/community:mailinglists

Der Autor

Holger Gantikow und Christoph Raible haben beide an der Hochschule Furtwangen Informatik studiert und sind bei der Science + Computing AG in Tübingen als System Engineers tätig.

Dort beschäftigen sie sich mit Linux, Cloud Computing und der Komplexität heterogener Systeme im CAE-Berechnungsumfeld.

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben