Andrew file system (AFS) är ett distribuerat nätverksfilsystem utvecklat av Carnegie Mellon University som en del av Andrewprojektet.

Det finns tre stora implementationer: Transarc, Arla och OpenAFS. Det är också föregångaren till Coda. AFS var även en stark influens på version 4 av Sun Microsystems populära Network File System (NFS).

Egenskaper redigera

AFS har flera fördelar jämfört med traditionella nätverksfilsystem, framförallt inom säkerhet och skalbarhet. AFS använder Kerberos för autentisering, och implementerar åtkomstkontrollistor på kataloger för användare och grupper. AFS klientnivåcaching förbättrar filsystemets prestanda, och tillåter begränsad filsystemsåtkomst i händelsen att servern kraschar eller vid nätverksproblem.

AFS-filer är cachade på begäran på de lokala arbetsstationerna. Läs- och skrivoperationer på en öppnad fil riktas enbart till den cachade kopian. När den modifierade filen stängs kopieras de ändrade delarna tillbaka till filservern. Cachekonsistens upprätthålls genom en mekanism som kallas "callback". När en fil cachas noterar servern detta och lovar att informera klienten om filen uppdateras av någon annan. Callbacks kastas bort och måste återupprättas efter varje klient-, server-, eller nätverksfel. Återupprättande av en callback involverar en statuskoll och kräver inte att själva filen läses igen.

En konsekvens av hela fillåsningsstrategin är att AFS inte stödjer stora delade databaser eller uppdateringar inom filer delade mellan klientsystem. Det var ett avsiktligt designval baserat på de uppfattade behoven i universitetsmiljön.

En betydelsefull egenskap hos AFS är volymer, träd av filer och underkataloger. Volymer skapas av administratörer och länkas till specifika namngivna sökvägar i en AFS-cell. När en volym väl skapats kan användare skapa kataloger och filer som vanligt utan att bry sig om den volymens fysiska plats. Vid behov kan AFS-administratörer flytta volymen till en annan server och plats utan att behöva meddela användarna. Flytten kan till och med ske medan filer på volymen används.

AFS-volymer kan replikeras till skrivskyddade säkerhetskopior. Vid åtkomst till filer i en skrivskyddad volym kommer en klient hämta data från en specifik skrivskyddad kopia. Om den kopian vid något tillfälle blir otillgänglig kommer klienten kolla efter någon av de återstående kopiorna. AFS kommandosvit garanterar att alla skrivskyddade volymer innehåller exakta kopior av originalvolymen när den skrivskyddade volymen skapas.

Filnamnrymden på en Andrewarbetsstation är partitionerad in i en delad och en lokal namnrymd. Den delade namnrymden är identisk på alla arbetsstationer. Den lokala namnrymden är unik för varje arbetsstation. Den innehåller temporära filer som behövs för arbetsstationens initialisering och symboliska länkar till filer i den delande namnrymden.

Externa länkar redigera