rpc.statd - NSM ステータスモニタ
/sbin/rpc.statd [-F] [-d] [-?] [-n name ] [-o port ] [-p port ] [-H prog ]
[-V]
rpc.statd サーバは NSM (Network Status Monitor)
RPC
プロトコルを実装したものである。
このサービスは少々名前が適切ではなく、
予想されるようなアクティブなモニタリングを実際に行うわけではない。
実際には NSM
はリブート通知サービスを実装したものなのである。
rpc.statd は NFS
ファイルロックサービス
rpc.lockd
が利用するもので、 NFS
サーバマシンがクラッシュして復帰したときに、
ロックを回復するために用いられる。
モニタの対象となる NFS
のクライアントとサーバのマシンそれぞれに対し、
rpc.statd は
/var/lib/nfs/sm
にファイルを作る。
起動するとき、
rpc.statd
はこれらのファイルを順次調べ、
それら接続先のマシンの
rpc.statd に通知する。
- -F
- デフォルトでは
rpc.statd
はフォークしてバックグラウンドに移動してから動作を始める。
-F オプションは、
rpc.statd
にフォアグラウンドに留まるよう伝える。
このオプションは主にデバッグのためのものである。
- -d
- デフォルトでは
rpc.statd
はログメッセージを
syslog(3)
を通してシステムログに送る。
-d
オプションは、このログ出力を詳細にし、
stderr
に送るよう指示する。
このオプションは主にデバッグのためのものであり、
おそらく -F
と同時にのみ使うことになるだろう。
-
-n, --name name
-
rpc.statd
がローカルのホスト名として用いる名前を指定する。
デフォルトでは rpc.statd
は gethostname(2)
を呼んでローカルのホスト名を取得する。
インターフェースが 2
つ以上あるマシンでは、
ローカルのホスト名を指定すると便利かもしれない。
-
-o, --outgoing-port port
-
rpc.statd
が外向きのステータスリクエストを送信するときに使うポートを指定する。
デフォルトでは rpc.statd
は portmap(8)
にポート番号を割り当ててくれるよう要求する。
このマニュアルの執筆時点では、
portmap
が常に割り当てに用いるような、標準的なポート番号はない。
ポートの指定は、ファイアウォールを実装するときに便利だろう。
-
-p, --port port
-
rpc.statd が listen
するポートを指定する。
デフォルトでは rpc.statd
は portmap(8)
にポート番号を割り当ててくれるよう要求する。
このマニュアルの執筆時点では、
portmap
が常に割り当てに用いるような、標準的なポート番号はない。
ポートの指定は、ファイアウォールを実装するときに便利だろう。
-
-P, --state-directory-path
directory
- statd
の状態情報を置くディレクトリを指定する。
このオプションが指定されない場合、デフォルトの
/var/lib/nfs
が使用される。
- -N
- statd
を通知専用モードで実行させる。
このモードで起動すると、
statd
プログラムは状態情報を置くディレクトリをチェックして、
全てのモニタ対象ノードに通知を送信し、通知の送信が完了したら終了する。
このモードは高可用性
(Highly Available) NFS 実装 (つまり HA-NFS)
を
有効にするために使用される。
-
-H, --ha-callout prog
- 高可用性コールアウトプログラムを指定する。
このプログラムは全てのクライアントモニタとモニタ終了リクエストに対する
コールアウトを受け取る。
これにより rpc.statd
を高可用性 NFS (HA-NFS)
環境で使用することができる。
このプログラムは 3
つの引き数を付けて実行される。
1 つ目は、 add-client
または del-client
であり、コールアウトの理由に依存する。
2
つ目はクライアントの名前である。
3
つ目はクライアントに知らせるサーバの名前である。
- -?
- コマンドラインヘルプを表示して終了する。
- -V
- バージョン情報を表示して終了する。
この版の
rpc.statd は
tcp_wrapper
ライブラリによって保護されている。
クライアントからの
rpc.statd
に対するアクセスが必要なら、
許可するよう設定しなければならない。.bar.com
ドメインの
クライアントからのアクセスを許可するには、
/etc/hosts.allow
に次のように書けばよい。
statd: .bar.com
デーモンの名前は
(バイナリのファイル名が異なっていても)
statd
としなければならない。
詳細は man ページ
tcpd(8) と
hosts_access(5)
を見てほしい。
SIGUSR1 を送ると、
rpc.statd
はディスクから通知リストを読み直して、クライアントに通知を送る。
このシグナルは高可用性
NFS (HA-NFS) 環境において、
他のサーバから NFS
エクスポートの引き継ぎを行うときに、
クライアントに通知を行ってファイルロックを再取得するために使用される。
/var/lib/nfs/state
/var/lib/nfs/sm/*
/var/lib/nfs/sm.bak/*
rpc.nfsd(8),
portmap(8)
Jeff Uphoff <
[email protected]>
Olaf Kirch <
[email protected]>
H.J. Lu <
[email protected]>
Lon Hohberger <
[email protected]>
Paul Clements <
[email protected]>