Isilon: Informazioni sugli handle dei file Isilon
Summary: Informazioni sul funzionamento delle gestite dei file OneFS.
Symptoms
Un handle di file è l'unità di base dell'accesso NFS (Network File System). Sono riferimenti a file o directory indipendenti dal nome del file/directory. Quasi tutti NFS o RPC (Remote Procedure Call) richiedono un handle di file o un identificatore di file. Gli handle di file sono opachi per il client, tuttavia sono persistenti in ogni nodo. In OneFS, le informazioni dell'handle di file vengono archiviate in inode e ogni file che utilizza lo stesso inode utilizza anche lo stesso handle di file. In questo modo si evitano handle di file obsoleti tra i failover. OneFS non ricicla gli handle di file e un handle di file per un file può esistere purché esista il relativo file.
Cause
Resolution
In generale, gli handle di file vengono creati sul server NFS e possono variare a seconda delle piattaforme. In OneFS, un handle di file viene creato quando viene creato un INode logico (LIN) al momento della creazione del file. Gli handle di file sono costituiti da un ID del file system (FSID), un ID di esportazione e una LIN del file/directory in questione. Gli handle di file OneFS sono a 64 bit, il che li rende teoricamente illimitati (handle di file simultanei totali possibili = 18 quintilioni * 10^19). Al massimo utilizzo, teoricamente potrebbe essere necessario 1 miliardo di anni per esaurire gli inode logici disponibili su un cluster Isilon.
Poiché OneFS non ricicla gli inode logici, è possibile che una LIN si associ all'handle di file della controparte.
Il lincount job può essere utilizzato per trovare il conteggio LIN corrente del cluster:
# 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
Poiché i LIN fanno parte degli handle di file OneFS, è possibile estrarre una LIN da un handle di file. Segua il link riportato di seguito per ulteriori informazioni su questo processo.
Come ottenere una LIN da un handle
di fileAlcuni sistemi operativi e applicazioni legacy non sono in grado di accettare handle di file a 64 bit e non sono in grado di interagire con il cluster Isilon a causa di questa limitazione.
Per aggirare questa limitazione, OneFS può restituire ID file a 32 bit ai client, tuttavia questa funzionalità comporta un costo.
Se vengono superati i quattro miliardi di file, o se c'è abbastanza turnover di file creati ed eliminati, esiste la possibilità che i LIN vadano a capo (modulo a 32 bit). In questo modo è possibile che più LIN puntino allo stesso handle di file. Dal punto di vista matematico, questa situazione è altamente improbabile, ma esiste la possibilità di una grave perdita di dati se le condizioni di cui sopra sono soddisfatte. Prestare attenzione quando si implementano ID file a 32 bit. Al momento della stesura di questo documento, non è mai stato osservato alcun evento di questo problema su un Isilon Cluster.
Come implementare l'utilizzo degli ID file a 32 bit su NFS
Occasionalmente è possibile che si verifichino problemi con handle di file non aggiornati. Un handle di file obsoleto è un handle di file che non corrisponde più a un FSID attivo. I FSID si basano su un ID di generazione (GENID) simile a un "numero di versione" per il file. Le scritture non sono basate sul GENID più recente, pertanto potrebbe essere generato un errore di handle di file obsoleto.
Gli handle di file obsoleti possono derivare da problemi di memorizzazione nella cache del client oppure il file non era bloccato ed era aperto per la modifica da parte di due o più utenti simultanei. Il blocco dei file è necessario per risolvere handle di file non aggiornati.