シリアルコンソールの設定(Linux minicom編)

[概  要]

本ドキュメントでは、サーバの障害時の情報採取に有効なシリアルコンソールの設定について説明します。

なお、本ドキュメントでは、シリアルコンソール端末にはMIRACLE LINUX V4.0(x86)をインストールしています。

 

[注意事項]

本ドキュメントは、各ソフトウェア開発元の情報およびマニュアル等を元にした参考情報です。

本ドキュメントの内容は、予告なしに変更される場合があります。

 

本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。

本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。

 

[シリアルコンソールとは]
「コンソール」とは、一般的にシステムのメッセージ出力装置のことを指し、「シリアルコンソール」とは、サーバのシリアルポートとシリアルケーブルで直接つながっている端末のモニタとキーボードを指します。

 

シリアルコンソールは、以下のようなサーバの障害時に有効です。

 

・ カーネルパニック時の情報採取

カーネルパニック時にコンソールに出力されるメッセージは、サーバ上のログには残されません。シリアルコンソールの設定を行っている場合には、サーバのコンソールと同時にシリアルコンソール端末にもメッセージが送られるため、情報を採取できる可能性が高くなります。

  

・ ハングアップ時の情報採取

シリアルコンソールの設定を行っている場合には、サーバが何らかの障害でキーボード操作不可能となり、Shellのコマンド入力ができない状態になった場合でも、SysRqの機能を使用してシリアルコンソール端末に情報を採取できる可能性が高くなります。

(SysRq については[参考情報] に記載のドキュメント等をご参照ください。)

 

 

[動作環境]
本ドキュメントの動作環境は以下のとおりです。
 

 

[準  備]
RS-232C(シリアル)クロスケーブルを用意し、双方のシリアルポートを直接つないでおきます。

 

[サーバ側設定]

 

出力設定

以下の設定は、サーバのコンソールに出力されたメッセージを、シリアルコンソールへ同時に出力するための設定です。/boot/grub/grub.confを編集します。

 

1.背景イメージの指定をコメントアウトします。

 

 

#splashimage=(hd0,0)/grub

 

 

2."kernel"行にカーネルパラメータを追加します。

DOS WindowsにおけるCOM1COM2を、Linuxでは ttyS0(シリアルポート1)、ttyS1(シリアルポート2)とあらわします。

また、以下の設定では通信速度を9600パリティおよびデータビット数はデフォルト(パリティビット数 0、データビット数 8)に設定しています。必要に応じて変更してください。

 

[変更前]

kernel /vmlinuz-2.6.9-34.28AXsmp ro root=LABEL=/1

 

[変更後] (1行で記述しています)

kernel /vmlinuz-2.6.9-34.28AXsmp ro root=LABEL=/1 console=tty0 console=ttyS0,9600

 

ログイン設定

以下の設定は、シリアルコンソール端末から、サーバへログイン出来るようにする為の設定です。

 

1./etc/inittab ファイルに以下の記述を追加します。

 

)シリアルポートttyS0を使用し、通信速度の指定を9600とする

 

 

co:12345:respawn:/sbin/agetty ttyS0 9600

  

 

2./etc/securetty の編集

rootでのログインを可能にする為 /etc/securettyファイルに ttyS0 を追記します。

 

3.設定を反映させるため、サーバを再起動します。

 

[シリアルコンソール端末側設定]
本ドキュメントでは、ターミナルソフトとしてminicomを使用する場合の設定を示します。

 

設定ファイル作成

初回起動時には、システム全体の設定ファイルである/etc/minirc.dflを作成します。

 

1.minicomsetupオプションを付けて起動します。

 

 

# minicom -s

 

 

[configuratioin]画面が開きます。

 

[configuration]

Filenames and paths

File transfer protocols

Serial port setup

Modem and dialing

Screen and keyboard

Save setup as dfl

Save setup as..

Exit

 

 

