Solaris システムが異常終了したら、管理者はいろいろなことを考慮しなければなりません。Solaris Resource Manager システムを使用する場合には、次の点にも考慮が必要です。
リミットデータベースがディスクエラーなどが原因で壊れている可能性がある
システム障害時の limdaemon の操作 (特に、接続時間の負担に関連した) がエラーになる
次の各項では、これらについて詳しく説明し、必要に応じてその対処法を示します。
Solaris Resource Manager のリミットデータベースの保守は信頼性があるため、損傷することはほとんど考えられません。ただし、このデータベースは Solaris Resource Manager の操作にとって基本的なものであるため、損傷が実際に起きた場合には、大きな問題です。損傷の可能性がある場合は調査し、損傷が見つかったら修正する必要があります。
リミットデータベースが壊れていることを的確に判定できる唯一の症状はないので、いくつかの症状から判断する必要があります。
Solaris Resource Manager のカーネルによるグループループの検出は、リミットデータベースが壊れていることを示す有力な症状です。Solaris Resource Manager にはグループループが起こらないような予防措置がとられているので、ループが起こるのは sgroup 属性が何らかの理由で壊れている場合に限られます。詳細は、「グループループ」を参照してください。
ユーザーがログインしようとすると、「No limit information available」というメッセージが表示され、ログインできない。リミットデータベースが壊れているために flag.real 属性が消去され、その l ノードが事実上削除されている場合に、この問題が生じることがあります。これは、削除された l ノードに影響するだけでなく、親のない状態になった l ノードにも影響します (詳細は、「親のない l ノード」を参照)。「No limit information available」というメッセージは、そのアカウントの l ノードが作成されていなかったり、意図的に削除されていた場合に表示されます。したがって、これはリミットデータベースの損傷をはっきり示すものではありません。
usage 属性や limits 属性の値が実際には起こりえない数値となる。ユーザーによっては、急激に属性値が制限値にまで達することがあります。
ユーザーが急に特権を喪失したり、今まで持っていなかった特権を持つようになったりする。この原因は特権フラグの損傷によるものです。
リミットデータベースの損傷を検出する最もよい方法は、limreport を使って l ノードを一覧表示することです。ある範囲内にあるはずの属性の値がその範囲外にあることがあります。範囲外の値があると、損傷があったことが分かります。flag.real が消去されている l ノードも表示できます。この l ノードが表示される場合には、l ノードが存在しないアカウントがパスワードマップにあることを示します。
損傷を検出したら、管理者は、リミットデータベースを損傷していない状態に戻す必要があります。リミットデータベースの一部分だけが壊れている場合には、他のすべての l ノードの内容を保存し、limreport と limadm を使って新しいリミットデータベースに再読み込みできることがあります。このリミットデータベースには、最新の usage 属性と accrue 属性が含まれているので、リミットデータベースの最新のコピーがない場合は、この方法が必要です。リミットデータベースの保存と復元のための手順は、第 5 章「l ノードの管理」を参照してください。l ノードがなくなっているだけのような場合は、limadm コマンドを使うだけで作成し直すことができます。
limdaemon コマンドが何らかの理由で停止すると、ログイン済みのすべてのユーザーに接続時間使用量を負担させなくなります。さらに、limdaemon コマンドを再起動すると、ログイン済みのユーザーは同じ端末を無料で使用し続けます。これは、デーモンが、login のログイン通知を使って、接続時間使用量を計算するための Solaris Resource Manager ログインセッションレコードを内部構造に設定するからです。したがって、デーモンを起動しても、デーモンが最初の通知を受け取るまでは、Solaris Resource Manager ログインセッションは確立されません。
通常、limdaemon がシステムクラッシュのために停止する場合には、他のプロセスも停止するので、これは問題とはなりません。ログインセッションは、システムが再起動されるまで再開できないからです。
limdemon が他の理由で停止する場合には、管理者は次の 2 つの方法を実行します。
デーモンを直ちに再起動し、ログイン済みのユーザーに対し、失われた端末接続時間の課金を無視する。この場合、このユーザーを見つけてログアウトさせるまで、端末は永久に無料で使用されます。
システムをシングルユーザーモードにしてから、マルチユーザーモードに戻す。現在のすべてのログインセッションは停止され、ユーザーは、デーモンが再起動されるまでログインできません。