HOME / コンピュータTips / Solaris / シリアルコンソール

Date: 2009/07/08 |  このエントリーをはてなブックマークに追加  |  Tags: OpenSolaris, シリアルコンソール, serial console, 設定

概略

iDCに置くサーバで、リモートKVMなどがついていない物は、ディスプレイ+キーボードを利用せず、シリアル・コンソールを利用するとよいでしょう。

シリアルコンソールは、何かおきたとき、たとえばEtherが死んだり、FireWallで締め出しを食らったりして、IP経由でアクセスが出来なくなったときに、作業をすることができます。

シリアルコンソールのボーレートは、9600でなく115200にすれば、コンソールは速く表示します。ただし、一般にシリアルコンソールとは9600であり。緊急時にしか使わないものなので、その時に困らない様に、あっさり動く9600に設定しておくと良いでしょう

物理結線

とりあえずクロスケーブルでつないでおきます。

Windows側はTeraTerm等のVT100ターミナルエミュレータを利用します。UNIXなら、tipコマンドなどを利用することも出来るし、Linuxなら、kermitなども利用可能。Linuxの場合はコンピュータTips/Linux/シリアル通信に記載しました。

チェック方法としては、互いにtipなどを起動して文字を入力しあい、相手の入力文字列がでてくるかどうかで、問題がないか調べることができるでしょう。

設定方法

起動プロセスを整理

シリアルコンソール起動に関係しそうな、ブートプロセスを記載します。

  1. PCの電源ON
  2. BIOS画面の表示。
    • BIOSがシリアルコンソールに対応していないとならない。
  3. ローダ(GRUB)の表示
    • OSをロードするためのミニローダという、小さなプログラム。
    • この部分はgrubを利用する場合はgrub.confで記述する
  4. カーネルの起動メッセージ
    • この部分はKernelオプションで指定する。
  5. ログインコンソール
    • 最後にログインのコンソールは別のプロセスが行う。上記で行うのは、この部分であり、上の項目の設定は個別に行う。

BIOS画面の表示

DELLのPowerEdge等はシリアルコンソールの設定を「Console Redirection」からBIOSで変更することができます。

ローダの表示

menu.lstの設定をします。

ZFS ROOTのSolaris(OpenSolarisはこちら)では、/rpool/boot/grub/menu.lst、UFS ROOTのSolarisでは、/boot/grub/menu.lstにあります。

次の一行を追加します。

serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1 terminal  --timeout=10 serial console

シリアルコンソールではスプラッシュイメージは必要ないので、下記はコメントアウトしておきます。

#splashimage /boot/grub/splash.xpm.gz
#background 15ECA

menu.lstはこの先も編集します。

カーネルの設定

カーネルの起動メッセージをシリアルに出すために、カーネルオプションの追加を行います。カーネルオプションはmenu.lstで書き換えます。

Solarisの場合、kernel$の-Bにconsole=ttyaを入れます。ttyaはcom1です。/boot/solaris/bootenv.rcにこれらの情報が記載されています。

kernel$ /platform/i86pc/kernel/$ISADIR/unix -v -B $ZFS-BOOTFS,console=ttya

Linuxの場合、Kernelを次の様に書き換えます。まあ同じ要領です。

kernel /vmlinuz-2.4.21-4.ELsmp ro root=LABEL=/ console=ttyS0,9600n8r

/etc/remote

最後にserialからログインできるようにします。

/etc/remote
serial1:\
        :dv=/dev/term/a:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:

コンピュータTips/Solaris

Recent Updates