Eine Zusammenfassung verteilter Dateisysteme
Möglichkeit zum Speichern von Daten und Metadaten
Elastizität zu Ausfällen einzelner Knoten
Flexibilität um das Netzwerk jederzeit zu erweitern oder zu verkleinern
Sehr gut laufen können wenig Speicher Server
EIN verteiltes Dateisystem , im Allgemeinen bieten a im Idealfall POSIX kompatible Dateisystemschnittstelle. Dies ist der wichtigste Teil seiner Definition, da der Aufbau eines Clusters von Knoten, die Daten auf verteilte Weise enthalten, auf viele verschiedene Arten erreicht werden kann, aber der Aufbau eines Knotens, der Zugriff auf eine verwendbar Dateisystemschnittstelle ist eine Herausforderung. Ein Dateisystem wird normalerweise als lokal und daher setzen viele Anwendungen einen schnellen Zugriff darauf voraus, ohne mögliche Latenzprobleme zu berücksichtigen, die auf einem Dateisystem auftreten könnten, das von entfernten Daten unterstützt wird. Nur sehr wenige Anwendungen unterscheiden zwischen lokalen und entfernten Dateisystemen.
Das Austauschen eines Dateisystems durch ein verteiltes kann als eine Form von Rückwärtskompatibilität ...für den Fall, dass Sie eine Anwendung in einer Cloud-Umgebung bereitstellen möchten, die für ihre Datenschicht auf Dateisystemzugriff angewiesen ist, muss die Cloud eine Dateisystemschnittstelle bereitstellen, die sich beliebig auf Maschinen replizieren kann. In einem Einzelbenutzerfall kann es jedoch auch als eine Möglichkeit angesehen werden, den Verwaltungsaufwand zu reduzieren ... anstatt Backups für Daten von jedem einzelnen Server, den Sie ausführen, zu verfolgen, können Sie den Zustand des netzwerkbasierten Dateisystems verfolgen und Backups planen darauf.
Wenn Sie keinen strikten Zugriff auf die Semantik von Dateisystemen benötigen, ist eine verteilte Objektspeicherschnittstelle einfacher und als tragbar und Universal- als Dateisystem mit geringerer Synchronizitätsbelastung für das Netzwerk, da ein Objektspeicher per se keine Metadaten enthält. Einige Objektspeichersoftware bietet eine darauf aufbauende Dateisystemschnittstelle.
Da unser Ziel ist nicht Big Data ignorieren wir Lösungen wie HDFS.
OpenAFS : Dies ist kein richtig verteiltes Dateisystem, da es föderiert Das bedeutet, dass Ausfälle einzelner Knoten zu Störungen führen können.
MinFS : MinFS ist ein Sicherungstreiber für MinIO, ein unkomplizierter verteilter Objektspeicher mit Erasure-Codierung, der jedoch nicht gerade billig zu sein scheint.
xtreemefs : XtreemeFS erreicht Ausfallsicherheit mit dem Äquivalent von RAID0 über Netzwerk
glusterfs : einfach einzurichten, aber schlechte Leistung
ceph : schwieriger einzurichten (und zu verwalten), aber mit sehr guter (und einstellbarer) Leistung
Eidechsen : ordentliche Leistung, geringer anfänglicher Speicherbedarf, aber hoch unter hoher Last
orangefs : minimaler Footprint, sowohl Kernel-Modul als auch Fuser-Modul, warten auf v3 auf asynchrone Metadaten
Rindfleisch : geringer Platzbedarf, Kernelmodul (aber nicht gewartetes Fixiermodul), beste Leistung
Algen : einfach steckbarer Objektspeicher mit Fixiermodul
Hier ergeben einige Benchmarks eine Tabelle, sie decken nicht alle Dateisysteme ab und können an dieser Stelle veraltet sein, und in derf2fs
Ergebnis-Caching könnte durchgerutscht sein :)
FS
seq
rread
rrw
files
create
read
append
rename
delete
raw
78793
1.0409e6
89958
179483
17300.0
23550.0
14408.0
4677
5373
zfs
102121
1.3985e6
92391
198410
29180.0
4470.0
18980.0
4695
8468
f2fs
2.064e6
1.455e6
101674
184495
28320.0
10950.0
16890.0
4233
3912
xtreemefs
159310
29117
29468
1690
510.0
1190.0
520.0
274
330
glusterfs
178026
17222
18152
5681
4380.0
7620.0
3110.0
413
1076
beegfs
79934
103006
85983
24867
9830.0
12660.0
10470.0
2889
3588
orangefs
330781
54735
41611
5523
5120.0
7020.0
6130.0
638
1989
FS
seq
rread
rrw
files
create
read
append
raw
76
266440
22489
44870
4430
6028
3688
zfs
99
358000
23097
49602
7470
1146
4860
f2fs
2064
372524
25418
46123
7250
2803
4325
xtreemefs
155
7279
7366
422
131
306
134
glusterfs
173
4305
4537
1420
1123
1951
798
beegfs
78
25751
21495
6216
2518
3242
2682
orangefs
323
13683
10402
1380
1310
1979
1571
FS
CPU (Server)
CPU (Client)
RAM (Server)
RAM (Client)
xtreemefs
100
25
300
201
glusterfs
100
50
92
277
beegfs
80
80
42
31
orangefs
15
75
60
20
Hier sind die Benchmark-Daten
Die sysctl-Knöpfe wurden auf maximalen Durchsatz abgestimmt, aber sie sollten wohl nutzlos sein und wahrscheinlich die Benchmarks verzerren, da diese Knöpfe in einem heterogenen Netzwerk nicht immer angewendet werden, und trotzdem sind sie es netzwerkabhängig , so dass selbst bei ihrer Anwendung andere Engpässe bestehen können.
Zusätzliche Vergleiche, von Wikipedia, aus Algen.