仮想化通信

日本仮想化技術株式会社の公式エンジニアブログ

HP ProLiantサーバーのBIOSの時間を短縮する

 ここ最近(G6世代以降)のHP ProLiantサーバーでは、各種テストや初期化などのいわゆるPOST時間がかかるようになり、2分前後になっています。G5世代(DL380 G5のデフォルト設定で計測)が1分前後で完了していたことを考えると、約2倍というのはちょっと辛いです。本番環境など、基本的に動かしっぱなしの環境では問題になりませんが、検証環境では再起動が多く発生する場合があるため、待つのが退屈になります。

 そこで、RBSU(BIOSメニューのHPサーバーでの呼称)などの設定を変更して、起動時間の短縮ができるか試してみることにしました。サーバーにはHP ProLiant MicroServer Gen8サーバーを使用しました。

素の状態

 素の状態のBIOS起動時間は2分3秒ほどでした。長いです、長い。

Power On Logoオプションを無効化

 まずはグラフィカルなBIOS画面を表示するPower On Logoオプションを無効化します。きれいな文字で表示されたり、Backspaceキーを押したかように文字が消える動作とかを見せられますが、そこの表示に時間を割いてほしくないです。RBSUで「Advanced Options - Advanced System ROM Options - Power On Logo」をDisabledにします。

 Power On Logoを無効化すると、グラフィカルな画面からシンプルなCUI画面に代わり、起動時間は1分42秒になりました。20秒も短縮されました。

HP Option ROM Promptingオプションを無効化

 次に、iLOやストレージコントローラの設定画面に入るためのキー入力(例えばF8キーを押すとメニューを開きます...みたいなやつ)の待ち時間をスキップするかどうか設定するHP Option ROM Promptingオプションを無効化します。RBSUで「Advanced Options - Advanced System ROM Options - HP Option ROM Prompting」をDisabledにすると起動時間の削減が見込めます。設定を変更する必要が出た時にだけEnableにすれば良いでしょう。

 HP Option ROM Promptingを無効化した結果、起動時間は1分37秒になりました。5秒ほどしか削れませんでしたが、5秒の削減でも貴重なのです(?)。MicroServer Gen8のオンボードのDynamic Smart Array B120iのプロンプトはスキップされないようでした。手動でESCを押すことでスキップできるようですがご存知の方がいらっしゃったらぜひ教えてください。なお、P420などの上位のシリーズではスキップされます。よく考えるとディスク入れ替えが多い検証用途では困るかもしれません。

オンボードNICのBanner Message Timeoutの値を変更

 HP Option ROM Promptingを無効化しても、オンボードNICの設定画面を開くためのキー入力がスキップされませんでした。この設定画面をCtrl+Sキーで開くと、「Banner Message Timeout」という項目が5秒に設定されていたので1秒に設定しました。0にしたり、そもそも無効にしたりできるようですが、設定したあとの戻し方がわからなくなりそうなので、それはやめました。おそらく各OS向けの設定ユーティリティで設定できるかも?知れませんが。

 結果は1分34秒になりました。きっちり4秒短縮されていますね。

BIOSシリアルコンソールの設定を無効化

 次に、BIOSシリアルコンソールの設定を無効化します。これは、シリアル接続でBIOS画面を見るものなのですが……MicroServerにはシリアルポートがないし、iLOにもシリアル系の項目が見つからないですね。どちらにせよ、必要になったら有効化するということにして、無効化してみましょう。RBSUで「BIOS Serial Console & EMS - BIOS Serial Console Port」をDisabledにします。

 結果は1分28秒になりました。6秒ほど短くなりました。

 (追記)BIOSシリアルコンソールは、iLOにIPMI接続することでBIOSシリアルコンソールにアクセスできました。以下はipmitoolコマンドで接続する例です。

ipmitool -I lanplus -H 192.168.0.11 -U Administrator sol activate

手押しできるところを手押しする

 設定はひとまずこのくらいにしましょう。

 最後に、Dynamic Smart Array B120iのプロンプトを手動でESCキーを押すことでスキップした時間を計測したところ、1分18秒となりました。最初の2分3秒と比較すると、45秒も短縮できました。

設定項目のまとめ

 設定項目を以下にまとめます。Power On Logoは特に実害はないですが、BIOSシリアルコンソールやHP Option ROM Promptingは、場合によって利便性を損なう場合もあるため、いい感じに調整すると良いでしょう。

設定対象項目設定内容削減が見込める秒数
RBSUAdvanced Options - Advanced System ROM Options - Power On Logo
[G6以降]
Enabled→Disabled20秒
RBSUAdvanced Options - Advanced System ROM Options - HP Option ROM Prompting
[G8以降]
Enabled→Disabled5秒
RBSUBIOS Serial Console & EMS - BIOS Serial Console Port
[おそらくどのサーバーでも設定可]
Enabled→Disabled5秒
オンボードNICBanner Message Timeout
[Broadcom NICの場合]
5→14秒
ストレージコントローラ(プロンプトでESCキーを手押ししてスキップ)10秒

他のサーバーで測定

 他のサーバーで結果が違うと悲しいので、いくつかの機種で測定しました。なお、メモリの搭載量がそれぞれ異なるため、起動にかかった時間ではなく、削減できた時間を見ると言う点に注意してください(例えばDL380 G6は96GBのメモリを積んでいました)。結果は、いずれのサーバーでも40秒前後の時間短縮に成功しました。

サーバーデフォルト設定時設定変更後削減された秒数
MicroServer Gen82分3秒1分18秒45秒
DL380 G62分1分23秒37秒
DL360 G72分29秒1分48秒41秒
DL360p Gen82分14秒1分31秒43秒

まとめ

 設定をいじることで1起動あたり45秒短縮できるのはなかなか大きいですね。もともとはMicroServer Gen8をデモ用に持ち出してブートの部分から見せるときに、BIOS部分の時間を短縮できないかと思ってやってみましたが、これならデモで見せてもなんとか耐えられるような気がします。初代MicroServerはもっと時間が短いので、勝負すると負けてしまいますが。

 また、弊社には一台もないので計測できませんが、いわゆる激安サーバーことML110 G7サーバーでも同様の効果が見込めると思われます。