Isilon: Forstå Isilon-filreferanser
Summary: Forstå hvordan OneFS-filhåndteringer fungerer.
Symptoms
En filreferanse er den grunnleggende enheten for tilgang til Network File System (NFS). De er referanser til filer eller kataloger uavhengig av fil-/katalognavnet. Nesten alle NFS eller Remote Procedure Calls (RPC) krever en filreferanse eller filidentifikator. Filreferansene er ugjennomsiktige for klienten, men OneFS-filreferansene er vedvarende på tvers av hver node. I OneFS lagres filhåndtaksinformasjon i inoder, og hver fil som bruker samme inode, bruker også samme filhåndtak. Dette er for å forhindre foreldede filreferanser på tvers av failover. OneFS resirkulerer ikke filreferanser, og en filreferanse for en fil kan eksistere så lenge filen eksisterer.
Cause
Resolution
Generelt er filreferanser laget på NFS-serveren og kan variere mellom plattformer. I OneFS opprettes et filreferanse når en logisk Inode (LIN) opprettes når filen opprettes. Filhåndterer består av en filsystem-ID (FSID), eksport-ID og LIN for den aktuelle filen/katalogen. OneFS-filhåndtak er 64 bit, noe som gjør dem ubegrensede i teorien (totalt mulige samtidige filhåndtak = 18 quintillion * 10 ^ 19). Ved maksimal bruk kan det teoretisk ta 1 milliard år å tømme de tilgjengelige logiske inodene på en Isilon-klynge.
Siden OneFS ikke resirkulerer logiske inoder, kan det forventes at et LIN knytter seg til motpartens filhåndtak.
Lincount-jobben kan brukes til å finne gjeldende LIN-antall for klyngen:
# isi job start lincount # isi job reports view <JobID> Example: ------------ ps9500x3-2# isi job start lincount Started job [5983] ps9500x3-2# isi job reports view 5983 LinCount[5983] phase 1 (2025-11-25T20:40:04) -------------------------------------------- LINs traversed 28865 SINs traversed 0 JE/Error Count 0 JE/Time elapsed 7 seconds JE/Time working 9 seconds LinCount[5983] Job Summary -------------------------- Final Job State Succeeded Phase Executed 1
Siden LIN er en del av OneFS-filreferanser, kan et LIN trekkes ut fra et filreferanse. Følg koblingen nedenfor for å lære om denne prosessen.
Hvordan få tak i et LIN fra et filhåndtak
Noen operativsystemer og eldre programmer godtar ikke 64-biters filreferanser og kan ikke samhandle med Isilon-klyngen på grunn av denne begrensningen.
For å omgå denne begrensningen kan OneFS returnere 32-biters fil-ID-er til klienter, men denne funksjonen har en kostnad og et forbehold.
Hvis fire milliarder filer overskrides, eller hvis det er nok omsetning av filer som opprettes og slettes, finnes muligheten for at LIN brytes (modulo 32-bits). Dette kan føre til at flere LIN-nettverk peker mot samme filreferanse. Matematisk er denne situasjonen svært usannsynlig, men muligheten for alvorlig tap av data eksisterer hvis betingelsene ovenfor er oppfylt. Vær forsiktig når du implementerer 32-biters fil-IDer. I skrivende stund har ingen forekomst av dette problemet noen gang blitt observert på en Isilon-klynge.
Slik implementerer du bruk av 32-biters fil-IDer over NFS
Noen ganger kan du se problemer med foreldede filhåndtak. Et foreldet filhåndtak er et filhåndtak som ikke lenger tilsvarer en aktiv FSID. FSIDer er basert på en generasjons-ID (GENID) som ligner på et "versjonsnummer" for filen. Skriveoperasjoner er ikke basert på den nyeste GID, så det kan oppstå en foreldet filhåndteringsfeil.
Foreldede filreferanser kan skyldes problemer med klientbufring, eller at filen ikke var låst og var åpen for redigering av to eller flere samtidige brukere. Fillåsing er nødvendig for å rette opp foreldede filhåndtak.