Oracle® Solaris 11.2 でのシステム管理のトラブルシューティング

印刷ビューの終了

更新: 2014 年 9 月
 
 

リモートコンソールメッセージングを有効にする

    次の新しいリモートコンソール機能を使うと、リモートシステムの問題をトラブルシュートしやすくなります。

  • consadm コマンドでは、補助 (またはリモート) コンソールとしてシリアルデバイスを選択できます。consadm コマンドを使用すると、システム管理者は 1 つまたは複数のシリアルポートを構成して、出力先が変更されたコンソールメッセージを表示したり、システムの実行レベルが変わったときに sulogin セッションをホストしたりできます。この機能を使用して、モデム付きのシリアルポートにダイヤルインしてコンソールメッセージをモニターし、init 状態の変更を表示できます詳細については、sulogin(1M) と、次の詳しい手順を参照してください。

    補助コンソールとして構成されたポートからシステムにログインすることもできますが、このポートは主に、デフォルトコンソールに表示される情報を表示する出力デバイスです。ブートスクリプトやその他のアプリケーションがデフォルトコンソールに対して読み書きを行う場合、書き込み出力はすべての補助コンソールに出力されますが、入力はデフォルトコンソールからだけ読み込まれます対話型ログインセッションでの consadm コマンドの使用方法については、対話型ログインセッションで consadm コマンドを使用するためのガイドラインを参照してください。

  • コンソール出力は、新しい仮想デバイス /dev/sysmsg に書き込まれる、カーネルメッセージと syslog メッセージからなります。さらに、rc スクリプト起動メッセージが /dev/msglog に書き込まれます。以前のリリースでは、これらのメッセージはすべて /dev/console に書き込まれていました。

    スクリプトメッセージを補助コンソールに表示したい場合は、コンソール出力を /dev/console に出力しているスクリプトで出力先を /dev/msglog に変更する必要があります。メッセージ出力先を補助デバイスに変更する場合は、/dev/console を参照しているプログラムで syslog() または strlog() を使用するように明示的に変更してください。

  • consadm コマンドは、デーモンを実行して補助コンソールデバイスをモニターします。補助コンソールに指定された表示デバイスがハングアップしたりキャリア信号がなくなって切り離されると、そのデバイスは補助コンソールデバイスのリストから削除され、アクティブでなくなります。1 つまたは複数の補助コンソールを有効にしても、メッセージがデフォルトコンソールに表示されなくなるわけではありません。メッセージは引き続き /dev/console に表示されます。

実行レベルの変更中に補助コンソールメッセージングを使用する

    実行レベルの変更中に補助コンソールメッセージングを使う場合は、次の点に注意してください。

  • システムのブート時に実行する rc スクリプトにユーザーの入力がある場合は、補助コンソールから入力を行うことはできません。入力はデフォルトコンソールから行う必要があります。

  • 実行レベルの変更中に、root パスワード入力を要求するために sulogin プログラムが init によって呼び出されます。このプログラムは、デフォルトのコンソールデバイスだけでなく各補助デバイスにも root パスワードの入力要求を送信するように変更されています。

  • ユーザーは、sulogin を直接起動しないでください。ユーザーがこのユーティリティーを使用するには、solaris.system.maintenance authorization が必要です。

  • システムがシングルユーザーモードで動作し、1 つまたは複数の補助コンソールが consadm コマンドによって有効になっていると、最初のデバイスでコンソールログインセッションが実行され、正確な root パスワードを要求する sulogin プロンプトが表示されます。コンソールデバイスから正しいパスワードを受け取ると、sulogin は他のすべてのコンソールデバイスからの入力を受信できないようにします。

  • コンソールの 1 つがシングルユーザー特権を取得すると、デフォルトコンソールとその他の補助コンソールにメッセージが出力されます。このメッセージは、どのデバイスから正しい root パスワードが入力され、コンソールになったかを示します。シングルユーザーシェルが動作する補助コンソールのキャリア信号が失われると、次のどちらかのアクションが起ることがあります。

    • 補助コンソールが実行レベル 1 のシステムを表している場合は、システムはデフォルトの実行レベルに移行します。

    • 補助コンソールが実行レベル S のシステムを表している場合は、シェルから init s または shutdown コマンドが入力されたデバイスに「ENTER RUN LEVEL (0-6, s or S): 」というメッセージが表示されます。このデバイスのキャリア信号も失われている場合は、キャリア信号を復活して正確な実行レベルを入力する必要があります。init コマンドや shutdown コマンドを実行しても、実行レベルプロンプトが再表示されることはありません。

  • シリアルポートを使用してシステムにログインしている場合には、init または shutdownコマンドを使用して別の実行レベルに移行すると、このデバイスが補助コンソールかどうかに関係なくログインセッションは失われます。この状況は、補助コンソール機能がない リリースと同じです。

  • consadm コマンドを使って補助コンソールにするデバイスを選択すると、システムをリブートするか補助コンソールの選択を解除するまで、そのデバイスは補助コンソールのままになります。ただし、consadm コマンドには、システムリブート後も同じデバイスを補助コンソールとして使用するオプションがあります。(以下の詳しい手順を参照)。

