Googles filsystem

Den Google File System ( GFS eller GoogleFS ) er et proprietært distribueret filsystem til Linux-baserede systemer, som Google har udviklet internt til at gemme og behandle store mængder data, primært fra Google-søgning indeks og senere også fra Gmail . Google File System kender to typer komponenter: master- og chunk-serverne. Førstnævnte indeholder kun metainformation om filer, mens sidstnævnte er de faktiske data på et klassisk Linux - filsystem vedvarer. Google File System deler filerne i klumper, så en fil kan distribueres over flere servere. I den første version var hver del 64 megabyte, mens størrelsen senere blev opdateret til 1 MB (fra 2009). Google File System fungerer på et abstraktionsniveau højere end typiske filsystemer og tager kun sig af distributionen, samtidig med at det sikres, at dataene er tilgængelige og konsistente . Det er optimeret til høj datakapacitet og kan håndtere hundreder af terabyte på tusinder af harddiske på tusindvis af maskiner.

konstruktion

Google File System er tilpasset de nødvendige krav til websøgning , hvilket genererer en enorm mængde data, der skal lagres. GFS opstod fra et tidligere forsøg fra Google, som bærer navnet "BigFiles" og blev udviklet af Larry Page og Sergey Brin under deres forskning på Stanford University .

Dataene gemmes konsekvent i meget store filer , nogle gange endda flere gigabyte i størrelse, som kun slettes, overskrives eller komprimeres i ekstremt sjældne tilfælde ; Data tilføjes normalt eller læses op. Det filsystemet er også blevet udviklet og optimeret til at køre på Googles computing klynger , de netværksnoder hvoraf bestå af kommercielt tilgængelige pc'er. Dette betyder dog også, at den høje fejlrate og det tilknyttede tab af data fra individuelle netværksnoder skal ses som normalt. Dette afspejles også i det faktum, at der ikke skelnes mellem normal (shutdown) og unormal opsigelse (crash): Serverprocesser afsluttes som standard med en kill-kommando . Andre designbeslutninger er afhængige af høje datakapacitet, selvom dette går på bekostning af latenstid .

En GFS-klynge består af en master og hundreder eller tusinder af chunk-servere . Chunk-serverne gemmer filerne med hver fil opdelt i 64 MB stykker ("chunks") , svarende til klynger eller sektorer i almindelige filsystemer.

For at forhindre tab af data er GFS som standard at gemme hver fil mindst tre gange pr. Klynge. Hvis en chunk-server mislykkes, er der kun ubetydelige forsinkelser, indtil filen har sit standardantal replikaer igen. Afhængigt af kravene kan antallet også være højere, for eksempel i tilfælde af eksekverbare filer . Hver klump tildeles en unik 64-bit lang identifikator, og logiske kortlægninger af filerne til de enkelte klumper bevares.

Masteren gemmer ikke klumper, men snarere deres metadata , såsom filnavne , filstørrelser, deres lagerplacering og deres kopier, hvilke processer der i øjeblikket får adgang til hvilket stykke osv. Mestrene modtager alle anmodninger om en fil og som svar, give den tilknyttede chunk-server og udstede passende låse på processen. En klient kan dog cache adressen på chunk- serveren i et bestemt tidsrum . Hvis antallet af tilgængelige replikaer falder under normen, er det også mestrene, der igangsætter oprettelsen af ​​en ny klumpkopi. Metadataene holdes ajour ved, at mestrene regelmæssigt sender opdateringsanmodninger til chunk-serveren ( hjerterytmebeskeder , på tysk f.eks. “Hjerterytmebeskeder” ).

GFS er designet og implementeret med kun en master pr. Klynge. Dette ser ud til at være en fejl i systemet, der begrænser dets skalerbarhed og pålidelighed, da den maksimale størrelse og oppetid afhænger af masterens ydeevne og oppetid, da det katalogiserer metadataene og næsten alle anmodninger gennemgår det; Googles teknikere har dog gennem målinger vist, at dette (i det mindste indtil videre) ikke er tilfældet, og at GFS er meget skalerbar. Masteren er normalt den mest kraftfulde netværksnode i netværket. For at sikre pålidelighed er der flere "skyggemastre", der spejler hovedcomputeren og om nødvendigt straks træder ind, hvis masteren skulle svigte. Derudover er skyggemastrene også tilgængelige til rene læseanmodninger, der udgør hovedtrafikken, så skalerbarheden øges yderligere. Der er sjældent flaskehalse, da klienter kun beder om metadata, der er helt gemt i hovedhukommelsen som et B-træ - de er meget kompakte, kun et par byte pr. Megabyte data. Ved at bruge kun én vigtigste knudepunkt, softwaren er kompleksiteten reduceres drastisk, da skrive operationer ikke behøver at være koordineret.

litteratur

  • Matthew Helmke: Ubuntu Unleashed 2015-udgave . Pearson Education Inc, 2015, ISBN 978-0-672-33837-3 .
  • Kuan-Ching Li, Qing Li, Timothy K. Shih (red.): Cloud Computing og digitale medier . Taylor & Francis Group, Boca Raton 2014, ISBN 978-1-4665-6917-1 .
  • Kenli Li, Zheng Xiao, Yan Wang, Jiayi Du, Keqin Li (red.): Parallel Computational Fluid Dynamics . Springer Verlag, Berlin / Heidelberg 2014, ISBN 978-3-642-53961-9 .
  • Yunquan Zhang, Kenli Li, Zheng Xiao (red.): High Performance Computing . Springer Verlag, Berlin / Heidelberg 2012, ISBN 978-3-642-41590-6 .

Se også

Individuelle beviser

  1. a b S. Ghemawat, H. Gobioff, ST Leung: Google-filsystemet . I: Proceedings of the 19. ACM Symposium on Operating Systems Principles - SOSP '03 2003, ISBN 1581137575 , s. 29, doi : 10.1145 / 945445.945450 .
  2. a b c GFS: Evolution on Fast-forward. Hentet 24. februar 2021 .

Weblinks