Andrew File System - Andrew File System

Den Andrew File System ( AFS ) er et distribueret filsystem , der bruger et sæt af betroede servere til at præsentere en homogen, placering-transparent filnavn plads til alle klientarbejdsstationerne. Det blev udviklet af Carnegie Mellon University som en del af Andrew Project . Oprindeligt kaldet "Vice", "Andrew" refererer til Andrew Carnegie og Andrew Mellon . Dens primære anvendelse er i distribueret computing .

Funktioner

AFS har flere fordele i forhold til traditionelle netværksbaserede filsystemer , især inden for områderne sikkerhed og skalerbarhed. Én enterprise AFS -implementering hos Morgan Stanley overstiger 25.000 klienter. AFS bruger Kerberos til godkendelse og implementerer adgangskontrollister på mapper til brugere og grupper. Hver klient gemmer filer på det lokale filsystem for øget hastighed på efterfølgende anmodninger om den samme fil. Dette tillader også begrænset filsystemadgang i tilfælde af et servernedbrud eller netværksafbrydelse .

AFS bruger modellen Weak Consistency . Læse- og skriveoperationer på en åben fil er kun rettet til den lokalt cachelagrede kopi. Når en ændret fil lukkes, kopieres de ændrede dele tilbage til filserveren. Cachekonsistens opretholdes ved tilbagekaldsmekanisme . Når en fil cachelagres, noterer serveren dette og lover at informere klienten, hvis filen opdateres af en anden. Tilbagekald kasseres og skal genetableres efter enhver klient-, server- eller netværksfejl, herunder en timeout. Genoprettelse af et tilbagekald indebærer en statuskontrol og kræver ikke genlæsning af selve filen.

En konsekvens af fillåsestrategien er, at AFS ikke understøtter store delte databaser eller registrerer opdateringer i filer, der deles mellem klientsystemer. Dette var en bevidst designbeslutning baseret på de opfattede behov i universitetets computermiljø. I det originale e -mail -system til Andrew Project, Andrew Message System, bruges f.eks. En enkelt fil pr. Meddelelse, f.eks. Maildir , snarere end en enkelt fil pr. Postkasse, f.eks. Mbox . Se AFS og bufferede I/O -problemer for håndtering af delte databaser

Et væsentligt træk ved AFS er volumen , et træ af filer, underkataloger og AFS- monteringspunkter (links til andre AFS-mængder). Volumener oprettes af administratorer og kobles på en bestemt navngivet sti i en AFS -celle. Når filsystemet er oprettet, kan brugere af filsystemet oprette mapper og filer som normalt uden bekymring for den fysiske placering af volumen. Et volumen kan have en kvote tildelt for at begrænse mængden af ​​pladsforbrug. Efter behov kan AFS -administratorer flytte denne mængde til en anden server og diskplacering uden at skulle underrette brugerne. operationen kan endda forekomme, mens filer i den mængde bruges.

AFS-mængder kan replikeres til skrivebeskyttede klonede kopier. Når der åbnes filer i en skrivebeskyttet diskenhed, henter et klientsystem data fra en bestemt skrivebeskyttet kopi. Hvis den kopi på et tidspunkt bliver utilgængelig, vil klienter lede efter en af ​​de resterende kopier. Igen er brugerne af disse data ikke klar over placeringen af ​​den skrivebeskyttede kopi; administratorer kan oprette og flytte sådanne kopier efter behov. AFS-kommandopakken garanterer, at alle skrivebeskyttede diskenheder indeholder nøjagtige kopier af den originale læse-skrive-mængde på det tidspunkt, hvor skrivebeskyttet kopi blev oprettet.

Filnavnsrummet på en Andrew -arbejdsstation er opdelt i et delt og lokalt navnerum. Det delte navnerum (normalt monteret som /afs på Unix -filsystemet) er identisk på alle arbejdsstationer. Det lokale navnerum er unikt for hver arbejdsstation. Den indeholder kun midlertidige filer, der er nødvendige for initialisering af arbejdsstationer og symbolske links til filer i det delte navnerum.

