シリアルコンソールの接続方法
--------------------------------
Linux サーバとシリアルコンソール (Windows PC) をシリアルクロスケーブルで
接続し、ターミナルソフトウェアを利用する事で、Linux サーバに接続されている
VGA コンソールだけでなく、シリアルコンソール側にもメッセージを出力する事が
可能となります。
┌───────┐
│ │ ┌─────────┐
│ Linux サーバ ├────────────┤ VGA コンソール │
│ │→ → → → → → → → │ │
│ │ └─────────┘
│ │
│ │※シリアルコンソール側にもメッセージを出力
│ │
│ │→ → → → → → → → ┌─────────┐
│ ├────────────┤シリアルコンソール│
│ │ シリアルクロスケーブル │(Windows PC) │
└───┬───┘ │┌───────┐│
│ ││ ターミナル ││
┌──┴──┐ ││ ソフトウェア ││
│キーボード│ │└───────┘│
└─────┘ └─────────┘
以下、シリアルコンソールの設定方法についてご説明致します。
(1) Linux サーバとシリアルコンソールをシリアルクロスケーブルで接続してくだ
さい。
(2) シリアルコンソールにてターミナルソフトウェアを起動し、シリアルポートの
設定を行ってください。
┌───────┬───────────┐
│設定項目 │ 設定値 │
├───────┼───────────┤
│ボーレート │ 設定可能な最大速度 │
│データ長 │ 8 ビット │
│パリティ │ なし │
│ストップビット│ 1 ビット │
│フロー制御 │ なし │
└───────┴───────────┘
(例) ターミナルソフトウェアに TeraTerm を使用する場合
(2-1) TeraTerm を起動してください。
(2-2) 新規接続ウィンドウにて接続方法を「シリアル」、「ポート」に
シリアルコンソールで使用するシリアルポート番号を選択し、
「OK」を押下してください。
(2-3) メニューの「設定」⇒「シリアルポート」を選択してください。
(2-4) シリアルポート設定ウィンドウで各設定項目の設定を行い、
「OK」を押下してください。
(2-5) メニューの「ファイル」⇒「ログ」を選択してください。
(2-6) ログウィンドウのファイル名にコンソールメッセージを保存する
ファイルを指定後、「開く」を押下し、ログ採取機能を開始して
ください。
(3) Linux サーバの設定を行ってください。
RHEL5またはRHEL6の場合は /boot/grub/grub.conf ファイル の kernel 行に、
RHEL7の場合は /etc/default/grub ファイル の GRUB_CMDLINE_LINUX 行に、
「console=tty0 console=ttyS0,115200n8」を追記してください。
(設定例)
kernel ... console=tty0 console=ttyS0,115200n8
^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^
(a) (b) (c)
RHEL8の場合は以下のコマンドを実行してください。
# grubby --args="console=tty0 console=ttyS0,115200n8" --update-kernel=ALL
^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^
(a) (b) (c)
また、/etc/default/grub ファイルに、以下の2行を追記してください。
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
なお、各設定項目の意味は以下の通りです。
┌──┬───────────────────────────────┐
│項目│意味 │
├──┼───────────────────────────────┤
│(a) │Linux サーバに接続されている VGA コンソールに │
│ │メッセージを出力する為の設定です。 │
├──┼───────────────────────────────┤
│(b) │シリアルコンソールと接続されている Linux サーバ側の │
│ │シリアルポートを指定しています。 │
│ │"ttyS0" の "0" は、Linuxサーバの 1 番目のシリアルポート (COM1)│
│ │を意味しています。 │
│ │ │
│ │お客様がご使用のポート番号に、適宜読み替えてください。 │
│ │ │
│ │ ttyS0 → COM1 (COMA, シリアルポート A コネクタ) │
│ │ ttyS1 → COM2 (COMB, シリアルポート B コネクタ) │
│ │ │
│ │ポート番号が何番であるかは、ご使用の機種のユーザーズガイドを │
│ │参照してください。 │
├──┼───────────────────────────────┤
│(c) │Linux サーバでのシリアルポート設定となります。 │
│ │"115200n8" の "115200" はボーレート、"n" はパリティ無し、 │
│ │"8" はデータ長が 8bit であることを意味しています。 │
│ │ │
│ │※「(2)」で行ったターミナルソフトウェアの設定と同じように │
│ │ 設定してください。 │
└──┴───────────────────────────────┘
(4) RHEL7またはRHEL8の場合は、以下のコマンドを実行してgrub.cfg にも変更内容を反映してください。
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
(5) Linux サーバの再起動を行い、ターミナルソフトウェア上にサーバ起動時の
メッセージが出力される事を確認してください。
また、出力されたメッセージがログファイルに記録されている事を確認して
ください。
【補足・注意事項】────────────────────────────┐
│ │
│・シリアルケーブルにはクロスとストレートの 2 種類のケーブルがあります │
│ が、シリアルコンソールの接続にはクロスケーブルを使用します。 │
│ ストレートケーブルは使用できませんので、ご注意ください。 │
│ │
│・シリアルコンソールを常時接続しておく必要があります。トラブル発生後に │
│ 接続しても情報を採取できません。 │
│ │
│・ボーレートの設定は情報採取時間に影響する為、設定可能な最大速度を │
│ 設定するようにしてください。 │
│ │
│・ご使用のディストリビューションによっては、kernel 行にカーネル起動 │
│ パラメータ "rhgb", "quiet" が設定されています。 │
│ │
│ (例) │
│ kernel /vmlinuz-2.6.9-55.ELsmp ro root=LABEL=/ rhgb quiet │
│ ^^^^ ^^^^^ │
│ ┌───┬───────────────────────────┐ │
│ │rhgb │各種サービスの起動状況をグラフィカルに表示する。 │ │
│ ├───┼───────────────────────────┤ │
│ │quiet │起動時に出力される詳細なカーネルメッセージを抑止する。│ │
│ └───┴───────────────────────────┘ │
│ │
│ 両パラメータが設定されている場合、シリアルコンソールに出力される │
│ メッセージが少なくなる為、調査に支障をきたす場合があります。 │
│ シリアルコンソールの接続設定の際には、両カーネル起動パラメータを │
│ 削除してください。 │
│ │
│・本設定を行うことで、VGA コンソールとシリアルコンソールの両方に │
│ メッセージが出力されます。 │
│ ただし、一部のメッセージはシリアルコンソールにしか出力されません。 │
│ │
└────────────────────────────────────┘