Workshop: Sheepdog als verteiltes Dateisystem

Von Schafen und Hunden

Schon seit einiger Zeit ist verteilter Storage ein heißes Thema. Neben den Branchengrößen Ceph und GlusterFS gibt es noch eine Reihe alternativer Implementierungen von verteilten Datenträgern. Insbesondere Sheepdog beweist hier ausgesprochene Hartnäckigkeit und bekommt auch die entsprechende Aufmerksamkeit von nutznießenden Projekten wie Qemu oder OpenStack. Vor allem für die Virtualisierung von Storage für KVM-Maschinen hat Sheepdog einiges zu bieten.
Der Verlust wichtiger Daten ist für jedes Unternehmen eine Katastrophe. Daher dreht sich in der Juli-Ausgabe des IT-Administrator alles um das Thema ... (mehr)

Kazutaka Morita hob das Sheepdog-Projekt 2009 aus der Taufe, weil es keine Open Source-Implementierung einer Cloud-fähigen Storage-Lösung gab, die ähnlich funktionierte wie Amazons S3. Nach dem ursprünglichen Plan sollte Sheepdog [1] skalierbar, hochverfügbar und einfach zu verwalten sein. Das Setup von Ceph, das damals schon existierte, war Kazutaka zu kompliziert. GlusterFS wiederum war weitgehend unbekannt. Außerdem gilt für beide, dass sie damals eher auf den NAS-Markt zielten. Sheepdog war von Anfang an als Storage-Infrastruktur für KVM/Qemu vorgesehen (siehe auch Kasten “Virtuelle Abbilder mit Sheepdog”). Da Kazutaka bei der NTT (Nippon Telegraph and Telephone Corporation) arbeitet, finden sich entsprechende Copyright-Vermerke im Quelltext, der aber unter der GPLv2-Lizenz steht.

Die Herde von Sheepdog

Grob gesagt besteht Sheepdog aus drei Komponenten: einer Clusterware, Storage-Servern und dem Netzwerk. Zum Thema Netzwerk gibt es nicht viel zu sagen. Die Software ist IP-basiert, und das impliziert für die meisten Umgebungen Ethernet als Transportmedium. Prinzipiell ist auch Infiniband nutzbar, solange der Stack eine IP-Adresse an Sheepdog weiterreicht.

Die Clusterware hat drei Funktionen. Sie protokolliert, welche Rechner gerade Teil des Verbundes sind, verteilt Nachrichten an die beteiligten Knoten und unterstützt das Locking von Storage-Objekten. Die entsprechende Software ist übrigens nicht Bestandteil des Projekts. Ihre Installation und Konfiguration muss der Admin erledigen, bevor Sheepdog an der Reihe ist. In der Standard-Konfiguration setzt Sheepdog dazu auf Corosync [2]. Alternativ kann der Anwender auch Zookeeper [3] verwenden. Beim Übersetzen der Software ist der -Aufruf dazu mit der Option zu versehen. Bei Zookeeper von Clusterware zu sprechen, ist eigentlich nicht ganz korrekt. Die Software stellt zwar die oben genannten Funktionen bereit, ist aber

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023