シリアルコンソールの設定(Linux minicom編)
[概 要]
なお、本ドキュメントでは、シリアルコンソール端末にはMIRACLE LINUX V4.0(x86版)をインストールしています。
[注意事項]
本ドキュメントは、各ソフトウェア開発元の情報およびマニュアル等を元にした参考情報です。
本ドキュメントの内容は、予告なしに変更される場合があります。
本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。
本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。
カーネルパニック時にコンソールに出力されるメッセージは、サーバ上のログには残されません。シリアルコンソールの設定を行っている場合には、サーバのコンソールと同時にシリアルコンソール端末にもメッセージが送られるため、情報を採取できる可能性が高くなります。
・ ハングアップ時の情報採取
シリアルコンソールの設定を行っている場合には、サーバが何らかの障害でキーボード操作不可能となり、Shellのコマンド入力ができない状態になった場合でも、SysRqの機能を使用してシリアルコンソール端末に情報を採取できる可能性が高くなります。
(SysRq については[参考情報] に記載のドキュメント等をご参照ください。)
以下の設定は、サーバのコンソールに出力されたメッセージを、シリアルコンソールへ同時に出力するための設定です。/boot/grub/grub.confを編集します。
1.背景イメージの指定をコメントアウトします。
#splashimage=(hd0,0)/grub
2."kernel"行にカーネルパラメータを追加します。
DOS や WindowsにおけるCOM1、COM2を、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.設定を反映させるため、サーバを再起動します。
初回起動時には、システム全体の設定ファイルである/etc/minirc.dflを作成します。
1.minicomをsetupオプションを付けて起動します。
# 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]画面を終了します。
[メッセージ出力テスト]
1.minicomを起動します。
# minicom
minicomが起動すると、シリアルコンソール画面上にログインプロンプトが表示されます。
2.シリアルコンソールで接続した場合は、minicomで[Ctrl]+Aキーを押してからFキーを押すことで、サーバ側でSysRqキー([Alt]+Printscreenキー)を押す場合と同じ動作をさせることができます。
以下の操作方法では、この機能を利用して、minicomの画面上にカーネルのメッセージを出力させています。
(操作方法)
[Ctrl]+Aキーを押してから、Fキーを押します。画面中央に「Sending Break」と表示されますので、その後Enterキーを押します。シリアルコンソール端末のminicomの画面上に、以下のようなSysRqのHELP が出力されることを確認してください。
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日 新規作成