Isilon: Isilonファイル ハンドルについて
Summary: OneFSファイル処理の仕組みについて。
Symptoms
ファイル ハンドルは、Network File System(NFS)アクセスの基本単位です。これらは、ファイル/ディレクトリ名とは無関係のファイルまたはディレクトリへの参照です。ほぼすべてのNFSまたはリモート プロシージャ コール(RPC)には、ファイル ハンドルまたはファイル識別子が必要です。ファイル ハンドルはクライアントに対して不透明ですが、OneFSファイル ハンドルはすべてのノードで永続的です。OneFSでは、ファイル ハンドル情報はinodeに格納され、同じinodeを使用するすべてのファイルも同じファイル ハンドルを使用します。これは、フェールオーバー間での古いファイル ハンドルを防ぐためです。OneFSはファイル ハンドルをリサイクルしません。ファイルが存在する限り、ファイルのファイル ハンドルは存在できます。
Cause
Resolution
一般に、ファイル ハンドルはNFSサーバー上で作成され、プラットフォーム間で異なる場合があります。OneFSでは、ファイルの作成時にLIN(論理ノード)が作成されると、ファイル ハンドルが作成されます。ファイル ハンドルは、対象のファイル/ディレクトリーのファイル システムID(FSID)、エクスポートID、LINで構成されます。OneFSファイル ハンドルは64ビットであるため、理論上は無制限です(可能な同時ファイル ハンドルの合計 = 18クインティリオン * 10^19)。最大限に使用した場合、Isilonクラスターで使用可能な論理inodeを使い果たすのに理論的には10億年かかる可能性があります
OneFSは論理inodeをリサイクルしないため、LINが対応するファイル ハンドルに関連づけることが予想されます。
lincountジョブを使用して、クラスターの現在のLIN数を確認できます。
# 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
LINはOneFSファイル ハンドルの一部であるため、LINはファイル ハンドルから抽出できます。このプロセスについては、以下のリンクを参照してください。
ファイル ハンドル
からLINを取得する方法 この制限により、一部のオペレーティング システムとレガシー アプリケーションは64ビット ファイル ハンドルを受け入れることができず、Isilonクラスターとやり取りできません。
この制限を回避するために、OneFSは32ビットのファイルIDをクライアントに返すことができますが、この機能にはコストと注意点が伴います
ファイルが40億個を超えた場合、または作成および削除されるファイルの入れ替わりが十分にある場合は、LINがラップされる可能性があります(32ビットをモジュロ)。これにより、複数のLINが同じファイル ハンドルを指すようになります。数学的には、この状況が発生する可能性はほとんどありませんが、上記の条件が満たされた場合、重大なデータ ロスが発生する可能性があります。32ビットのファイルIDを実装する場合は注意が必要です。この記事の執筆時点では、Isilon Clusterでこの問題は発生していません
NFS経由で32ビット ファイルIDの使用を実装する方法を教えてください
時折、古いファイル ハンドルに関する問題が発生することがあります。古いファイル ハンドルは、アクティブなFSIDに対応しなくなったファイル ハンドルです。FSIDは、ファイルの「バージョン番号」に似た世代ID (GENID)に基づいています。書き込みは最新のGENIDに基づいていないため、古いファイル ハンドル エラーがスローされる可能性があります。
古いファイル ハンドルは、クライアント キャッシュの問題、またはファイルがロックされておらず、2 人以上の同時ユーザーによって編集用に開かれたことが原因で発生する可能性があります。古いファイル ハンドルを修正するには、ファイル ロックが必要です。