• 検索結果がありません。

NFSv4ファイル委譲の仕組み

Data ONTAPはRFC 3530に従って、読み取りファイル委譲と書き込みファイル委譲をサポートしま

す。

RFC 3530で指定されているとおり、NFSv4クライアントがファイルを開くとき、Data ONTAPはオープ ン要求や書き込み要求のそれ以降の処理を、開いているクライアントに委譲することができます。

ファイル委譲には、次の2つのタイプがあります。

• 読み取り

読み取りファイル委譲の場合、クライアントは、読み取りのためのファイルオープン要求のう ち、他のファイルへの読み取りアクセスを拒否しない要求をローカルで処理できます。 バイト単 位の読み取りロックもローカルで処理されます。

• 書き込み

書き込みファイル委譲の場合、クライアントはすべてのオープン要求を処理できます。バイト単 位のロック要求はすべてローカルで処理されます。

便宜的ロック(oplock)が有効であるかどうかに関係なく、委譲はすべての形式のqtree内のファイ ルに対して機能します。

ファイル処理のクライアントへの委譲は、リースが期限切れになったとき、またはストレージ システ ムが他のクライアントから次の要求を受け取ったときにリコールすることができます。

• ファイルへの書き込み、書き込みのためのファイルオープン、または「読み取り拒否」のための ファイルオープン

• ファイル属性の変更

• ファイルの名前変更

• ファイルの削除

リースが期限切れになると、委譲状態は取り消され、関連するすべての状態は「soft」とマークされ ます。 つまり、以前に委譲状態であったクライアントがリースを更新する前に、ストレージ システム が同じファイルに対して他のクライアントから競合するロック要求を受け取った場合、この競合する ロックは認められます。競合するロックがなく、委譲を保持しているクライアントがリース期限を更 新した場合、ソフトロックはハードロックに変更され、アクセスが競合しても削除されることはあり ません。 ただし、リース期限が更新されても委譲は再び認められません。

サーバがリブートされると、委任状態は失われます。クライアントは、委譲要求プロセスをすべて 再実行しなくても、再接続時に委譲状態を再要求することができます。読み取り委譲を保持してい るクライアントがリブートされると、すべての委譲状態情報が再接続時にストレージ システムのキ ャッシュからフラッシュされます。 クライアントは委譲要求を発行して新しい委譲を確立する必要が あります。

注: NFSv4.0ファイル委譲は、Infinite Volumeを備えたStorage Virtual Machine(SVM)ではサポ ートされません。

NFSv4 読み取りファイル委譲の有効化と無効化

NFSv4読み取りファイル委譲を有効または無効にするには、-v4.0-read-delegationオプション

または-v4.1-read-delegationオプションを変更します。 読み取りファイル委譲を有効にする と、ファイルのオープンとクローズに伴うメッセージのオーバーヘッドを大幅に軽減できます。

タスク概要

デフォルトでは、読み取りファイル委譲は無効です。

読み取りファイル委譲を有効にした場合の欠点は、サーバのリブートまたはリスタート後、クライア ントのリブートまたはリスタート後、あるいはネットワークを分割したあとに、サーバおよびそのクラ イアントが委譲をリカバリする必要があることです。

NFSv4.0ファイル委譲は、Infinite Volumeを備えたStorage Virtual Machine(SVM)ではサポートさ れません。

手順

1. 次のいずれかを実行します。

状況 操作

NFSv4読み取りファイル委譲 を有効にする

次のコマンドを入力します。

vserver nfs modify -vserver vserver_name -v4.0-read-delegation enabled

NFSv4.1読み取りファイル委 譲を有効にする

次のコマンドを入力します。

vserver nfs modify -vserver vserver_name -v4.1-read-delegation enabled

NFSv4読み取りファイル委譲 を無効にする

次のコマンドを入力します。

vserver nfs modify -vserver vserver_name -v4.0-read-delegation disabled

NFSv4.1読み取りファイル委 譲を無効にする

次のコマンドを入力します。

vserver nfs modify -vserver vserver_name -v4.1-read-delegation disabled

タスクの結果

ファイル委譲オプションへの変更はすぐに反映されます。 NFSのリブートやリスタートは必要ありま せん。

