Mit Netapp StorageGrid und Panzura eine eigene Advanced Dropbox Lösung bauen

This entry is part 4 of 4 in the series NetApp Cloud

Einführung

In diesem Artikel erkäre ich, wie man in seinem Unternehmen eine eigene verteilte Datenhaltung – vergleichbar mit Dropbox – realisieren kann. Dafür nutzen wir Produkte der Hersteller NetApp und Panzura. Das Produkt Storage Grid Webscale von NetApp speichert die Daten als S3-Objekte, während das Produkt Freedom Collaboration von Panzura den Client-Zugriff via CIFS shares bereitstellt. Im Blog-Artikel Collaboration für CIFS shares mit Panzura erklärte Michael bereits, wie das hier eingesetzte Produkt Freedom Collaboration durch Global File Locking und Optimierungen auf der Netzwerk-Ebene das weltweite Sharing von Dateien via CIFS erst praktikabel macht. In diesem Artikel gehe ich auf die Umsetzung einer solchen Dropbox-ähnlichen Lösung ein und erläutere ein paar Konzepte dazu.

Fangen wir mit dem Unterbau an. Hier haben wir uns für Storage Grid Webscale entschieden. Über eine ILM-Policy werden die Daten immer an alle Standorte verteilt.

Da Storage Grid Webscale seine Daten nur per S3- oder Swift-Protokoll verteilt und nachdem StorageGrid Gateway zwar die Daten dann per CIFS oder NFS zur Verfügung stellt, aber dazu kein Global File Locking macht, kommt das Produkt Freedom Collaboration des Herstellers Panzura zum Einsatz.

Die Panzura-Software als Appliance oder VM kann auf Storage Grid Webscale aufsetzen und über alle Standorte ein Global File Locking bilden.

StorageGrid-Unterbau

Zuerst wurde an zwei Standorten eine Storage Grid-Umgebung aufgebaut, damit (wie bei Dropbox) die Daten immer an allen Standorten physikalisch vorliegen und die Zugriffszeiten so gering wie möglich sind.

Im einfachsten Fall legt der Kunde seine Daten am Standort 1 und 2 per CIFS und NFS ab während in der ILM-Policy ist festgelegt ist, dass die Daten auf alle weiteren Standorte verteilt werden.

Was muss dazu konfiguriert werden?

StoragePool

Zuerst wird ein sogenannter StoragePool definiert, damit StorageGrid weiß, wo es die Daten ablegen kann.

In diesem Beispiel Standort 1 mit dem Namen RZ1 und Standort 2 mit Namen RZ2.

ILM-Policy

Zum StoragePool kommt eine ILM Policy hinzu. Diese legt fest, dass die Daten immer als Kopie an Standort 1 und 2 abgelegt werden.

Nicht wundern über die 2. Regel: Falls die 1. Regel nicht ausgeführt werden kann, springt die Default-Regel ein und StorageGrid speichert die Daten 2-mal im gleichen StoragePool, aber nur am gleichen Standort.

 

ILM-Rule

Jetzt wird noch eine ILM-Rule benötigt, die definiert, wann die ILM-Policy ausgeführt werden soll. Die als „Reference Time“ gesetzte „Ingest Time“ bezeichnet den Zeitpunkt, an dem die Daten hereinkommen.

Dadurch sind alle Daten immer an allen Standorten vorhanden. Das Global File Locking fehlt jedoch noch. Dazu braucht es die Lösung des Hersteller’s Panzura.

Panzura

Einfachster Aufbau einer Panzura-Lösung

Hier werden die Daten nicht im Unternehmen, sondern auf einem S3-Ziel (Cloud) abgelegt. Für die User oder die Applikation sehen diese dennoch aus wie lokale Daten.

Diese Lösung ist jedoch in meinen Augen noch kein Key Feature. Dafür gibt es viele Produkte am Markt, die auch in Clouds speichern können.

Die „richtige“ Lösung

