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(1M) から再起動の通知を受け、以前に許可されたロックリクエストを即座に再送信します。ロックデーモンが、以前に許可されたロックをサーバー側でセキュリティー保護できない場合は、SIGLOST がプロセスに送信されます。
管理者は、root としてログインし、sharectl(1M) コマンドを使用することで、lockd の起動パラメータに変更を加えることができます。
lockd サービスは、サービス管理機能 smf(5) によって、次のサービス識別子の下で管理されます。
svc:/network/nfs/nlockmgr
有効化、無効化、または再起動要求など、このサービスに関する管理操作は、svcadm(1M) を使用して実行できます。サービスステータスを照会するには、svcs(1) コマンドを使用します。
無効になっている場合は、application/auto_enable プロパティーが false に設定されていないかぎり、mount_nfs(1M)、share_nfs(1M)、および automountd(1M) を使用することで有効になります。
sharectl(1M) コマンドは、lockd の SMF 起動パラメータを操作するために使用されます。現在サポートされているパラメータは次のとおりです。
接続型トランスポートを介した lockd の接続キューの長さを設定します。デフォルトは 32 で、これが最小の値です。–l オプションと同等です。
同時に実行される lockd リクエストの最大数。デフォルトは 1024 です。nthreads オペランドと同等です。
lockd が再試行するまでの再送タイムアウト (秒)。デフォルトは 5 です。–t オプションと同等です。
サーバーのリブート後にすべてのクライアント (NLM と NFSv4 の両方) がロックを再生する必要がある猶予期間 (秒)。このパラメータは NFSv4 のリース間隔も制御します。デフォルトは 90 です。–g オプションと同等です。
後述の「使用例」を参照してください。
サポートしているオプションは、次のとおりです。
grace_period の方が推奨されます。サーバーのリブート後にすべてのクライアント (NLM と NFSv4 の両方) がロックを再生する必要がある秒数を指定します。これは NFSv4 のリース間隔も制御します。このオプションは、前述の grace_period プロパティーと同等です。
リスナーのバックログ (listen_min_backlog) を指定します。listen_min_backlog は、新しい接続リクエストがドロップされるようになるまでに、キューに入れられ、処理されるのを待機している接続リクエストの数です。前述の 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 プロパティー値の取得次のコマンドでは、lockd_listen_backlog プロパティーの値を取得します。
% sharectl get -p lockd_listen_backlog nfs lockd_listen_backlog=40
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
svcs(1)、automountd(1M)、clear_locks(1M)、mount_nfs(1M)、share(1M)、share_nfs(1M)、sharectl(1M)、statd(1M)、svcadm(1M)、fcntl(2)、lockf(3C)、attributes(5)、smf(5)
NFSv4 では、lockd デーモンが動作している必要はありません。
Solaris の将来のリリースでは、lockd デーモンが存在しなくなる可能性があります。