web-dev-qa-db-ja.com

pNFSのロックメカニズム

私が知っているように、並列NFSでは、メタデータサーバーからレイアウトを取得した後、クライアントはデータサーバーと直接通信します。複数のクライアントがデータサーバーの同じ領域に対して同時に読み取りまたは書き込みを行うとどうなるかを迷います。 pNFSをロックするメカニズムはありますか?.

2
Waveter

RFC 5661(nfs 4.1(pnfsを含む)による)
https://tools.ietf.org/html/rfc5661#section-12.5.1

すべてのユーザーアクセス権が必要であるというNFSv4.1の要件
適切なOPEN、LOCK、およびACCESS操作によって取得されたものは、レイアウトの存在によって変更されません。レイアウトは
NFSv4.1クライアント、およびユーザーアクセスは引き続き
それらが存在しないかのようにプロトコル。それは、
クライアントがストレージデバイスにアクセスするには、レイアウトを保持する必要があります
クライアント。

そして、同じセクションのさらに下に:

クライアントは、上記のように適切なOPEN、LOCK、およびACCESS操作を実行する必要があることに注意してください。クライアントがこれらの操作を回避できる程度とその結果は、個々のレイアウトタイプの仕様によって明確に指定する必要があります。さらに、これらの仕様は、サーバーによって実行されるチェックの要件と非要件について明確である必要があります。

PNFS機能が存在する場合、必須のバイト範囲ロック
pNFSがない場合と同じように動作する必要があります。したがって、必須のファイルロックとレイアウトが同時に提供される場合、ストレージデバイス
必須のバイト範囲ロックを適用できる必要があります。たとえば、1つのクライアントが必須のバイト範囲ロックを取得し、2番目のクライアントがストレージデバイスにアクセスする場合、ストレージデバイスは適切にMUSTする必要があります
必須のバイト範囲ロックの範囲のI/Oを制限します。の場合
ストレージデバイスは、存在下でこのチェックを提供できません
必須のバイト範囲ロックの場合、メタデータサーバーはしてはならない
レイアウトと必須のバイト範囲ロックを同時に付与します。

1
Dani_l