Die Panzura Gateways werden in diesem Fall als Sprecher zwischen den Welten benutzt, um jeweils CIFS/NFS auf S3 umzusetzen und umgekehrt.

Jeder Standort sieht den gleichen Verzeichnisbaum, aber die Daten liegen physikalisch in der Cloud. Nur ein paar Metadaten sind in den Appliances oder VM’s zwischengespeichert. Der wichtigste Punkt bei diesem Aufbau ist einzig und allein die Bandbreite zur Cloud. Auch hierbei können Kollegen aus dem Netzwerk-Team helfen, die unter anderem auch den Nürnberger Internet-Austauschknoten N-IX betreiben.

Global File Locking

Das Key Feature ist das sogenannte Global File Locking:

Wenn Benutzer 1 z.B. in San Jose eine Datei öffnet, dann wird dies dem Benutzer 2 in Rom sofort angezeigt, sobald dieser versucht das gleiche File zu öffnen. Die Cloud sieht wie ein einziger großer Server aus, egal ob der S3 Speicher bei der Proact, AWS, Azure oder im eigenen Rechenzentrum in einer Storage Grid Webscale Umgebung liegt.

Unsere „Dropbox“-Lösung

Jetzt kommen zu dem StorageGrid-Unterbau die Panzura-Maschinen dazu.

Wir bauen am Standort 1 ein HA-Pärchen mit Panzura VM’s auf und am Standort 2 nur eine VM, die an die Panzura Primary VM angehängt wurde.

Die Panzura Software stellt das Global File Locking sicher.

Warum genau dieser Aufbau? Ein kleines Ablauf-Beispiel

Öffnet ein Benutzer am Standort 1 z.B. eine PowerPoint-Datei und ändert eine Folie, bekommen die Panzura-Instanzen dies mit und sperren diese Datei. Falls ein 2. User jetzt diese Datei öffnen will, ist dies nicht möglich und er wird darüber benachrichtigt. Dabei ist es egal, wo sich der User befindet. Solange die Datei geöffnet ist, ist sie gesperrt.
Wenn jetzt an einer Datei größere Änderungen vorgenommen und gespeichert wurden kann auch noch folgendes passieren:

Zeitablauf beim Öffnen einer gespeicherten Datei

  • Benutzer 1 am Standort 1 speichert.
  • Benutzer 2 am Standort 2 öffnet kurz danach die Datei, aber die Panzura im Standort 2 weiß, dass Änderungen vorgenommen wurden, die noch nicht am Standort 2 angekommen sind. Deshalb lädt Panzura die Datei aus Standort 1 zum Öffnen und liefert diese aus.
  • Würde Benutzer 2 die Datei zu einem späteren Zeitpunkt (StorageGrid hat die Änderungen schon übertragen) öffnen, lädt die Panzura Instanz am Standort 2 die Datei aus dem lokalen Storage und liefert sie aus.

Bei all den Zeitabläufen kommt es immer darauf  an, welche Bandbreite die Lösung zum Datenabgleichen bekommt.

Fazit

Diese Lösung ist ideal für Entwickler, die immer mit den neuesten Daten arbeiten wollen beziehungsweise müssen, egal wo die Daten oder Entwickler sich physikalisch befinden.

Mehr?

Haben Sie Fragen zu der vorgestellten Lösung? Möchten Sie in Ihrem Unternehmen etwas Ähnliches implementieren? Kontaktieren Sie uns. Wir helfen gerne.

Series Navigation<< NetApp StorageGrid Webscale 10.4

Matthias Kellerer

Matthias Kellerer ist seit Oktober 2013 für die Firma Proact Deutschland tätig. Sein Fokus liegt hauptsächlich auf NetApp Hard- und Software, die angrenzenden Themen Virtualisierung und Netzwerk sind für Ihn dabei auch kein Neuland.

 
Kommentare

Noch keine Kommentare vorhanden.

Hinterlassen Sie einen Kommentar