Solaris のシステム管理 (ネーミングとディレクトリサービス : FNS、NIS+ 編)

rpc.nisd の複数の親プロセス

「症状」

次の表現が含まれている様々なエラーメッセージが表示されます。これらのメッセージは、データベースやトランザクションログが壊れていることを意味しています。

「考えられる原因」

複数の独立した rpc.nisd デーモンを実行させています。通常の動作では、rpc.nisd は他の rpc.nisd デーモンを子プロセスとして生成できます。このこと自体は問題はありません。しかし、1 台のマシン上で 2 つの rpc.nisd デーモンが親として動作している場合は、互いのデータを上書きし、ログとデータベースを壊してしまいます。このような現象が発生するのは、rpc.nisd が手作業で起動された場合です。

「診断」

ps -ef | grep rpc.nisd を実行します。親の rpc.nisd プロセスは、1 つしか動作していないことを確認します。

「対策」

「親」としての rpc.nisd のエントリが複数ある場合は、1 つを残して、他のデーモンの動作を終了させなければなりません。kill -9 process-id を実行し、もう一度 ps コマンドを実行して、他のデーモンが終了したかどうか確認します。


注 –

-B オプションを指定して rpc.nisd を起動した場合は、rpc.nisd_resolv デーモンも終了させる必要があります。


NIS+ データベースが壊れている場合は、壊れていないデータベースを、最新のバックアップから復元します。次に、バックアップの時点よりあとで、名前空間に加えられた変更を反映します。しかし、ログも壊れている場合は、バックアップを行なったあとで名前空間に加えられた変更を、再度手作業で行わなければなりません。