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/*
Jeff Uphoff <juphoff AT nrao DOT edu>
Olaf Kirch <okir AT monad DOT swb DOT de>
H.J. Lu <hjl AT gnu DOT org>
Lon Hohberger <hohberger AT missioncriticallinux DOT com>
Paul Clements <paul DOT clements AT steeleye DOT com>