O adunare a sistemelor de fișiere distribuite
Capacitatea de a stoca date și meta date
Reziliență la eșecurile nodurilor unice
Flexibilitate pentru a extinde sau micșora rețeaua în orice moment
A fi capabil să alerg foarte tare memorie puțină servere
A sistem de fișiere distribuit , în general, furnizați un ideal POSIX interfață de sistem de fișiere compatibilă. Aceasta este cea mai importantă parte a definiției sale, deoarece construirea unui grup de noduri care dețin date într-un mod distribuit poate fi realizată în multe moduri diferite, dar construirea unuia care oferă acces la o utilizabil interfața sistemului de fișiere este o provocare. Un sistem de fișiere de fișiere este de obicei presupus a fi localși, ca atare, multe aplicații își asumă accesul rapid la acesta, ignorând posibilele probleme de latență care ar putea apărea pe un sistem de fișiere susținut de date la distanță. Foarte puține aplicații disting între sistemele de fișiere locale și la distanță.
Schimbarea unui sistem de fișiere cu unul distribuit poate fi considerată o formă de compatibilitate inversă ... în cazul în care doriți să implementați o aplicație într-un mediu cloud care se bazează pe accesul la sistemul de fișiere pentru stratul său de date, norul trebuie să furnizeze o interfață a sistemului de fișiere care poate fi replicată în mod arbitrar între mașini. Cu toate acestea, într-un singur caz de utilizator, poate fi, de asemenea, considerat ca o modalitate de a reduce gestionarea cheltuielilor generale ... în loc să urmăriți copiile de rezervă pentru datele de pe fiecare server pe care îl rulați, puteți urmări starea sistemului de fișiere bazat pe rețea și puteți programa copiile de rezervă. pe el.
Dacă nu aveți nevoie de acces strict la semantica sistemelor de fișiere, o interfață de stocare a obiectelor distribuite este mai simplă și simplă portabil și universal ca sistem de fișiere, cu o sarcină mai mică de sincronicitate în rețea, deoarece un obiect de stocare în sine, nu conține meta date. Unele programe de stocare a obiectelor oferă o interfață sistem de fișiere construită deasupra.
Întrucât scopul nostru este nu Big Data, ignorăm soluții precum HDFS.
OpenAFS : acesta nu este un sistem de fișiere distribuit corespunzător, deoarece este federat ceea ce înseamnă că eșecurile unui singur nod pot provoca întreruperi.
MinFS : MinFS este un driver de siguranțe pentru MinIO, care este un stocare directă distribuită a obiectelor cu codificare de ștergere, dar nu pare să fie ieftin pentru resurse.
xtreemefs : XtreemeFS atinge rezistența cu echivalentul RAID0 prin rețea
glusterfs: ușor de configurat, dar performanță slabă
ceph : mai greu de configurat (și gestionat), dar cu performanțe foarte bune (și reglabile)
șopârle : performanță decentă, amprentă inițială scăzută a memoriei, dar mare sub sarcină mare
orangefs : amprentă minimă, atât modulul kernel, cât și modulul fuzor, așteptând pe v3 metadatele asincrone
beegfs : amprentă redusă, modul kernel (dar modul de fuzionare nedrept), cea mai bună performanță
alge marine : stocare obiect ușor conectabilă cu modulul fuzor
Aici unele rezultate de referință într-un tabel, acestea nu acoperă toate sistemele de fișiere și ar putea fi depășite în acest moment și înf2fs
Rezultatele cache-ului s-ar putea să fi trecut prin :)
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
Iată datele de referință
Butoanele sysctl au fost reglate pentru o viteză maximă, dar ar trebui să fie, fără îndoială, inutile și probabil să înclină punctele de referință, deoarece într-o rețea eterogenă aceste butoane nu sunt întotdeauna aplicate și oricum sunt dependent de rețea , deci chiar dacă sunt aplicate, ar putea exista alte blocaje la locul lor.
Comparații suplimentare, din Wikipedia, din alge marine.