Andrew File System påvirkede stærkt version 4 af Sun Microsystems populære Network File System (NFS). Derudover blev en variant af AFS, DCE Distributed File System (DFS) vedtaget af Open Software Foundation i 1989 som en del af deres distribuerede computermiljø . Endelig var AFS (version to) forgængeren for Coda -filsystemet .

Implementeringer

Udover originalen blev der udviklet et par andre implementeringer. OpenAFS blev bygget fra kilde frigivet af Transarc ( IBM ) i 2000. Transarc software blev forældet og mistede support. Arla var en uafhængig implementering af AFS udviklet på Royal Institute of Technology i Stockholm i slutningen af ​​1990'erne og begyndelsen af ​​2000'erne.

En fjerde implementering af en AFS-klient eksisterer i Linux-kernen kildekoden da mindst version 2.6.10. Forpligtet af Red Hat , er dette en ret simpel implementering, der stadig er ufuldstændig fra januar 2013.

Tilgængelige tilladelser

Følgende tilladelser til adgangskontroliste (ACL) kan gives:

Opslag (l)
giver en bruger mulighed for at liste indholdet i AFS -biblioteket, undersøge ACL, der er knyttet til biblioteket, og få adgang til undermapper.
Indsæt (i)
giver en bruger mulighed for at tilføje nye filer eller undermapper til biblioteket.
Slet (d)
giver en bruger mulighed for at fjerne filer og undermapper fra biblioteket.
Administrere (a)
giver en bruger mulighed for at ændre ACL for biblioteket. Brugere har altid denne ret i deres hjemmemappe, selvom de ved et uheld fjerner sig fra ACL.

Tilladelser, der påvirker filer og undermapper, omfatter:

Læs (r)
giver en bruger mulighed for at se på indholdet af filer i et bibliotek og liste filer i undermapper. Filer, der skal gives læseadgang til enhver bruger, inklusive ejeren, skal have standard UNIX -tilladelsen "ejerlæst".
Skriv (w)
giver en bruger mulighed for at ændre filer i et bibliotek. Filer, der skal have skriveadgang til enhver bruger, inklusive ejeren, skal have standard UNIX -tilladelsen "ejerskrivning".
Lås (k)
giver processoren mulighed for at køre programmer, der skal " flokkes " filer i biblioteket.

Derudover inkluderer AFS Application ACL'er (A)-(H), som ikke har nogen effekt på adgang til filer.

Se også

Referencer

  1. ^ Hvad er Andrew arkiveret 9. september 2011 på Wayback Machine - en del af CMU's officielle websted, der fortæller historien om Andrew Project .
  2. ^ Garfinkel, Simson L. (maj – juni 1989). "Krusninger på tværs af det akademiske marked" (PDF) . Teknologigennemgang . s. 9–13 . Hentet 25. januar 2016 .
  3. ^ Howard, JH; Kazar, ML; Nichols, SG; Nichols, DA; Satyanarayanan, M .; Sidebotham, RN & West, MJ (februar 1988). "Skala og ydeevne i et distribueret filsystem". ACM -transaktioner på computersystemer . 6 (1): 51–81. CiteSeerX  10.1.1.71.5072 . doi : 10.1145/35037.35059 .
  4. ^ Moore, Phillip (2004). "Når din virksomhed afhænger af det - udviklingen af ​​et globalt filsystem til et globalt firma" (PDF) .
  5. ^ Yaniv Pessach (2013), Distribueret lager (distribueret opbevaring: koncepter, algoritmer og implementeringer red.), Amazon, OL  25423189M
  6. ^ Åbning af AFS
  7. ^ Assar Westerlund og Johan Danielsson (1998). "Arla-en gratis AFS-klient" . Procedurer for USENIX, Freenix -banen fra 1998 .
  8. ^ Magnus Ahltorp, Love Hörnquist-Åstrand og Assar Westerlund (2000). "Portning af Arla -filsystemet til Windows NT" . Workshop om ledelse og administration af distribuerede miljøer .
  9. ^ Linux -kerne AFS -dokumentation til 2.6.10
  10. ^ "LXR linux/Documentation/filesystems/afs.txt" . linux.no . 1. august 2012. Arkiveret fra originalen 1. august 2012 . Hentet 23. april 2018 .

eksterne links

Yderligere læsning