26.02.2014 Aufrufe

ADMIN Magazin Gestapelt - Schneller und sicherer mit RAID (Vorschau)

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Know-how<br />

Open Stack<br />

rauf hinaus, dass Open Stack sich an<br />

vorhandene Billing-Systeme nahtlos anschließen<br />

lässt, um die durch Benutzer in<br />

Anspruch genommenen Dienstleistungen<br />

automatisch zu verrechnen.<br />

Object Storage <strong>mit</strong> Swift<br />

Abbildung 3: Das Dashboard bietet auch eine Kurzübersicht über die Ressourcen, die ein Benutzer innerhalb<br />

eines definierten Zeitraums verwendet hat.<br />

Die schönste Cloud-Umgebung ist nichts<br />

wert, wenn Nicht-Nerds sie nicht bedienen<br />

können. Das Open-Stack-Dashboard,<br />

Codename Horizon, kümmert sich genau<br />

darum: Es ist bietet ein Self-Service-Portal,<br />

das genauso wie alle anderen Open<br />

Stack-Teile in Python geschrieben ist<br />

(Stichwort Django) <strong>und</strong> den Benutzern<br />

einer Open-Stack-Installation den Start<br />

von VMs per Mausklick aus dem Webbrowser<br />

ermöglicht. Voraussetzung dafür<br />

ist lediglich ein WSGI-fähiger Webserver,<br />

beispielsweise Apache <strong>mit</strong> geladenem<br />

»mod_wsgi«.<br />

Ebenfalls sinnvoll ist die Kombination des<br />

Dashboards <strong>mit</strong> »memcached«, um Performance-Engpässen<br />

vorzubeugen. Aus<br />

Nutzersicht lassen sich <strong>mit</strong> dem Dashboard<br />

nicht bloß VMs starten <strong>und</strong> stoppen,<br />

sondern auch Images in Glance von<br />

laufenden VMs anlegen <strong>und</strong> Hardware-<br />

Profile für virtuelle Systeme verwalten.<br />

Auch eine rudimentäre Statistik-Funktion<br />

ist vorhanden, deren Ausbau zu einer<br />

vollständigen Billing-API zur Diskussion<br />

steht. Letztlich läuft die Entwickler dawerden<br />

<strong>mit</strong>tels iSCSI vom Storage-Host<br />

zu den Computing-Nodes verb<strong>und</strong>en,<br />

wo sie über KVMs Hotplug-Funktion<br />

dann zum Bestandteil einer virtuellen<br />

Maschine werden. Wer stattdessen lieber<br />

auf Ceph setzt, bekommt ein natives<br />

Ceph-Interface <strong>mit</strong>geliefert. Cinder ist<br />

auch eines der Projekte in Open Stack,<br />

deren Funktionsumfang in den nächsten<br />

Monaten beträchtlich wachsen wird,<br />

um weitere Storage-Backends nativ zu<br />

unterstützen. So ist beispielsweise eine<br />

direkte Fibre Channel-Anbindung in der<br />

Diskussion, die sich den Umweg über<br />

den Blockdevice-Layer spart.<br />

Das Hirn der Wolke: Nova<br />

Open Stack Compute, Codename Nova,<br />

ist die zentrale Computing-Komponente.<br />

Weil Cinder (vormals »nova‐volume«)<br />

<strong>und</strong> Quantum (als Ersatz für »nova‐network«)<br />

seit der Folsom-Release in ihre<br />

eigenen Projekte ausgelagert sind, kann<br />

Nova sich ausschließlich darum kümmern,<br />

die virtuellen Systeme innerhalb<br />

einer Openstack-Umgebung zu verwalten.<br />

Es spannt den Bogen um alle anderen<br />

Komponenten <strong>und</strong> kümmert sich darum,<br />

das virtuelle Maschinen in der Wolke<br />

gestartet <strong>und</strong> gestoppt werden, wenn Benutzer<br />

entsprechende Befehle per Kommandozeile<br />

oder Webinterface geben.<br />

