Montag Sep. 14, 2009

Links Special - Verteilte Dateisysteme, Distributed Filesystems

Ich habe mich jetzt schon seit Wochen und Monaten umgesehen, um mal rauszufinden, welche verteilten Filesysteme (FS) es so gibt, welche Erfahrungen die User damit so haben und wie einfach sie zu installieren bzw. zu betreiben sind. Diese FS haben alle teilweise völlig unterschiedliche Einsatzgebiete, für die sie geeignet sind. Meine Ansprüche an so ein System waren: Läuft unter Linux, einfache Installation/Update und Wartung, eventl. für FUSE (filesystem in user space) verfügbar (soweit überhaupt nötig) bzw. direkt als Filesystem mountbar und soll einfach nur Dateien auf 10-20 Rechnern möglichst schnell zur Verfügung stellen. Bisher habe ich zu dem Thema verteilte Filesysteme folgendes Filesystem bzw. Informationen gefunden (kleine Übersicht):

GlusterFS - Man nehme ein paar Server, behandle sie wie Festplatten, erstelle daraus ein Raid (über Rechner hinweg soz.) und schon hat man ein verteiltes Filesystem ;-) Egal was ich über dieses FS gelesen habe, es war immer nur Gutes. Es gibt auch einen Gentoo-Ebuild zum downloaden.

LustreFS - Wird von SUN weiterentwickelt. Gibt es als OpenSource und mit kommerzieller Lizenz.

IBM General Parallel File System - Gibt es nur kommerziell, soll aber ganz gut funktionieren, was man so hört.

Sector-Sphere - Vergleichbar am ehesten mit Google's GFS/MapReduce Stack. Ein noch junges Produkt. Kann per FUSE als Filesystem gemountet werden. Release 2.0 soll dann für den produktiven Einsatz sein und wird im 2 Halbjahr 2009 erwartet. Noch relativ jung.

ChironFS: A filesystem must go on, even if it is hurt - Ein gutes Motto und hört sich auch sonst alles vernünftig an, aber seit 2008 leider kein neuer Release mehr.

PVFS (Parallel Virtual File System) - PVFS brings state-of-the-art parallel I/O concepts to production parallel systems. It is designed to scale to petabytes of storage and provide access rates at 100s of GB/s.

GFS on Gentoo - Erklärt, wie man das Filesystem von Redhat unter Gentoo installiert. Von GFS liest man sehr gemischte Meinungen. Scheint von der Performance her nicht so der Hit zu sein.

Cassandra Project - Weniger ein Filesystem als mehr ein verteilter Key/Value Store. Wurde 2008 von Facebook als OpenSource veröffentlicht und ist jetzt bei der Apache Foundation beheimatet.

Hadoop Distributed File System - Da Hadoop als Backend dahinter hängt, ist es eigentlich mehr für's Verteilen von Daten und zur Anbindung an Sprachen wie Java & Co. gedacht. Kann aber auch per FUSE ins Filesystem eingebunden werden (ist allerdings noch nicht 100% fertig und ausgereift).

MoglieFS - Kommt von den Leuten, die auch memcached gebaut haben. Es ist auch mehr für's Verteilen von Daten/Dateien über Java/PHP/Perl/Python-API's gedacht. Wer also Dateien nicht unbedingt über's Filesystem zugreifbar braucht sondern nur von einer Applikation aus, der könnte hier sein Glück versuchen.

POHMELFS (Parallel Optimized Host Message Exchange Layered File System) - Ein paralleles Netzwerkfilesystem das gleichzeitig von mehreren Rechnern lesen kann und Daten in verschiedene Hosts schreiben kann.

CloudStore (früher Kosmos File System (KFS)) - Baut auf den Ideen von Google's Google Filesystem auf. Als Haupteinsatzgebiet wird hier das Speichern von Webserverlogs und Crawlerdaten gesehen.

Ceph - Für die Skalierbarkeit von Gigabytes bis zu Petabytes gebaut. Noch relativ jung.

Nach allem, was ich jetzt so gelesen habe, habe ich mich für GlusterFS entschieden und auch die ersten Testläufe gemacht. Was ich bisher sagen kann: Um die gleichen Dateien verschiedenen Hosts ohne Single Point of Failure zur Verfügung zustellen oder Daten auf div. Hosts zu replizieren, eignet sich GlusterFS sehr gut. Mehr dazu dann später...

Mehr zu dem Thema:
Wikipedia - List of file systems - Sehr gute Übersicht!
Distributed Parallel Fault Tolerant File System Wanted - Ein Blogeintrag von Jeremy Zawodny der seine Leser nach dem besten verteilten Dateisystem befragt.

Kommentare:

Senden Sie einen Kommentar:
  • HTML Syntax: Ausgeschaltet