Open Source im professionellen Einsatz
Linux-Magazin 11/2016
© Joerg Hackemann, 123RF

© Joerg Hackemann, 123RF

NFS- und CIFS-Shares für VMs mit Open Stack Manila

Separate Silos

Für Blockspeicher ist in Open Stack das Modul Cinder verantwortlich, doch das weiß mit populären Shared-Dateisystemen nichts anzufangen. Dank Manila lassen sich nun aber auch NFS und CIFS als Ressourcen in Open Stack verwalten und nutzen.

861

Wer sich mit Open Stack beschäftigt, kann schnell den Eindruck bekommen, dass das Thema Cloudstorage abschließend gelöst sei. Denn an zentraler Stelle im Setup kümmert sich Open Stack Cinder darum, dass die virtuellen Maschinen Speicher in Form von persistenten Blockgeräten bereitgestellt bekommen (Abbildung 1).

Abbildung 1: Cinder kümmert sich in Open Stack zwar auch um Storage, deckt aber nur den Bereich persistenter Blockspeicher ab.

Cinder folgt zentralen Designvorgaben des Open-Stack-Projekts: Auf der einen Seite stellt es eine Verbindung zum physischem Speicher her, also etwa zu einem SAN oder einer Ceph-Installation. Auf der anderen Seite, die zu den VMs weist, ist Cinder so mit den anderen Open-Stack-Diensten verwoben, dass der Admin eine VM wahlweise per Mausklick mit einem Volume verbindet oder sie von Anfang an von solch einem Volume startet.

Dass Cinder dennoch Defizite hat, merken Admins allerdings sehr schnell, nämlich in dem Moment, in dem die Anforderung nicht mehr nur "persistenter Speicher" lautet, sondern "persistenter, geteilter Speicher". In klassischen Computing-Umgebungen realisieren NFS oder CIFS diesen Shared Storage. In Cinder gibt es für diesen Usecase aber überhaupt keine Lösung und die Nutzer schauen in die Röhre.

Bedarf an geteiltem Storage gibt es jedoch in Cloudumgebungen genauso wie in klassischen Setups. Deshalb sollte es auch für Kunden der Cloud möglich sein, von mehreren VMs aus – und gegebenenfalls auch über die Grenze des eigenen Projekts hinaus – auf den gleichen, geteilten Speicher zuzugreifen.

Eine der größten Stärken von Open Stack ist seine Modularität. So nimmt es nicht Wunder, dass auch eine Komponente entwickelt wurde, die das Problem des geteilten Speichers angeht: Open Stack Manila [1]. Sie will NFS- und CIFS für VMs in Open Stack nutzbar machen (Abbildung 2). Der vorliegende Artikel erklärt dieses Projekt im Detail, zeigt auch die Schwachstellen der Implementierung und erläutert, welche Setups sich mit Manila in Open Stack realisieren lassen.

Abbildung 2: Manila hängt die Shares von geteilten Dateisystemen an VMs an und erlaubt so deren Nutzung.

Mögliche Einsatzszenarien

Warum sind Shared-Filesysteme in Clouds überhaupt von Bedeutung? Es gibt schließlich andere Möglichkeiten, Dateien für mehrere VMs gleichzeitig bereitzuhalten. Etwa durch Amazons S3-Protokoll: Die Anwendungen legen dabei statische Nutzdaten in einem Objektspeicher ab. Klassisches Beispiel sind Assets von Webshops, zum Beispiel Produktbilder. Sie ändern sich selten, werden aber zeitgleich von vielen Clients benötigt.

Weil Bilder ohnehin binäre Objekte sind, eignen sie sich so gut für Objektspeicher. Jedes Bild liegt also in S3 und wird aus der Anwendung heraus mit seinem vollen S3-Pfad referenziert. Der Webbrowser des Kunden lädt sich das jeweilige Bild direkt aus S3 herunter, im Endeffekt sieht die Website so aus, wie der Anbieter es sich wünscht.

Leider hat die Sache einen Haken, wenn es um Legacy-Applikationen geht: Webshops sind hier wiederum ein gutes Beispiel. Die gehen nämlich meist davon aus, dass ihre Assets auf einem zentralen Shared Filesystem liegen, worauf dann auch die Links innerhalb der Website verweisen. Meist kommt hier NFS zum Einsatz. Wer eine solche Applikation in die Cloud bringen möchte, hat mehrere Möglichkeiten.

