最近のサーバだと、BMC(Baseboard Management Controller)が装備されていて、IPMI(Intelligent Platform Management Interface)で電源ON/OFFやリセットできるのも多くなってきていると思います。

システムによっては、BIOSで Console Redirection を設定して、SOL(Serial Over LAN)でコンソールにアクセスできるように設定できます。
また、SOLでなくても、通常のシリアルケーブル接続でコンソールを取っている場合もあるかと思います。
サーバが近くに設置されていて、キーボードやモニタが接続されているのならいいですが、そうでなければ、シリアルポート経由でアクセスできたほうが安心ですよね。

でも、コンソール接続しているシステムの台数が多くなってくると、いろいろ面倒になりそうです。
このようなコンソール関連をいろいろサポートしてくれる Conserver というものを最近知りました。

私は以下のパッケージを使いました。
DAG: conserver RPM packages for Red Hat, CentOS and Fedora
とりあえず使ってみたかったので、設定は例えば以下のような感じ。

[root@linux ~]# rpm -i conserver-8.1.15-1.el4.rf.i386.rpm 
[root@linux ~]# chkconfig --list conserver
conserver       0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@linux ~]# grep conserver /etc/services 
console         782/tcp         conserver
[root@linux ~]#
[root@linux ~]# cat /etc/conserver.cf
default * {
        logfile /var/consoles/&;
        timestamp 1dab;
        logfilemax 1m;
        rw root,shige;
        master localhost;
}

console node0 { type device; device /dev/ttyS0; parity none; baud 115200; }
console node1 { type exec; exec /usr/bin/ipmitool -I lanplus -o intelplus -H 192.168.200.1 -U admin -P xxx sol activate; }
console node2 { type exec; exec /usr/bin/ipmitool -I lanplus -o intelplus -H 192.168.200.2 -U admin -P xxx sol activate; }

access * {
        trusted 127.0.0.1;
}
[root@linux ~]# 
[root@linux ~]# cat /etc/conserver.passwd
*any*:*passwd*
[root@linux ~]# 
[root@linux ~]# mkdir /var/consoles
[root@linux ~]# 
[root@linux ~]# grep localhost /etc/hosts
127.0.0.1       localhost       console
[root@linux ~]# 
[root@linux ~]# /etc/init.d/conserver start

テストなので localhost の root と shige ユーザのみパスワード無しでアクセス可としました。
接続別のログを /var/consoles/ 以下に記録します。
1日毎にタイムスタンプを記録し、接続・切断と Break送信も記録します。
ログファイルはサイズが 1MB を超えればローテーションされるようにしました。
(conserver自体のログは /var/log/conserver)
node0 の名前で設定したものはシリアルケーブル接続。
node1, node2 は SOL 接続。(ipmitool のオプションはシステムによって違う場合あり)

node1のコンソールを取りたければ、以下のように。

[root@linux ~]# console node1
[Enter `^Ec?' for help]

Red Hat Enterprise Linux Server release 5 (Tikanga)
Kernel 2.6.18-8.el5 on an x86_64

node1 login: 

切断は ^Ec. つまり Ctrl-E + c + .(ピリオド)
わかりやすく書くと、[Ctrl] + e の後に c を押すと [ が表示されるので、その後 .(ピリオド)

サーバが増えれば、console定義の行を増やせばいいだけです。
簡単ですね。

同じような事は、スクリプト等でできますが、Conserverの方が便利そうです。
調べてみると、色々なベンダーのクラスタシステムのコンソール管理のベースにも使われているようです。
いろいろノウハウはありそうですね。
便利な使い方など教えていただけると嬉しいです。