オンラインで見つけたNFSロックメカニズムについて学びたい。使用nfslockd
しないと、 rpc.lockd
私たちはできます。しかし、Debianにはパッケージはありません。 Debianでこれを行う必要がある場合は、誰でも私を助けてください。
ベストアンサー1
以前のバージョンのNFS(v2 / v3)はロックなしで使用できます。ロックをサポートするために、nfsdを持つサーバーは別々のロックデーモンを使用します。
質問にタグ付けされたNFSv4の場合、ロックはプロトコルの不可欠な部分であり、v4サービスは別々のロックデーモンを使用しません。
nfsv4マウントがある場合は、ローカルファイルシステムと同様にファイルをロックできる必要があります。
ご意見ありがとうございます。あるクライアントがファイルを使用している場合は、最初のクライアントがそのファイルを解放するまで別のクライアントがそのファイルにアクセスできないように、サーバー自体からファイルをロックしたいと思います。このような競争状況を避けたい。
Unixは、ファイルシステムではなくクライアントに適用されるアドバイザリロックを使用します(Windowsではこれを好む)。これは、すべてのクライアントがロックに参加する必要があることを意味します。
クライアントがファイルにアクセスする前にロックを要求すると、すべてがうまくいくでしょう。他のクライアントがロックを解除し、他のクライアントがロックを獲得した後にのみ可能です。 fcntl
ローカルファイルと NFS ファイルシステムの両方が通常、呼び出しをサポートします。
見てUNIXのファイルロックウィキペディアの背景知識を得る。