Eine Option ist die Webshop-Software so umzubauen, dass sie ihre statischen Daten von S3-kompatiblen Speichern laden kann. Nach der reinen Lehre ist das zwar der richtige Weg, das Vorhaben scheitert in der Realität aber oft schon daran, dass die Webshops proprietäre Software sind und der Quelltext dem Webshop-Betreiber gar nicht zur Verfügung steht.

Aber selbst wenn der Quelltext vorliegt, ist die Portierung auf S3-Fähigkeit kein Pappenstiel: Für die gängigen Skriptsprachen im Webdesign stehen zwar S3-Module bereit, zum Beispiel für PHP. Bis eine große Umgebung wie ein Webshop allerdings vollständig auf diesen Weg umgestellt und durchgetestet ist, vergehen Wochen bis Monate.

Aus Sicht des Website-Betreibers gibt es also gewichtige Gründe dafür, in der Webapplikation nicht allzu viel zu verändern und lieber extern jene Funktionen nachzurüsten, mit denen sich die Applikation bestmöglich betreiben lässt.

Clash of Culture: NFS und Open Stack

Grundsätzlich lassen sich Open Stack und NFS auch ohne separate Komponenten zusammen betreiben. Das einfachste Szenario besteht darin, die VMs eines Setups in einem privaten Netzwerk zu starten und auf einer der VMs dann einen NFS-Server zu betreiben.

Was in der Theorie gut klingt, erweist sich aber nur beschränkt als praktikabel: Solch ein Setup bietet nämlich nicht die Option, die Inhalte des NFS-Servers auch VMs zur Verfügung zu stellen, die nicht im selben privaten Netzwerk hängen. Konkret kann das bedeuten, dass der Anbieter auch solche Bilder in der Cloud an mehreren Stellen vorhalten muss, die eigentlich völlig identisch sind. Vor dem Hintergrund der üblichen Methode zur Verrechnung in Clouds – Pay per Use – ist das wenig attraktiv.

Das Problem verdeutlicht den fundamentalen Widerspruch in der Kombination aus Open Stack und Shared-Filesystemen, den Manila zu lösen antritt: Open Stack sieht nicht vor, Dateisysteme über die Grenzen von privaten Netzen hinaus verschiedenen Clients verfügbar zu machen. Manila will jedoch genau das erreichen – und pocht nebenbei auch darauf, NFS- oder auch CIFS-Shares zu qualifizierten Ressourcen zu machen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Cloudstorage

    Zwar bringt Open Stack mit Swift auch eine eigene Storagekomponente mit, doch wer sich Skalierbarkeit und eine einfache Verwaltung wünscht, kann die Cloudlösung mit Gluster-FS verheiraten.

  • Suse stellt Open Stack Cloud 7 vor

    Mit Suse Open Stack Cloud 7 stellt der Nürnberger Distributor seine neueste Open-Stack-Version vor, die auf dem kürzlich veröffentlichten Release Newton basiert. Sie enthält neue Container-as-a-Service-Funktionen.

  • Red Hat Open Stack Plattform 6 verfügbar

    Red Hat aktualisiert sein Infrastructure-as-a-Service-Portfolio mit der neuen Version 6 von Red Hat Enterprise Linux Open Stack Platform, die auf Basis von Red Hat Enterprise Linux 7 entstand.

  • All-Flash-Spezialist unterstützt Open Stack

    Das auf All-Flash-Arrays spezialisierte Unternehmen Pure Storage ist der OpenStack Foundation als Corporate-Sponsor und Mitglied beigetreten.

  • Storage-Cluster

    Wer Cloudumgebungen baut, braucht nicht nur eine skalierbare Infrastruktur, sondern auch eine performante Storagekomponente. Zu den relevanten Speicherlösungen, die dieser Schwerpunkt vorstellt, gehört auch der Newcomer Ceph, der als Objectstore für die Cloud ein schönes Paar mit Open Stack abgibt.

comments powered by Disqus

Ausgabe 10/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.