ipmiって便利

通常サーバー管理というのは遠隔で行うもので、怖いのは応答不能になることです。SSHでログイン出来れば何とでもなるけど、うんともすんとも言わない場合はデータセンターの人にリセットボタンを押してもらうように依頼する事になると思います。電話やメールしてると実際の作業まで10分以上のロスになるし、何か頼むのが悪いし、他人なので色々心配事も出てきちゃいます。そもそもネットワークの設定ミスやKernelのエラーでシングルユーザーモードで起動しちゃったりすると現地対応するしか無くなります。
そこで、サーバー同士をシリアルケーブルで繋いで、コンソールリダイレクションの設定をすれば現地でキーボードとディスプレイを繋いで作業するのと近いレベルまで持っていけるのだけど、これは非常に面倒なもので、サーバーが増えてくるとやっていけないと思われます。

で、一つの妥協案なのですが、最近のサーバーにはipmiやSerial Over Lan(SOL)という機能がついていてIPネットワークを使ってシリアルコンソールへのアクセスが可能になってます。DELLのR300やHPの安物1Uでも普通に出来たので、1U〜サーバーであれば大体搭載されてるのじゃないでしょうか。

以下はDELLのR300での設定例です。

BIOS設定1


BIOS起動中にF2押してsetup画面に入ります。Serial CommunicationでコンソールリダイレクションをOnにして、COM1か2のどちらを使うか選択します。普通COM1だけど、何となく2になってます・・・これで、シリアルケーブルを繋いでのコンソールアクセスが可能になります。

BIOS設定2


再起動後、BIOSの立ち上げの最終段階でCTRL+Eを押してRemote Access Configurationの設定画面に入ります。これ、タイミングがシビアなので気をつけて。IPMI Over LANをOnにして、NICの設定(IPアドレスとか)を行います。こいつはDRACをつけてるのでNICが選択出来ないけど、普通NIC1か2のどちらと共用にするか選択出来るはず。DELLの人曰くDRACつけてるとNICと共用設定に出来ないらしいです。物理的に。
IPMI使用のユーザーとパスワードの設定もここですね。

Linuxの設定

/etc/inittabに追加
c1:2345:respawn:/sbin/agetty -h 115200 ttyS1 vt100
c1ってのが名前、他とかぶらなければ良し。2345はランレベル、/sbin/agettyはgettyで、-hで通信速度(これはBIOSで設定したのと合わせる)ttyS1ってのはCOM2になるそうです。ttyS0がCOM1。
再起動かtelinit -qで反映します。最小限でさえOSが起動していれば、ネットワークが起動してなかろうともIPアドレスを使ってIPMIでのSOLアクセスが可能になります。ちなみに上のキャプチャはmacのコンソールからIPMIで繋いでます。遠隔からのIPアクセスでBIOSの設定まで可能とは。。

grubも設定

上までだとOSが起動しないとログイン出来ないので、ブートローダーであるgrubも見れるようにしておきます。
CentOSでの/boot/grub/grub.confの設定例です。

default=0
timeout=10
serial --unit=0 --speed 115200 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console
#splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-92.el5PAE)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-92.el5PAE ro root=/dev/Vg/root console=tty0  console=ttyS1,115200n8r
        initrd /initrd-2.6.18-92.el5PAE.img

詳しい説明は省くけど、端末とシリアルコンソールの両方にメニューを表示、選択出来るようにしてます。シングルユーザーでの起動を追加しとけば幸せになれそうです。

IPMIの使用方法

ipmiにアクセスするにはipmitoolを使います。遠隔操作する側のコンピューターにインストールしておきます。
yum install OpenIPMI-tools
シリアルコンソールリダイレクションを行うには
ipmitool -I lanplus -U root -H 192.168.0.1 sol activate
パスワードを聞かれるので、入力すればログイン画面が表示されます。
他にも色々出来ます。

  • ipmitool -I lanplus -U root -H 192.168.0.1 chassis power on 電源ON
  • ipmitool -I lanplus -U root -H 192.168.0.1 chassis power off 電源OFF

sdrでサーバーのハードウェアの情報が取れます。

  • ipmitool -I lanplus -U root -H 192.168.0.1 sdr

CPU温度とか、RAIDの状態とか、FANの回転数とか、OpenManagrを使わなくても分かります。

PXEブートでOSのインストールをしているなら、自動化することで遠隔からOSインストールも気楽に挑戦出来ますね。失敗したら自分で再起動出来るし。