Andrew filsystem
Andrew File System , eller AFS [ 1 ] er et nettverksdistribuert filsystem som ble utviklet som en del av Andrew Project av Carnegie Mellon University . [ 2 ] Navnet hans kommer fra Andrew Carnegie og Andrew Mellon . Den brukes hovedsakelig i distribuerte datamiljøer .
Fordeler
- Større tilgjengelighet: Avbruddet i en eller flere maskiner i AFS-systemet betyr ikke at en fil ikke er tilgjengelig. Populære filer, for eksempel binære filer, er lagret på mange maskiner, slik at de kan nås uavhengig av maskinstans. I stedet blir brukerforespørsler om programmet rutet til tilgjengelige maskiner. I et ikke-distribuert sentralisert filsystem innebærer tap eller avbrudd av maskinen hvor filene er lagret utilgjengelighet av disse.
- Større effektivitet: I et distribuert filsystem er arbeidsbelastningen spredt på mange maskiner, i motsetning til i et konvensjonelt filsystem, hvor arbeidsbelastningen absorberes av en enkelt server.
Funksjoner
- AFS [ 3 ] har flere fordeler i forhold til tradisjonelle nettverksfilsystemer , spesielt når det gjelder sikkerhet og skalerbarhet. Enterprise AFS-implementeringer har ofte over 25 000 kunder. [ 4 ] AFS bruker Kerberos som autentiseringsmekanisme, og implementerer katalogtilgangskontrolllister for brukere og grupper. Hver klient opprettholder en hurtigbuffer på det lokale filsystemet for å øke filtilgangshastigheten. Dette gir også begrenset tilgang til filsystemet i tilfelle serverkrasj eller nettverksfeil.
- AFS bruker lavkonsistensmodellen . [ 5 ] I AFS bufres filer ved behov på lokale stasjoner, som er store nok til å lagre et stort antall filer.
- Strategien som ligger til grunn for bruken av disse cachene er basert på normal bruk av filer. Der en bruker som hovedregel vanligvis håndterer små filer, med sekvensiell tilgang og i lesemodus.
- På samme måte bør det bemerkes at databaser er den eneste filtypen som, på grunn av deres samtidighet og kontinuerlige oppdatering av brukere, er ekskludert fra AFS-designet.
- Funksjonene i systemet er fordelt på flere servere for å legge til redundans og feiltoleranse.
- Dataene som lagres kan flyttes gjennom serverne transparent til brukeren, så lenge de er aktive.
- Mens systemet er aktivt, kan serverne som utgjør systemet kobles til eller fra.
- Det er lett for systemet å tilpasse seg forskjellige personer på grunn av dets fleksibilitet.
- Systemet presenterer noen midler for å kontrollere tilgangen til dokumenter.
- Det er mulig å duplisere de lagrede filene for å skape mer redundans.
- Du kan bruke Kerberos-autentisering til å identifisere brukere og gi tilgang til filer.
- Brukerautentisering er alltid en kryptert prosess.
- Filinnholdet kan krypteres om ønskelig.
Grunnleggende operasjon
- Når en bruker på en klientdatamaskin foretar et åpent anrop for å få en delt fil, og det ikke er noen gjeldende kopi av den filen i den lokale hurtigbufferen, ser serveren som inneholder filen etter den og sender en kopi av den til brukeren.
- Kopien lagres på det lokale systemet til klientmaskinen for senere å åpnes og returnere en deskriptor til klientapplikasjonen.
- Lese, skrive og/eller andre påfølgende operasjoner utføres på filen, som vil bli brukt på den lokale kopien.
- Når prosessen på klienten sender et nært anrop , hvis arbeidskopien er oppdatert, sendes innholdet tilbake til serveren. Serveren på sin side oppdaterer filen og tidsstemplene og beholder kopien på klientens lokale disk i tilfelle en ny forespørsel om filen kommer.
Arkitektur
AFS-arkitekturen er implementert som to programvarekomponenter, Vice og Venus , og nettverket som kommuniserer dem.
- Vice: En programvaretjeneste som kjører som en Unix-prosess på brukernivå på serversiden.
- Venus: brukerprosess som handler på klientsiden.
Filvolum
En viktig funksjon i AFS er volumet , et tre med filer og underkataloger. Volumer er opprettet av administratorer og bundet til en bestemt bane i en AFS-celle. Når det er opprettet, kan brukere av filsystemet lage kataloger og filer på vanlig måte uavhengig av hvor volumet fysisk befinner seg. Et volum kan ha en kvote tildelt for å begrense mengden plass som forbrukes. Etter behov kan AFS-administratorer flytte det volumet til en annen server og en annen plassering på disken uten å måtte varsle brukere om endringen; Denne operasjonen kan faktisk gjøres mens filene inne i volumet brukes.
Volumer kan replikeres for skrivebeskyttede sikkerhetskopier . Når filer åpnes på et skrivebeskyttet volum, vil et klientsystem hente data fra en bestemt skrivebeskyttet kopi. Hvis den kopien på noe tidspunkt blir utilgjengelig, vil klienten se etter en annen av de gjenværende kopiene. Igjen, brukerne av disse dataene er ikke bekymret for den fysiske plasseringen av denne kopien; administratorer kan opprette og flytte slike kopier etter behov. AFS-kommandopakken sikrer at alle skrivebeskyttede volumer inneholder like kopier av det originale lese-skrivevolumet på det tidspunktet den skrivebeskyttede kopien ble opprettet.
Filnavneområdet på en Andrew- arbeidsstasjon er partisjonert i to områder: det delte navneområdet og det lokale navneområdet. Det delte navneområdet er identisk på alle stasjoner og ligger under " /cmu "-katalogen. På den annen side er lokalrommet unikt for hver stasjon. Inneholder midlertidige filer som trengs for stasjonsinitialisering og symbolske lenker til filer som finnes i det delte navneområdet.
Ringesystem
Anropssystemet er basert på bruk av samtaler av typen "callback" og "callback-løfte" mellom Venus og Vice for overføring av filer mellom serveren og klientene.
Når Vice gir en kopi av en fil til Venus, gir den også et tilbakeringingsløfte , som er et token utstedt av Vice-serveren som lagrer filen og garanterer at den vil varsle Venus-prosessen når en annen klient endrer filen.
Promise tilbakeringingsvariabler lagres sammen med filer i klientmaskinens hurtigbuffer og har to tilstander: gyldig eller kansellert . Når en server sender en forespørsel om å oppdatere en fil, varsler den alle Venus-prosesser som for øyeblikket har tilbakeringingsløfter ved å sende en tilbakeringing for å sette deres token ( tilbakeringingsløfte ) til kansellert tilstand. På den annen side, hvis Vice serverte filen til Venus, ville tilbakeringingsløftet være gyldig.
Hver gang Venus åpner en fil på klienten, sjekker den om filen er i hurtigbufferen, og i så fall sjekker den tokenen. Hvis verdien av tokenet annulleres, må en ny kopi av filen skaffes. Men hvis tokenet er gyldig, kan den hurtigbufrede kopien åpnes og brukes uten å referere til Vice.
Hvis en klient krasjer, starter på nytt eller slår seg av, kan Venus beholde så mange hurtigbufferfiler som den lokale disken støtter, men den kan ikke fortelle om tilbakeringingsløfteverdiene fortsatt er gyldige. Så før du får tilgang til hver av filene som den inneholder i hurtigbufferen, må den validere med hver server som inneholder nevnte fil endringstidsstemplet til hver enkelt av dem. På denne måten kan du vite at hvis tidsstemplet er det gjeldende, bør du tilbakestille verdien til tokenet til gyldig. Hvis tidsstemplet tvert imot er lavere, betyr det at filen er utdatert og serveren vil svare med verdien av tokenet a kansellert.
Implementeringer
Det er tre hovedimplementeringer av AFS: Transarc ( IBM ), OpenAFS og Arla , selv om Transarc ikke lenger støttes og neglisjeres. AFS (versjon to) er også forgjengeren til Coda -filsystemet .
En fjerde implementering finnes i Linux -kildekoden siden versjon 2.6.10 . [ 6 ] Sendt inn av Red Hat , dette er en veldig enkel implementering som fortsatt er i tidlig utvikling og dermed ufullstendig fra januar 2013. [ 7 ]
AFS vs konvensjonelt filsystem
Et distribuert filsystem av AFS-typen har to hovedfordeler fremfor et konvensjonelt sentralisert filsystem:
- Større tilgjengelighet: Avbruddet i en eller flere maskiner i AFS-systemet betyr ikke at en fil ikke er tilgjengelig. Populære filer, for eksempel binære filer, er lagret på mange maskiner, slik at de kan nås uavhengig av maskinstans. I stedet blir brukerforespørsler om programmet rutet til tilgjengelige maskiner. I et ikke-distribuert sentralisert filsystem innebærer tap eller avbrudd av maskinen hvor filene er lagret utilgjengelighet av disse.
- Større effektivitet: I et distribuert filsystem er arbeidsbelastningen spredt på mange maskiner, i motsetning til i et konvensjonelt filsystem, hvor arbeidsbelastningen absorberes av en enkelt server.
AFS vs. NFS
AFS skiller seg markant fra NFS i design og implementering, først og fremst ved å identifisere skalerbarhet som det viktigste designmålet. AFS er designet for å fungere godt med et større antall aktive brukere enn andre distribuerte filsystemer. Nøkkelstrategien for å oppnå skalerbarhet er full filbufring på klientnoder.
Referanser
- ↑ Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. (2014), Operativsystemer: Tre enkle stykker [Andrew-filsystemet (AFS)] , Arpaci-Dusseau Books .
- ↑ Hva er Andrew Arkivert 2011-09-09 på Wayback Machine - en del av CMUs offisielle nettsted som beskriver historien til Andrew-prosjektet .
- ^ Howard, JH, Kazar, ML, Nichols, SG, Nichols, DA, Satyanarayanan, M., Sidebotham, RN, & West, MJ (februar 1988). "Skala og ytelse i et distribuert filsystem" . ACM Transactions on Computer Systems 6 (1): 51-81. doi : 10.1145/35037.35059 .
- ↑ http://www-conf.slac.stanford.edu/AFSBestPractices/Slides/MorganStanley.pdf
- ↑ Yaniv Pessach (2013), Distribuert lagring (distribuert lagring: konsepter, algoritmer og implementeringer), Amazon .
- ↑ Linux-kjerne AFS-dokumentasjon for 2.6.10 ( ødelagt lenke tilgjengelig på Internet Archive ; se historikk , første og siste versjon ).
- ↑ Linux-kjerne AFS-dokumentasjon for den nyeste kjerneversjonen
- George Coulouris. Distribuerte systemer: konsepter og design . Pearson (1709) [ 1 ]
- Rodrigo Santamaria. Notater distribuerte systemer University of Salamanca | [ 2 ]
- E. Tista García, "Distribuerte filsystemer," National Autonomous University of Mexico: Fakultet for ingeniørvitenskap, Mexico City, 2021.
- "Techipedia," [online]. Tilgjengelig: http://www.techopedia.com/definition/11029/andrewfile-system-afs .
- openAFS, "openafs.org," openAFS, [Online]. Tilgjengelig: http://docs.openafs.org/UserGuide/HDRWQ2.html#Header_9 .
- "Brain Kart," [online]. Tilgjengelig: https://www.brainkart.com/article/Case-Study--TheAndrew-File-System-(AFS)_8546/ .
Eksterne lenker
- Dette verket inneholder en avledet oversettelse av " Andrew File System " fra engelsk Wikipedia, utgitt av utgiverne under GNU Free Documentation License og Creative Commons Attribution-ShareAlike 3.0 Unported License .
- Grand Central: AFS User Resource Community
- OpenAFS _
- ↑ George Coulouris. Distribuerte systemer: konsepter og design . Pearson (1709). ISBN 0132143011 .
- ^ "Emne 6 - Filsystemer" .