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

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

「症状」

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

「考えられる原因」

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

「診断」

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

「対策」

「親」としての rpc.nisd エントリが複数ある場合は、1 つを残して、ほかのデーモンの動作を終了させなければなりません。svcadm disable を使用して不要なサービスを停止してから、ps コマンドをもう一度実行して、不要なデーモンが終了したかどうかを確認します。

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