2."Serial port setup"を選択して[Enter]キーを押します。

以下の表示は、minicom-2.00.0-19 のデフォルト値です。

 

A - Serial Device : /dev/ttyS1

B - Lockfile Location : /var/lock

C - Callin Program :

D - Callout Program :

E - Bps/Par/Bits : 38400 8N1

F - Hardware Flow Control : Yes

G - Software Flow Control : No

 

Change which setting?

 

 

3.項目の値を必要に応じて変更します。

"Change which setting?”の右にカーソルが点滅している状態で、項目左端のアルファベットを入力します。

本ドキュメントでは、"Serial Device”"Bps/Par/Bits”のみを変更しています。

 

"Serial Device”変更

(1)"Change which setting?”"A”を入力します。

(2)デバイス名にカーソルが移動し、入力可能な状態になります。適切なデバイス名を入力します。

 

"Bps/Par/Bits”変更

[サーバ側設定]で通信速度を9600に設定しているため、ここでは"Bps/Par/Bits”9600に変更します。

(1)"Change which setting?”"E”を入力します。

(2)[Comm Parameters]画面で"E”(9600)を入力します。

(3)[Enter]キーで[Comm Parameters]画面を終了します。

 

設定後の表示は以下のようになります。

 

A - Serial Device : /dev/ttyS0

B - Lockfile Location : /var/lock

C - Callin Program :

D - Callout Program :

E - Bps/Par/Bits : 9600 8N1

F - Hardware Flow Control : Yes

G - Software Flow Control : No

 

Change which setting?

 

 

4.[Enter]キーで[configuration]画面に戻り、"Save setup as dfl”を選択します。

設定ファイル/etc/minirc.dflが作成されました。

 

5."Exit”を選択して[configuration]画面を終了します。

 

設定後、minicomを終了します。終了する場合は、[Ctrl]+Aキーを押してから、Xキーを押します。
(minicomのコマンドキーについては、[Ctrl]+Aキーを押してから、Zキーを押して一覧を表示することができます。)

 

 

[メッセージ出力テスト]

 

1.minicomを起動します。

 

 

# minicom

 

 

minicomが起動すると、シリアルコンソール画面上にログインプロンプトが表示されます。

 

 

2.シリアルコンソールで接続した場合は、minicom[Ctrl]+Aキーを押してからFキーを押すことで、サーバ側でSysRqキー([Alt]+Printscreenキー)を押す場合と同じ動作をさせることができます。

以下の操作方法では、この機能を利用して、minicomの画面上にカーネルのメッセージを出力させています。

 

(操作方法)

[Ctrl]+Aキーを押してから、Fキーを押します。画面中央に「Sending Break」と表示されますので、そのEnterキーを押します。シリアルコンソール端末のminicomの画面上に、以下のようなSysRqHELP が出力されることを確認してください

 

 

SysRq : HELP : loglevel0-8 reBoot Crash tErm kIll saK showMem powerOff showPc unRaw Sync showTasks Unmount shoWcpus

 

 

ここではHELPの出力を行いましたが、他のSysRqのコマンドキーについては、[参考情報] 等をご確認ください。

 

[メッセージ保存設定]

シリアルコンソール端末minicom画面上に出力されるメッセージをキャプチャするための設定を行います。シリアルコンソール端末側でminicomが起動している状態で、以下の設定を行います。

 

[Ctrl]+Aキーを押してから、Lキーを押します。

以下のように、キャプチャデータの保存先を入力する画面が表示されます。

デフォルトでは、カレントディレクトリにminicom.capというファイルが作成されます。

必要に応じて任意のファイル名(パス)を指定し、ログを保存します。

 

 

Capture to which file?

>minicom.cap

 

 

 

[参考URL]

JF: Remote Serial Console HOWTO

JF: Linux Kernel 2.2 Documentation: sysrq.txt

 

 

[更新履歴]

2008年 3月 3日 新規作成