Der Dienst ist modular: Neben »nova‐api«<br />

als Frontend gehört auch die eigentliche<br />

Computing-Komponente »nova‐compute«<br />

direkt zu Nova. »nova‐compute« läuft auf<br />

jedem Virtualisierungsknoten <strong>und</strong> wartet<br />

auf entsprechende Anweisungen von<br />

der API-Komponente. Teil von Nova ist<br />

überdies der Scheduler »nova‐schedule«,<br />

der weiß, welche Hypervisor-Knoten<br />

vorhanden sind, <strong>und</strong> welche VMs wo<br />

in der Wolke laufen. Soll eine neue VM<br />

hinzukommen, entscheidet eben dieser<br />

Scheduler, auf welchem Host sie laufen<br />

soll. Übrigens: »nova‐compute« setzt im<br />

Hintergr<strong>und</strong> auf die erprobte »libvirt«,<br />

um virtuelle Systeme zu verwalten. Es ist<br />

den Open Stack-Entwicklern hoch anzurechnen,<br />

dass sie das Rad an dieser Stelle<br />

nicht neu erf<strong>und</strong>en haben <strong>und</strong> stattdessen<br />

auf bewährte Technologien setzen.<br />

Das Dashboard<br />

Die sechs zuvor beschriebenen Komponenten<br />

bilden den Kern von Open Stack,<br />

der sich um das Thema Virtualisierung<br />

kümmert. Wie eingangs erwähnt ist aber<br />

auch der Faktor Storage durchaus von<br />

Interesse: Speicherlösungen wie Dropbox<br />

oder Amazons EC2 gehören ebenso zur<br />

Cloud wie virtuelle Maschinen. In Open<br />

Stack kümmert sich um diesen Teil Swift.<br />

Swift stammt ursprünglich von Rackspace<br />

<strong>und</strong> ist der Part, den der amerikanische<br />

Riesenhoster – als Heimat von Github<br />

bekannt – in das Projekt eingebracht hat.<br />

Bei Rackspace ist Swift bereits seit einiger<br />

Zeit produktiv im Einsatz, sodass es vielen<br />

Entwicklern bis heute als die ausgereifteste<br />

Open-Stack-Komponente gilt.<br />

Unter der Haube funktioniert Swift dabei<br />

ganz ähnlich wie Ceph: Sämtliche<br />

Dateien, die in Swift abgelegt sind, wandelt<br />

das Programm in binäre Objekte<br />

um, die dann über einen großen Cluster<br />

von Storage-Knoten verteilt <strong>und</strong> dabei<br />

inhärent repliziert werden. Weil Swift ein<br />

Kompatibilitätsinterface für Amazons S3-<br />

Protokoll hat, funktionieren alle für S3<br />

entwickelten Tools ebenfalls <strong>mit</strong> Swift.<br />

Wer also in Open-Stack-Manier Online-<br />

Speicher anbieten möchte, bekommt vom<br />

Open-Stack-Projekt das richtige Werkzeug<br />

an die Hand: Swift.<br />

Was es sonst noch braucht<br />

Zu jeder Open-Stack-Installation gehören<br />

zwei Komponenten, die nicht un<strong>mit</strong>telbar<br />

Teil von Open Stack sind: MySQL <strong>und</strong><br />

RabbitMQ. MySQL setzen sämtliche Open<br />

Stack-Komponenten <strong>mit</strong> Ausnahme von<br />

Swift ein, um ihre internen Datenbanken<br />

zu pflegen. Weil alle Open-Stack-Komponenten<br />

in Python geschrieben sind,<br />

haben die Entwickler auf das Python-<br />

Modul »sqlalchemy« gesetzt, um die Datenbankzugriffe<br />

aus ihren Applikationen<br />

heraus umzusetzen. Zwar unterstützt<br />

»sqlalchemy« auch andere Datenbanken<br />

wie PostgreSQL, nahezu sämtliche Open-<br />

Stack-Installation dürften gegenwärtig<br />

76 Ausgabe 06-2012 Admin www.admin-magazin.de

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!