ONTAP プロトコル間の SMB ファイル ロックについて学ぶ
ファイル ロックとは、あるユーザがすでに開いているファイルに別のユーザがアクセスすることを防ぐ機能で、クライアント アプリケーションで使用されます。ONTAPでファイルをロックする方法は、クライアントのプロトコルによって異なります。
クライアントがNFSクライアントである場合、ロックは任意に設定します。クライアントがSMBクライアントである場合、ロックは必須となります。
NFSファイルとSMBファイルのロックの違いのため、SMBアプリケーションですでに開いているファイルにNFSクライアントからアクセスすると、エラーになる場合があります。
NFSクライアントがSMBアプリケーションによってロックされたファイルにアクセスすると、次のいずれかの状態になります。
-
混合ボリュームまたは NTFS ボリュームでは、
rm、rmdir、 `mv`などのファイル操作によって NFS アプリケーションが失敗する可能性があります。 -
NFSの読み取りと書き込みの処理は、SMBの読み取り拒否および書き込み拒否のオープン モードによってそれぞれ拒否されます。
-
また、ファイルの書き込み対象となる範囲が、排他的なSMBバイトロックでロックされている場合も、NFSの書き込みの処理はエラーになります。
-
リンク解除
-
NTFSファイルシステムでは、SMBとCIFSの削除処理がサポートされています。
ファイルは最後に閉じたあとで削除されます。
-
NFSのリンク解除処理は、サポートされていません。
サポートされていない理由は、NTFSとSMBのセマンティクスが必要であり、NFSではLast Delete-On-Close処理がサポートされていないためです。
-
UNIXファイルシステムでは、リンク解除操作がサポートされています。
サポートされている理由は、NFSとUNIXのセマンティクスが必要だからです。
-
-
名前変更
-
NTFSファイルシステムでは、デスティネーション ファイルがSMBかCIFSから開かれている場合には、デスティネーション ファイルの名前を変更できます。
-
NFSの名前変更はサポートされていません。
サポートされていない理由は、NTFSとSMBのセマンティクスが必要だからです。
-
UNIXセキュリティ形式のボリュームでは、NFSのリンク解除および名前変更の処理でSMBのロック状態が無視され、ファイルへのアクセスが許可されます。UNIXセキュリティ形式のボリュームでのその他すべてのNFS処理では、SMBのロック状態が考慮されます。