NFSv4 書き込みファイル委譲の有効化と無効化

書き込みファイル委譲を有効または無効にするには、-v4.0-write-delegationオプションまた は-v4.1-write-delegationオプションを変更します。書き込みファイル委譲を有効にすると、フ ァイルのオープンとクローズだけでなく、ファイルおよびレコードのロックに関連するメッセージのオ ーバーヘッドを大幅に軽減できます。

タスク概要

デフォルトでは、書き込みファイル委譲は無効です。

書き込みファイル委譲を有効にした場合の欠点は、サーバのリブートまたはリスタート後、クライア ントのリブートまたはリスタート後、あるいはネットワークを分割したあとに、サーバおよびそのクラ イアントが委譲をリカバリするための追加タスクを実行する必要があることです。

NFSv4.0ファイル委譲は、Infinite Volumeを備えたStorage Virtual Machine(SVM)ではサポートさ れません。

手順

1. 次のいずれかを実行します。

状況 操作

NFSv4書き込みファイル委譲 を有効にする

次のコマンドを入力します。

vserver nfs modify -vserver vserver_name -v4.0-write-delegation enabled

状況 操作 NFSv4.1書き込みファイル委 譲を有効にする

次のコマンドを入力します。

vserver nfs modify -vserver vserver_name -v4.1-write-delegation enabled

NFSv4書き込みファイル委譲 を無効にする

次のコマンドを入力します。

vserver nfs modify -vserver vserver_name -v4.0-write-delegation disabled

NFSv4.1書き込みファイル委 譲を無効にする

次のコマンドを入力します。

vserver nfs modify -vserver vserver_name -v4.1-write-delegation disabled

タスクの結果

ファイル委譲オプションへの変更はすぐに反映されます。 NFSのリブートやリスタートは必要ありま せん。

NFSv4 ファイルおよびレコード ロックの設定

NFSv4のファイルおよびレコードロックを設定するには、ロックリース期間および猶予期間を指定

します。

関連コンセプト

ファイル ロックの管理(115ページ)

NFSv4 ファイルおよびレコード ロックについて

NFSv4クライアントの場合、Data ONTAPはNFSv4のファイルロックメカニズムをサポートしている

ため、すべてのファイルのロック状態がリースベース モデルで保持されます。

Data ONTAPは、RFC 3530に従って、「あるNFSクライアントで保持されているすべての状態に対し

てリース期間を1つ定義します。この定義された期間内にクライアントがリースを更新しない場合 は、クライアントのリースに関連付けられたすべての状態がサーバによって解放される可能性があ ります。」 クライアントはファイル読み取りなどの操作を実行して、リースを明示的または暗黙的に 更新できます。

Data ONTAPは猶予期間も定義します。猶予期間とは、サーバリカバリ中にクライアントが自身の

ロック状態を再要求する、特別な処理期間のことです。

用語 定義(RFC 3530を参照)

リース Data ONTAPがクライアントを解除不能なロック状態に設定する期間。

猶予期間 サーバ リカバリ中にクライアントが自身のロック状態をData ONTAPに 再要求する期間。

ロック 他に特に記載がないかぎり、レコード(バイト範囲)ロックとファイル(共 有)ロックの両方を表します。

NFSv4 ロック リース期間の指定

NFSv4ロックリース期間(Data ONTAPがクライアントに解除不能なロックを付与する期間)を指定

するには、-v4-lease-secondsオプションを変更します。 リース期間が短いほどサーバのリカバ

リにかかる時間は短くなりますが、多数のクライアントに対処するサーバについてはリース期間を 長くすると効果的です。

タスク概要

デフォルトでは、このオプションは30に設定されています。このオプションの最小値は10です。こ のオプションの最大値はロック猶予期間の値です。ロック猶予期間はlocking.lease_seconds オプションで設定できます。

手順

1. 権限レベルをadvancedに設定します。

set -privilege advanced 2. 次のコマンドを入力します。

vserver nfs modify -vserver vserver_name -v4-lease-seconds number_of_seconds

3. admin権限レベルに戻ります。

set -privilege admin

関連したドキュメント