HP ProLiant 300/500/700シリーズには標準でIntegrated Lights-Out 2(iLO2)というリモート管理機能が(制限付きながら)付いてきます。これをFreeBSDで使う方法について調べてみました。
まずはiLO2を使えるようにするため、BIOSからネットワークの設定を施します。
DL320などはNIC1(bge0)をOSとiLO2でシェアして使います。FreeBSDでこの機能を使えるようにするためには、 /boot/loader.conf に以下の行を追加します。
hw.bge.allow_asf="1"
この設定をしないと、OSが起動してNICが初期化された段階でiLO2との通信ができなくなります。
これで設定は完了で、ブラウザからiLO2のIPアドレスにアクセスして以下のようなログイン画面が表示されれば成功です。
ところが、iLO2の標準機能ではKVM over IPはOS起動前までしか使えません。起動後、BIOSのもろもろの表示までは普通に使えるのですが、OS起動の段になるとわざわざ遮断して以下のような画面になります。
Advanced Licenseは1年で54,000 円、+17,400 円で4年に延長もできるようですが、サーバの値段と比べるとちょっと高すぎます。解説ページの「モデル仕様の比較」を見ると、リモートシリアルコンソールは使えるようなので、FreeBSD側でシリアルコンソールの設定をします。
シリアルコンソールに切り替えるため、/boot.config を作成して以下を記述します。フラグの意味はboot(8)参照。
-Dh
同じく、/boot/loader.confにも以下の記述を追加します。こちらの意味はloader.conf(5)参照。
console=comconsole
DL320では、iLO2の仮想シリアルコンソールはsio1(COM2)になるので、/boot/device.hintsを編集してsio1をコンソールに指定します。
#hint.sio.0.flags="0x10" ← コメントアウト : hint.sio.1.flags="0x10" ← 追加
さらに、/etc/ttysを編集します。
ttyd1 "/usr/libexec/getty std.9600" vt100 on secure
これでOSを再起動するとシリアルコンソールを利用可能になります。
これで一応シリアルコンソールは利用可能になりますが、KVM over IPではコンソール画面のアクセスした時点の状態(OSがハングアップした場合、その直前のエラーメッセージ等)が見え、うまくいけばスクロールロックキーによってバッファの内容も確認できるのに対し、シリアルコンソールではエンターキーを押すとうえのような画面になるだけで、直前のカーネルメッセージの確認ができず、キー入力に反応するかどうかぐらいでハングアップを判定するしかないようです。これではちょっとリモート管理としては不十分ですね。