lockd - ネットワークロックデーモン
/usr/lib/nfs/lockd [-g graceperiod] [-l listen_min_backlog] [-t timeout] [nthreads]
lockd ユーティリティーは、NFS ロックマネージャーの一部であり、NFSv2 および NFSv3 の NFS ファイルに対するレコードロック操作をサポートしています。fcntl(2) および lockf(3C) を参照してください。ロックマネージャーには、次の 2 つの機能があります。
NFS マウントされたファイルシステムの fcntl(2) ロックリクエストを NFS サーバー上のロックマネージャーに転送します。
NFS クライアントマシンで動作しているロックマネージャーから転送されたリクエストに応答して、ローカルファイルのロック操作を生成します。
lockd が強制終了されたり、オペレーティングシステムがリブートしたりすると、これらのロックリクエストに関してロックマネージャーが保持している状態情報が失われる可能性があります。この情報の一部は、次のように修復できます。サーバーのロックマネージャーは、再起動したあと、クライアント側のすべてのロックマネージャーが再生リクエストを送信するための猶予期間の間だけ待機します。一方、クライアント側のロックマネージャーは、ステータスモニターデーモン statd(8) から再起動の通知を受け、以前に許可されたロックリクエストを即座に再送信します。ロックデーモンが、以前に許可されたロックをサーバー側でセキュリティー保護できない場合は、SIGLOST がプロセスに送信されます。
Administrators can make changes to the startup parameters for lockd by using the sharectl(8) command.
lockd サービスは、サービス管理機能 smf(7) によって、次のサービス識別子の下で管理されます。
svc:/network/nfs/nlockmgr
再起動の有効化、無効化、要求などのこのサービスでの管理アクションは、svcadm(8) を使用して実行できます。サービスステータスを照会するには、svcs(1) コマンドを使用します。
If it is disabled, it will be enabled by mount_nfs(8), share_nfs(8), and automountd(8) unless its application/auto_enable property is set to false.
sharectl(8) コマンドは、lockd の SMF 起動パラメータを操作するために使用されます。現在サポートされているパラメータは次のとおりです。
接続型トランスポートを介した lockd の接続キューの長さを設定します。デフォルトは 32 で、これが最小の値です。–l オプションと同等です。
同時に実行される lockd リクエストの最大数。デフォルトは 1024 です。nthreads オペランドと同等です。
lockd が再試行するまでの再送タイムアウト (秒)。デフォルトは 5 です。–t オプションと同等です。
サーバーのリブート後にすべてのクライアント (NLM と NFSv4 の両方) がロックを再生する必要がある猶予期間 (秒)。このパラメータは NFSv4 のリース間隔も制御します。デフォルトは 90 です。–g オプションと同等です。
See EXAMPLES, below.
サポートしているオプションは、次のとおりです。
grace_period の方が推奨されます。サーバーのリブート後にすべてのクライアント (NLM と NFSv4 の両方) がロックを再生する必要がある秒数を指定します。これは NFSv4 のリース間隔も制御します。このオプションは、前述の grace_period プロパティーと同等です。
Specify the listener backlog (listen_min_backlog). listen_min_backlog is the number connect requests that are queued and waiting to be processed before new connect requests start to get dropped.前述の lockd_listen_backlog プロパティーと同等です。
ロックリクエストをリモートサーバーに再転送するまでに待機する秒数を指定します。デフォルト値は 5 秒です。前述の lockd_retransmit_timeout プロパティーと同等です。
サーバーが処理できる並行スレッドの最大数を指定します。この並行性を実現するため、カーネル内で必要に応じて nthreads スレッドまで作成されます。nthreads は、このサーバーに予想される負荷に基づいて設定します。nthreads が指定されていない場合、並行スレッドの最大数はデフォルトで 1024 になります。前述の lockd_servers プロパティーと同等です。
次のコマンドでは、lockd_listen_backlog を新しい値に設定します。
# sharectl set -p lockd_listen_backlog=40 nfs
lockd_listen_backlog およびほかの lockd プロパティーについては、下記の「ノート」で説明されています。
使用例 2 lockd プロパティー値の取得The following command retrieves the value of the lockd_listen_backlog property.
% sharectl get -p lockd_listen_backlog nfs lockd_listen_backlog=40
属性についての詳細は、マニュアルページの attributes(7) を参照してください。
|
svcs(1), fcntl(2), lockf(3C), attributes(7), smf(7), automountd(8), clear_locks(8), mount_nfs(8), share(8), share_nfs(8), sharectl(8), statd(8), svcadm(8)
NFSv4 では、lockd デーモンが動作している必要はありません。
Solaris の将来のリリースでは、lockd デーモンが存在しなくなる可能性があります。