Isilon: Så här fungerar Isilon-filhandtag
Summary: Förstå hur OneFS-filer hanterar arbete.
Symptoms
En filreferens är den grundläggande enheten för åtkomst till NFS (Network File System). De är referenser till filer eller kataloger som är oberoende av fil-/katalognamnet. Nästan alla NFS- eller RPC-anrop (Remote Procedure Calls) kräver en filreferens eller filidentifierare. Filreferenser är täckande för klienten, men OneFS-filreferenser är beständiga över varje nod. I OneFS lagras filreferensinformation i inoder, och varje fil som använder samma inod använder också samma filreferens. Detta är för att förhindra inaktuella filreferenser vid redundans. OneFS återvinner inte filreferenser, och en filreferens för en fil kan finnas så länge filen finns.
Cause
Resolution
I allmänhet skapas filreferenser på NFS-servern och kan variera mellan olika plattformar. I OneFS skapas en filreferens när en logisk INode (LIN) skapas när filen skapas. Filreferenser består av ett filsystem-ID (FSID), export-ID och LIN för filen/katalogen i fråga. OneFS-filhandtag är 64-bitars, vilket gör dem obegränsade i teorin (totalt antal möjliga samtidiga filhandtag = 18 kvintiljoner * 10^19). Vid maximal användning kan det teoretiskt sett ta 1 miljard år att tömma de tillgängliga logiska inoderna på ett Isilon-kluster.
Eftersom OneFS inte återvinner logiska inoder kan man förvänta sig att ett LIN associeras med motsvarande filreferens.
Jobbet lincount kan användas för att hitta det aktuella LIN-antalet för klustret:
# 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
Eftersom LIN är en del av OneFS-filreferenser kan ett LIN extraheras från en filreferens. Följ länken nedan för att lära dig mer om den här processen.
Hur man hämtar ett LIN från ett filhandtag
Vissa operativsystem och äldre program kan inte acceptera 64-bitars filreferenser och kan inte interagera med Isilon-klustret på grund av den här begränsningen.
För att kringgå den här begränsningen kan OneFS returnera 32-bitars fil-ID:n till klienter, men den här funktionen medför en kostnad och varning.
Om fyra miljarder filer överskrids, eller om det finns tillräckligt med omsättning av filer som skapas och tas bort, finns möjligheten att LINs omsluts (modulo 32-bitars). Detta kan resultera i att flera LIN:er pekar på samma filreferens. Matematiskt är denna situation mycket osannolik, men risken för allvarlig dataförlust finns om ovanstående villkor är uppfyllda. Försiktighet måste iakttas vid implementering av 32-bitars fil-ID:n. När detta skrivs har inget av detta problem observerats på en Isilon Cluster.
Så här implementerar du användningen av 32-bitars fil-ID:n över NFS
Ibland kan du se problem med inaktuella filreferenser. En inaktuell filreferens är en filreferens som inte längre motsvarar en aktiv FSID. FSID:er baseras på ett generations-ID (GENID) som liknar ett "versionsnummer" för filen. Skrivningar baseras inte på den senaste GENID, så ett inaktuellt filhandtagsfel kan uppstå.
Inaktuella filreferenser kan bero på problem med klientcachelagring, eller så var filen inte låst och var öppen för redigering av två eller flera samtidiga användare. Fillåsning krävs för att åtgärda inaktuella filreferenser.