2017年1月27日金曜日

FreeBSD11でHPE ML30 Gen9のシリアルコンソールとSerial Over LANを使う

FreeBSD11でHPE ML30 Gen9のBIOS Serial ConsoleとSerial Over LANを使うように設定してみました。

これにより、
  • iLO4のSerial Over LANでのBIOS操作
  • iLO4のSerial Over LANでのコンソールアクセス
ができるようになります。 ただBIOS操作については、BIOSの設定画面に入るのが難しいなどの問題があってあまり実用的ではないので、緊急用だと思います。

設定を簡単に解説します。

まずBIOSで、BIOS Serial Console Portの設定をします。
ML30 Gen9のBIOS画面を開き、BIOS Serial Console and EMSのところで、BIOS Serial Console Portを「Virtual Serial Port」にします。

これで再起動をした後、以下のようにiLO4のコンソールにsshでアクセスした後、Serial Over LAN機能を使います。
$ ssh ユーザー@iLO4のIPアドレス
iLO Advanced 2.50 at  Sep 23 2016
Server Name:
Server Power: On

</>hpiLO-> vsp

Virtual Serial Port Active: COM1

Starting virtual serial port.
Press 'ESC (' to return to the CLI Session.
こういったメッセージの後、うまくいけば以下のようなBIOSへの遷移画面が出ます。

ただ接続のタイミングが難しく、いつでもこのような画面が表示されるわけでありません。少したってからFreeBSDの起動画面になったります。上記のような画面になると、メッセージに従って操作、たとえばESC+9でBIOSの設定画面に入ることができます。

FreeBSDでiLO4のSerial Over LAN機能を使ってログインするには、/etc/ttysを少し変更する必要があります。
変更前
ttyu0 "/usr/libexec/getty 3wire"      vt100   onifconsole secure
変更後

ttyu0   "/usr/libexec/getty 3wire.115200"       vt100   on secure
つぎにFreeBSDの起動画面もiLO4のSerial Over LANからアクセスするには/boot.configに以下の記述をする必要があります。
$ cat /boot.config
-Dh -S115200
$
-Dはシリアルと内蔵ディスプレイの両方をコンソールにするという意味です。-hはシリアルを使う場合には、シリアルを優先にするという意味です。/etc/ttysと/boot.configで「115200」と接続速度を115.2kbpsにしているのは操作を快適にするためです。9600(bps)でもかまいませんが、画面の書き換えが遅く、操作がしづらくなります。

sshの他にipmitoolを使っているなら以下のようにすることもできます。
$ ipmitool -I lanplus -H iLO4のIPアドレス -U ユーザー -P パスワード sol activate
[SOL Session operational.  Use ~? for help]

FreeBSD/amd64 (kona.acutus.co.jp) (ttyu0)

login:
ここでのユーザーとパスワードはILO4のユーザーとパスワードです。