Isilon: Grundlegendes zu Isilon-Dateihandles
Summary: Verstehen, wie die OneFS-Datei funktioniert.
Symptoms
Ein Datei-Handle ist die Grundeinheit für den NFS-Zugriff (Network File System). Sie sind Verweise auf Dateien oder Verzeichnisse, die unabhängig vom Datei-/Verzeichnisnamen sind. Fast alle NFS oder Remote Procedure Calls (RPC) erfordern ein Dateihandle oder eine Dateikennung. Datei-Handles sind für den Client nicht sichtbar, OneFS-Datei-Handles bleiben jedoch auf jedem Node bestehen. In OneFS werden Informationen zum Dateihandle in Inodes gespeichert und jede Datei, die denselben Inode verwendet, verwendet auch dasselbe Dateihandle. Dadurch sollen veraltete Dateihandles über Failover hinweg verhindert werden. OneFS verwendet keine Datei-Handles und ein Datei-Handle für eine Datei kann vorhanden sein, solange die zugehörige Datei vorhanden ist.
Cause
Resolution
Im Allgemeinen werden Datei-Handles auf dem NFS-Server erstellt und können je nach Plattform variieren. In OneFS wird ein Dateihandle erstellt, wenn ein logischer INode (LIN) zum Zeitpunkt der Dateierstellung erstellt wird. Dateihandles bestehen aus einer Dateisystem-ID (FSID), einer Export-ID und einer LIN der betreffenden Datei/des betreffenden Verzeichnisses. OneFS-Dateihandles sind 64 Bit groß, was sie theoretisch unbegrenzt macht (Gesamtzahl möglicher gleichzeitiger Dateihandles = 18 Trillionen * 10^19). Bei maximaler Nutzung könnte es theoretisch 1 Milliarde Jahre dauern, bis die verfügbaren logischen Inodes auf einem Isilon-Cluster erschöpft sind.
Da OneFS keine logischen Inodes wiederverwendet, kann davon ausgegangen werden, dass ein LIN mit dem entsprechenden Datei-Handle verknüpft ist.
Der Lincount-Job kann verwendet werden, um die aktuelle LIN-Anzahl des Clusters zu ermitteln:
# 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
Da LINs Teil von OneFS-Dateihandles sind, kann eine LIN aus einem Dateihandle extrahiert werden. Klicken Sie auf den folgenden Link, um mehr über diesen Prozess zu erfahren.
So rufen Sie eine LIN von einem Datei-Handle
abEinige Betriebssysteme und Legacy-Anwendungen sind nicht in der Lage, 64-Bit-Dateihandles zu akzeptieren und können aufgrund dieser Einschränkung nicht mit dem Isilon-Cluster interagieren.
Um diese Einschränkung zu umgehen, kann OneFS 32-Bit-Datei-IDs an Clients zurückgeben. Diese Funktion ist jedoch mit Kosten und Einschränkungen verbunden.
Wenn vier Milliarden Dateien überschritten werden oder wenn genügend Dateien erstellt und gelöscht werden, besteht die Möglichkeit, dass LINs umgebrochen werden (modulo 32-Bit). Dies kann dazu führen, dass mehrere LINs auf dasselbe Dateihandle verweisen. Mathematisch gesehen ist diese Situation höchst unwahrscheinlich, aber es besteht die Möglichkeit eines schwerwiegenden Datenverlusts, wenn die oben genannten Bedingungen erfüllt sind. Bei der Implementierung von 32-Bit-Datei-IDs ist Vorsicht geboten. Zum jetzigen Zeitpunkt wurde noch nie ein Auftreten dieses Problems auf einem Isilon-Cluster beobachtet.
Implementierung der Verwendung von 32-Bit-Datei-IDs über NFS
Gelegentlich können Probleme mit veralteten Dateihandles auftreten. Ein veraltetes Dateihandle ist ein Dateihandle, das keiner aktiven FSID mehr entspricht. FSIDs basieren auf einer Generations-ID (GENID), die einer "Versionsnummer" für die Datei ähnelt. Schreibvorgänge basieren nicht auf der neuesten GENID, sodass ein Fehler wegen eines veralteten Dateihandles ausgelöst werden kann.
Veraltete Dateihandles können auf Probleme mit der Clientzwischenspeicherung zurückzuführen sein oder die Datei war nicht gesperrt und konnte von zwei oder mehr gleichzeitigen Nutzern bearbeitet werden. Die Dateisperre ist erforderlich, um veraltete Datei-Handles zu beheben.