HOME / コンピュータTips / Solaris / シリアルコンソール
概略 †
iDCに置くサーバで、リモートKVMなどがついていない物は、ディスプレイ+キーボードを利用せず、シリアル・コンソールを利用するとよいでしょう。
シリアルコンソールは、何かおきたとき、たとえばEtherが死んだり、 FireWallで締め出しを食らったりして、IP経由でアクセスが出来なくなったときに、作業をすることができます。
シリアルコンソールのボーレートは、9600でなく115200にすれば、コンソールは速く表示します。ただし、一般にシリアルコンソールとは9600であり。緊急時にしか使わないものなので、その時に困らない様に、あっさり動く9600に設定しておくと良いでしょう
物理結線 †
とりあえずクロスケーブルでつないでおきます。
Windows側はTeraTerm等のVT100ターミナルエミュレータを利用します。 UNIXなら、tipコマンドなどを利用することも出来るし、Linuxなら、kermitなども利用可能。Linuxの場合はコンピュータTips/Linux/シリアル通信に記載しました。
チェック方法としては、互いにtipなどを起動して文字を入力しあい、相手の入力文字列がでてくるかどうかで、問題がないか調べることができるでしょう。
設定方法 †
起動プロセスを整理 †
シリアルコンソール起動に関係しそうな、ブートプロセスを記載します。
- PCの電源ON
- BIOS画面の表示。
- BIOSがシリアルコンソールに対応していないとならない。
- ローダ(GRUB)の表示
- OSをロードするためのミニローダという、小さなプログラム。
- この部分はgrubを利用する場合はgrub.confで記述する
- カーネルの起動メッセージ
- この部分はKernelオプションで指定する。
- ログインコンソール
- 最後にログインのコンソールは別のプロセスが行う。上記で行うのは、この部分であり、上の項目の設定は個別に行う。
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:


