SLESでのリモートシリアルコンソールの設定

このドキュメント (3456486J) の最後に記載の 免責条項 に基づき提供されています。

環境

Novell SUSE Linux Enterprise Server 10
Novell SUSE Linux Enterprise Server 9
Novell SUSE Linux Enterprise Server 8
Novell SUSE Linux Enterprise Desktop 10
Novell Linux Desktop
Novell SUSE Linux Openexchange Server 4.1
Novell SUSE Linux Standard Server 8

状況

シリアル接続を使ったシステムへのアクセスを設定します。 例、手動でカーネルクラッシュダンプを取得するため。

解決方法

前提条件

  • 別の Linux システムを、例えばデータターミナルやMicrosoft Windowsシステムではなく、そのサーバのシリアルコンソールのように設定します。
  • どちらのシステムも最初のシリアルポート(DOSの"COM1"ポート)にヌルモデムケーブルを接続します。
  • サーバをGRUBを使ってブートします。
  • 接続は、ボーレイト115200、8 データビット、1 ストップビット、奇数パリティ ("115200 8N1")を使います。

 

設定手順

  1. サーバとコンソール用のサーバ間をヌルモデムケーブルで接続します。 詳細およびピンマップは Wikipediaの記事 Null modem などを参照ください。
  2. サーバのBIOSがシリアルコンソールをサポートしていれば、BIOSを設定します。 手順の詳細は、BIOSベンダにより違います - 各ベンダのドキュメントを参照ください。
  3. 最初のシリアルポートを使用するサーバでGRUBを設定します。 /boot/grub/menu.lst ファイルで、 color および gfxmenu の行をコメントアウトし、以下の行を追加します:
     serial --unit=0 --speed=115200
     terminal --timeout=15 serial console
  4. シリアルポートを使用するサーバでカーネル (およびハイパーバイザ)を設定します。 この設定はXenの設定とXenでない設定で異なります。

    Xenでない設定

    /boot/grub/menu.lst ファイルで、カーネルコマンドラインに以下のオプションを追加します:
     console=tty0 console=ttyS0,115200

    カーネルメッセージは tty0 および ttyS0 に書き込まれますが、OSメッセージは ttyS0 だけに書き込まれます。 OSメッセージはブートオプション行で定義された最後のコンソールに出力されます。

    以下のサンプルの /boot/grub/menu.lst ファイルはこれらの変更例です:
     #color white/blue black/light-gray
     default 0
     timeout 8
     #gfxmenu (hd0,1)/boot/message
     serial --unit=0 --speed=115200
     terminal --timeout=15 serial console


     title Linux ! SERIAL CONSOLE !
     kernel (hd0,1)/boot/vmlinuz root=/dev/sda3 selinux=0 splash=0 resume=/dev/sda1 showopts elevator=cfq vga=791 console=tty0 console=ttyS0,115200
     initrd (hd0,1)/boot/initrd

    Xenの設定

    Xen仮想化を使用している場合、Xen ハイパバイザおよび Dom0 カーネルの両方がシリアル接続を使用する必要があります:
      1. console=vga,com1 com1=115200 をハイパバイザのパラメータに追加します。
      2. console=tty0 console=xvc0,115200 を Dom0 カーネルのパラメータに追加します。

    以下のサンプルの /boot/grub/menu.lst ファイルはこれらの変更例です:
     #color white/blue black/light-gray
     default 0
     timeout 8
     #gfxmenu (hd1,0)/boot/message
     serial --unit=0 --speed=115200
     terminal --timeout=15 serial console


     title Linux - Xen ! SERIAL CONSOLE !
     kernel (hd0,1)/boot/xen.gz console=vga,com1 com1=115200
     module (hd0,1)/boot/vmlinuz root=/dev/sda3 console=tty0 console=xvc0,115200
     module (hd0,1)/boot/initrd

  5. シリアル接続経由でのログインを許可するよう設定します。 /etc/inittab ファイルに、以下の行を追加します。

     S0:12345:respawn:/sbin/agetty -L 115200 console vt102

    シリアル接続を使ってシングルユーザモードを許可するには、さらに以下の行を追加します
     ~~:S:respawn:/sbin/sulogin/etc/inittab に以下を追加します。
     ~~:S:respawn:/sbin/sulogin /dev/console

    注意: シングルユーザモードはこのオプションでシリアルコンソールでのみ有効になります。 ローカルコンソールを使うには、変更を元に戻します。

  6. サーバでシリアルポートを安全なポートとして設定します。 そのため、最初に通常のユーザでログインする必要がなく、root でのログインが可能になります。

    /etc/securetty ファイルに以下の行を追加します。
     console
     ttyS0
     xvc0

  7. サーバに screen パッケージがインストールされていることを確認します。 これは後でコントロールシーケンスを送信するのに必要です。

