Een overzicht van gedistribueerde bestandssystemen
Mogelijkheid om gegevens op te slaan en metagegevens
Veerkracht naar enkele nodes mislukkingen
Flexibiliteit om het netwerk op elk moment uit te breiden of te verkleinen
Op zeer kunnen rennen slecht geheugen servers
EEN gedistribueerd bestandssysteem , geef in het algemeen een ideaal POSIX compatibele bestandssysteeminterface. Dit is het grootste deel van zijn definitie, omdat het bouwen van een cluster van knooppunten die gegevens op een gedistribueerde manier bevatten op veel verschillende manieren kan worden bereikt, maar het bouwen van een die toegang biedt tot een bruikbaar bestandssysteeminterface is een uitdaging. Een bestandsbestandssysteem wordt gewoonlijk verondersteld: lokaalen als zodanig gaan veel toepassingen ervan uit dat er snelle toegang toe is, zonder rekening te houden met mogelijke latentieproblemen die kunnen optreden op een bestandssysteem dat wordt ondersteund door externe gegevens. Zeer weinig toepassingen maken onderscheid tussen lokale en externe bestandssystemen.
Het uitwisselen van een bestandssysteem met een gedistribueerd systeem kan worden beschouwd als een vorm van achterwaartse compatibiliteit ...in het geval dat u een toepassing wilt implementeren in een cloudomgeving die afhankelijk is van toegang tot het bestandssysteem voor de gegevenslaag, moet de cloud een bestandssysteeminterface bieden die willekeurig over machines kan worden gerepliceerd. In een geval van één gebruiker kan het echter ook worden beschouwd als een manier om de beheeroverhead te verminderen... in plaats van back-ups te volgen voor gegevens van elke afzonderlijke server die u uitvoert, kunt u de status van het netwerkgebaseerde bestandssysteem volgen en back-ups plannen ben ermee bezig.
Als u geen strikte toegang tot de semantiek van bestandssystemen nodig hebt, is een interface voor gedistribueerde objectopslag eenvoudiger en net zo: draagbaar en universeel als een bestandssysteem, met minder synchroniciteitsbelasting op het netwerk, aangezien een objectopslag op zich geen metagegevens bevat. Sommige software voor objectopslag biedt een bestandssysteeminterface die bovenop is gebouwd.
Aangezien ons doel is niet big data, we negeren oplossingen zoals HDFS.
OpenAFS : dit is geen correct gedistribueerd bestandssysteem, omdat het: federatief wat betekent dat storingen in één knooppunt storing kunnen veroorzaken.
MinFS : MinFS is een zekeringstuurprogramma voor MinIO, een ongecompliceerde gedistribueerde objectopslag met wiscodering, maar het lijkt niet goedkoop te zijn voor bronnen.
xtreemefs : XtreemeFS bereikt veerkracht met equivalent van RAID0 via netwerk
glusterfs: eenvoudig in te stellen maar slechte prestaties
ceph : moeilijker in te stellen (en te beheren) maar met zeer goede (en afstembare) prestaties
hagedissen : fatsoenlijke prestaties, lage initiële geheugenvoetafdruk maar hoog onder zware belasting
sinaasappels : minimale footprint, zowel kernelmodule als fusermodule, wachtend op v3 op asynchrone metadata
beegfs : lage voetafdruk, kernelmodule (maar niet-onderhouden fusermodule), beste prestaties
zeewier : eenvoudig insteekbare objectopslag met fusermodule
Hier resulteert een aantal benchmarks in een tabel, ze dekken niet alle bestandssystemen en kunnen op dit moment verouderd zijn, en in def2fs
de cache van de resultaten is er misschien doorheen geglipt :)
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 zijn de benchmarkgegevens
De sysctl-knoppen zijn afgestemd op maximale doorvoer, maar ze zouden aantoonbaar nutteloos moeten zijn en waarschijnlijk de benchmarks scheeftrekken, omdat in een heterogeen netwerk die knoppen niet altijd worden toegepast, en hoe dan ook, ze zijn netwerk afhankelijk , dus zelfs als ze worden toegepast, kunnen er andere knelpunten zijn.
Aanvullende vergelijkingen, van wikipedia, van zeewier.