対話型ログインセッションで consadm コマンドを使用するためのガイドライン

    シリアルポートに接続された端末からシステムにログインしてから、consadm コマンドを使ってこの端末にコンソールメッセージを表示して、対話型ログインセッションを実行する場合、次の点に注意してください。

  • この端末で対話型ログインセッションを行う場合、補助コンソールがアクティブだと、コンソールメッセージは /dev/sysmsg デバイスまたは /dev/msglog デバイスに送られます。

  • この端末からコマンドを発行すると、入力はデフォルトコンソール (/dev/console) ではなく対話型セッションに送られます。

  • init コマンドを実行して実行レベルを変更すると、リモートコンソールソフトウェアは対話型セッションを終了し、sulogin プログラムを実行します。この時点では、入力はこの端末からだけ可能で、入力はコンソールデバイスから行われたかのように扱われます。そのため、Using Auxiliary Console Messaging During Run Level Transitions の説明のとおりに、実行レベルの変更中に補助コンソールメッセージングを使用する プログラムにパスワードを入力できます。

    次に、(補助) 端末から正しいパスワードを入力すると、補助コンソールは、対話型 sulogin セッションを実行し、デフォルトコンソールおよび競合する補助コンソールは使用できなくなります。つまり、その端末は実質的にシステムコンソールとして機能します。

  • この端末から実行レベル 3 または別の実行レベルに変更できます。実行レベルを変更すると、すべてのコンソールデバイスで sulogin が再び実行されます。終了したり、システムが実行レベル 3 で起動されるように指定すると、どの補助コンソールからも入力を行えなくなります。すべての補助コンソールはコンソールメッセージを表示するだけのデバイスに戻ります。

    システムが起動する際には、デフォルトのコンソールデバイスから rc スクリプトに情報を入力する必要があります。システムがふたたび起動すると login プログラムがシリアルポートで実行されるため、別の対話型セッションを開始できます。そのデバイスを補助コンソールに指定していれば、コンソールメッセージはその端末に引き続き出力されます。ただし、端末からの入力はすべて対話型セッションに送られます。

補助 (リモート) コンソールを有効にする方法

consadm デーモンは、consadm コマンドで補助コンソールを追加するまでポートのモニタリングを開始しません。セキュリティー機能として、コンソールメッセージは、キャリア信号が失われるまでか、補助コンソールデバイスの選択が解除されるまでの間だけ出力変更されます。そのため、consadm コマンドを使うには、そのポートでキャリア信号が確立されている必要があります。

補助コンソールの有効化については、consadm(1m) のマニュアルページを参照してください。

  1. システムにログインし、root 役割になります。

    Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 の割り当てられている管理権利の使用を参照してください。

  2. 補助コンソールを有効にします。
    # consadm -a devicename
  3. 現在の接続が補助コンソールであることを確認します。
    # consadm
使用例 5-3  補助 (リモート) コンソールを有効にする
# consadm -a /dev/term/a
# consadm
 /dev/term/a

補助コンソールのリストを表示する方法

  1. システムにログインし、root 役割になります。

    Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 の割り当てられている管理権利の使用を参照してください。

  2. 次のどちらかの手順に従います。
    1. 補助コンソールのリストを表示します。
      # consadm
      /dev/term/a
    2. 持続的補助コンソールのリストを表示します。
      # consadm -p
      /dev/term/b

システムリブート後も補助 (リモート) コンソールを有効にする方法

  1. システムにログインし、root 役割になります。

    Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 の割り当てられている管理権利の使用を参照してください。

  2. 複数のシステムリブート後も補助コンソールを有効にします。
    # consadm -a -p devicename     

    このデバイスが持続的な補助コンソールのリストに追加されます。

  3. デバイスが持続的な補助コンソールのリストに追加されているか確認します。
    # consadm
使用例 5-4  システムリブート後も補助 (リモート) コンソールを有効にする
# consadm -a -p /dev/term/a 
# consadm
/dev/term/a

補助 (リモート) コンソールを無効にする方法

  1. システムにログインし、root 役割になります。

    Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 の割り当てられている管理権利の使用を参照してください。

  2. 次のどちらかの手順に従います。
    1. 補助コンソールを無効にします。
      # consadm -d devicename

      または

    2. 補助コンソールを無効にし、持続的な補助コンソールのリストから削除します。
      # consadm -p -d devicename
  3. 補助コンソールが無効になっていることを確認します。
    # consadm
使用例 5-5  補助 (リモート) コンソールを無効にする
# consadm -d /dev/term/a
# consadm