RPC.STATD(8) | FreeBSD System Manager's Manual | RPC.STATD(8) |
名称
rpc.statd — ホストステータス監視デーモン書式
rpc.statd | [ -d][ -h bindip][ -p port] |
解説
rpc.statd ユーティリティは、他のホスト上の rpc.statd デーモンと協調してステータスの監視サービスを提供するデーモンです。デーモンは、ローカルホスト上で動くプログラム (たとえば rpc.lockd(8) NFS ファイルロックデーモン) からのリクエストを受け取り、指定したホストのステータスを監視します。監視中のホストがクラッシュし再起動すると、リモートのデーモンはそのことをローカルデーモンに対し知らせ、さらにローカルデーモンが監視サービスをリクエストしたローカルプログラムに対して知らせます。逆に、もしこのホストがクラッシュし再起動すると、 rpc.statd は再起動時に、クラッシュ時に監視していた全てのホストに対してクラッシュが起こったことを知らせます。オプションは以下のとおりです:
- -d
- syslog を通してデバッグ情報を書くようになります。デーモンへの全ての RPC トランザクションが記録されます。このメッセージは level が LOG_DEBUG で facility が LOG_DAEMON として記録されます。エラーの状態は、このオプションに関わらず、log level が LOG_ERR で facility が LOG_DAEMON として syslog を通して記録されます。
- -h bindip
-
バインドする特定の IP アドレスを指定します。このオプションは、複数回指定できます。
-h オプションが指定されないなら、
rpc.statd は、
INADDR_ANY にバインドします。
-h で IP アドレスを指定するとき、
rpc.statd は、
127.0.0.1
を、IPv6 が有効であるなら、::1
をリストに自動的に追加されることに注意してください。 - -p
- -p オプションによって、デーモンは、AF_INET と AF_INET6 アドレスファミリの両方に対して指定された port ポートを強制的にバインドすることができます。
rpc.statd ユーティリティは inetd(8) から起動してはいけません。これは、プロトコルが、システムの開始時にデーモンが起動されていることを仮定しているためです。デーモンは rc(8) によりネットワークの開始後に起動されるべきです。
関連ファイル
- /var/db/statd.status
- 現在監視しているホストの不揮発レコード
- /usr/include/rpcsvc/sm_inter.x
- ローカルアプリケーションが監視リクエストを登録するために使う RPC プロトコルの仕様。
規格
実装は、 X/Open CAE Specification C218, "Protocols for X/Open PC Interworking: XNFS, Issue 4", ISBN 1 872630 66 9 をもとにしています。バグ
監視中のホストが (致命的なハードウェア障害などのため) 永久に見えなくなったことをデーモンが知る手段はありませんが、ホストや中間のルータの一時的な障害は知ることは出来ます。現在の実装では、リトライは 10 分間隔、つぎは 1 時間ごとに行い、最後に 24 時間経つとあきらめます。プロトコルでは、監視関係の確立に、ローカルとリモートの両方のデーモンで対称に監視リクエストを行うことを要求しています。これは NFS のロックプロトコルの場合は便利ですが、おそらく他のアプリケーション用の監視システムとしての有用性が低下しています。
現在の実装では、各監視ホストにつき 1Kbytes の領域がステータスファイル内 (VM 内にも) に確保されます。このため、多くのクライアントを抱える NFS サーバでは非効率的であるかもしれません。
November 1, 2007 | FreeBSD |