シリアルコンソールを使ってカーネルクラッシュダンプを起動

サーバの "magic SysRq" コントロールを行うため、およびカーネルクラッシュダンプを起動するためにシリアルコンソール接続を使います。 システムのキーボードからの "magic SysRq" が使えないシステムハングの調査に特に有効です。

  1. カーネルクラッシュダンプ取得にためにサーバを設定します。 詳細は下記のTIDを参照ください:
  2. シリアルポート経由でサーバに接続するために、シリアルコンソールシステムで minicom のようなシリアルプログラムを使います。
    シリアルコンソールのシステムにrootでログインして実行
     screen -S console /dev/ttyS0 115200
     
    これで最初のシリアルポートに接続したスクリーンセッションをセットアップします。 このセッションを使用するには以下の手順を行います:
      1. ネットワークのいずれかのマシンからシリアルコンソールのシステムに root でログインします。
      2. 以下のコマンドを実行します:
         screen -x -r console
      3. SUSE ホストをリブートすると、GRUB が "Press any key to continue." のプロンプトが表示されます。 いずれかのキーを押すと、使用しているデバイスに GRUB メニューが表示されます。 何もキーを押さないと、/boot/grub/menu.lst ファイルに terminal オプションで定義したGRUB メニューが シリアルコンソールスクリーンに表示されます。
      4. screen コマンドで複数ユーザが同時にスクリーンに接続し制御することができます。 必要な場合は、複数の人たちがトラブルシューティングに参加することが可能です。
      5. カーネルクラッシュダンプ起動方法:

        Xen でない設定

        シリアルポートにブレークを送り、そして magic sysrq キーを送ります。 例: Ctrl-A、Ctrl-B、d。 コマンドの詳細は screen の man ページ参照ください。

        Xen 設定

        Xen ハイパバイザでの magic sysrq キーは Ctrl-O です。 Ctrl-O、d を送りクラッシュダンプを監視します。

 

追加情報

免責条項

このサポート ナレッジベースは、NetIQ/Novell/SUSE顧客、および弊社製品およびそのソリューションに関心のあるパーティへ、情報やアイデアの取得およびそれらの知識を得る為の有効なツールを提供します。 本文書の商品性、および特定目的への適合性について、いかなる黙示の保証も否認し、排除します。

  • ドキュメント ID:3456486J
  • 作成年月日:31-JAN-07
  • 修正年月日:26-OCT-09
    • SUSESUSE Linux Enterprise Desktop
      SUSE Linux Enterprise Server

このドキュメントはあなたの問題を解決しましたか? フィードバックを送る

SUSEサポートフォーラム

経験豊富なシステムオペレーターへの質問を投稿したり、他のSUSEコミュニティのエキスパートと交流したりすることができます。

コミュニティに参加

サポートリソース

このガイドラインでは、SUSEサブスクリプション、Premium Support、教育機関向けプログラム、またはパートナープログラムで提供されるテクニカルサポートの活用方法について説明します。


SUSE Technical Support Handbook Update Advisories
サポートに関するFAQ

インシデントを開く

テクニカルサポートへのインシデントの報告、サブスクリプションの管理、パッチのダウンロード、ユーザーアクセスの管理を行うことができます。

カスタマーセンターにアクセス