NFSv4ストアプールとは何ですか。どのような理由で存在しますか。
環境
- ONTAP 9
- NFSv4
回答
- ONTAPは、NFSv4+の状態に関する情報をストアプールと呼ばれるメモリ割り当てに格納します
- 各storePoolは、NFSv4 / 4.1の状態処理を容易にするために使用されるメモリ割り当て(プール)の集合です。
- さまざまなエリアを含む12の異なるストアプールペアがあります。
StorePool名 | 説明 |
---|---|
storePool_ByteLockAllocを指定します | バイト範囲ロック |
storePool_ClientAlloc | クライアントID |
storePool_CopyStateAlloc | コピーオフロード関連の処理に使用されます |
storePool_DelegAlloc | 読み取りと書き込みの委譲(クライアントキャッシング) |
storePool_DelegStateAlloc | 委譲の状態ID |
storePool_LayoutAlloc | レイアウト(pNFSリファーラルに使用) |
storePool_LayoutStateAlloc | レイアウトの状態ID |
storePool_LockStateAllocを指定します | ロックの状態ID |
storePool_OpenAllocを指定します | が開きます |
storePool_OpenStateAlloc | オープン状態ID |
storePool_OwnerAllocを指定します | 所有者 |
storePool_StringAllocを指定します | ClientIDとOwnerに対して送信された不透明データを格納します |
- storePoolリソースはどこに配置されていますか?
- 各ノードには、固有のstorePoolリソースがあります。これらのstorePoolリソースは、各ノードのネットワークブレード(nblade)に保存されます。ノードに対してローカルなLIFをマウントしているクライアントによって使用されます。
- storePoolリソースは、ロックマネージャオブジェクトとどのように異なりますか。
- storePoolリソースは、NFSv4 / 4.1状態 の作業を行うためのもので、ファイルシステムレイヤ(dblade)で開いている/ロックされているファイルを追跡しません。ロックマネージャオブジェクトは、オープン/ロックの競合の解決など、ファイルシステムのオープン/ロックの追跡を担当します。
- ストアプール の枯渇は、ロックマネージャのオブジェクトの枯渇とどのように異なりますか。
- ストアプールの枯渇は、LIFがマウントされているノードのネットワークレイヤ(nblade)で発生します。これは、状態を追跡するためにNFSv4 / 4.1オブジェクトが不足している状態です。ロックマネージャの枯渇とは、ファイルシステムレイヤ(データブレードまたはdblade)でファイルを開いたりロックしたりするオブジェクトの枯渇です。ロックマネージャの枯渇は、枯渇が発生したノードに配置されているボリュームに影響します。
- ストアプールの使用状況の監視:
- storePoolオブジェクトは
statistics
、カウンタを使用して監視し、特定の「プール」 がいっぱいになったときに警告を出すことができます。プール割り当て番号は動的 であり、クライアントがファイルを開いたり閉じたりするときに常に変更される必要があります。NetAppには、コマンドを使用してカウンタを手動で取得する機能があります。この機能は、スクリプトを使用してアラートを生成することができます。ONTAP 9.2以降では 、storePoolリソースが最大しきい値の80%に達したときにアラートを通知するEMSイベントが発生します。
- storePoolオブジェクトは
- 特定のクライアントで原因の問題が発生する可能性がある方法
- 特定の状況では、クライアントはFilerが想定している方法でオープンを閉じません。この場合、クライアントは 、まだ開いている割り当てが残っていることを認識しません。この場合、サーバはOpenStateオブジェクトを削除せず、リソースが プールに返されることはありません。この動作が継続すると、クライアントの動作がサーバ上のリソースを孤立させるため、storePoolの枯渇が発生する可能性があります。NFSv4ロックをダンプすると 、どのクライアントがstorePoolのすべての割り当てを占有しているかを確認できます。このクライアントが再起動されると、ONTAPは そのクライアントに関連付けられているストアプールリソースを解放します。
- クライアントが NFSv4を使用して、ノードAにLIFをマウントし、ノードBにLIFをマウントします。どちらのマウントもノードAのボリュームにアクセスしますstorePoolリソースの枯渇がノードAで発生しますどのマウントが影響を受けますか。
- 影響を受けるのはノードAの接続のみです。これらの割り当ては 、接続に使用されるノードであるONTAPの「ネットワーク」レイヤ(nblade)にあります。ボリュームが問題と無関係な場所。