PowerEdgeT130のBIOS(UEFI)アップデート
DELLのPowerEdge T130にDebian strechをインストールして使っていたのですが、busterにアップグレードしたところ調子が悪くなってしまいました。
cronで処理される日時リブートの際にエラーになり、復旧のために入力待ちになってしまうよです。
そこで、エラーログの確認とBIOSをアップデートしてみることにしました。
ここではサーバー機のアップデートを紹介しますが、後日ノートやデスクトップPCのBIOSアップデートも行いましたのでよろしければそちらもご覧ください。
エラーログの取得
Debianのsyslogにはエラーが出力されていませんでした。リブートしている時刻ぐらいにSyslogが途切れています。
Power EdgeにはIPMIに相当するシステムが組み込まれています。
これは、BIOSやUEFI、OSから独立してハードウェアを管理することができるインターフェースで、装置に組み込まれたBMC(Baseboard Management Controller)と呼ばれるチップにより実現しています。
この仕組みによって出されるログを見てみたいと思います。
DELLでは「Integrated Dell Remote Access Controller(iDRAC)」と「LifeCycle Controller」がそれにあたります。
起動時にF10を押すと、LifeCycle Controllerを立ち上げることができ、そこからUSBにエラーログを出力することができます。
LifeCycle LogメニューからExport LifeCycle Logを選択します。この画面ではマウスが使えますのでそれで操作します。USBメモリを刺しUSB Driveから選択します。その後、Finishを押すと出力されます。
データはgzip圧縮されたXMLで出力されます。Linuxなら「gzip -d LifeCycleLog.gz」で展開できます。Windowsを使っているなら、7-Zip等で展開します。
ログの解析
ログを解析してみると、該当の時間に「A problem was detected during Power-On Self-Test (POST)」と「The system was reset due to a timeout from the watchdog timer.」が出力されていました。
watch dog timerは定期的にシステムの稼働を確認して動いていなければ再起動をかけるものなので、となるとPower-On Self-Testでエラーとなりフリーズするのかなという予想が立てられました。
Wikipedia:「Debian」によれば、strechからbusterの変更点に「UEFIセキュアブートに対応」とありました。
ディストリビューションのアップグレード後に現象が出るようになったので、おそらくこれが原因なのではないかとは思ったのですが、BIOSのセキュアブートの設定はOFFでした。
BIOSのアップデート
BIOSのアップデートをDELL公式ページにしたがって進めます。
- USBストレージの用意
ファームウェアのインストールにはUSBストレージ(メモリ)を使います。これをFAT32でフォーマットします。
- ファームウェアのダウンロード
www.dell.com/support/driversからシステムをサーバーの型版等からBIOSのアップデートファイルをダウンロードします。UEFIでもBIOSという表記のようです。
WindowsPCを使って検索した場合OSから更新できる.EXEバイナリが表示されるようです。「ドライバの詳細をすべて表示する」という項目から目的のファイルを選択します。筆者のアーキテクチャは64bitだったので「R330-021200.efi」をダウンロードしました。
- 安定電源の確保
BIOSのアップデートは安定した電源に接続した状態で行うことが推奨されています。可能ならUPS等に接続するといいでしょう。
- メニューの操作
- 起動時のF11(BootManager)を選択します。
- System UtilitiesからBIOS UPdate File Explorerを選択します。
- USBメモリを差し込み選択します。
- ダウンロードしたファイルが表示されるので選択します。
- 現行のバージョンとアップデートのバージョンの確認画面が出るので「Continue BIOS Update」を選択します。
- 更新されるまで待ちます。
- 再起動を促されたら再起動します。
筆者の場合、再起動後に黒い画面のままフリーズしてしまいました。電源ボタンを押しても電源が切れないので悩みましたが電源コードを抜きました。
その後2、3回のDELLのイニシャル画面で電源が切れてしまい肝を冷やしましたが、なんとか新しいバージョンのBIOSで立ち上がりました。
後で気づいたのですが、エラーメッセージは今回の例とは違いましたが、似たような症状があることをすでにメーカー公表していました。PowerEdge T130、R230、R330、T330サーバで重大なメモリ初期化エラーによりウォーム再起動中にシステムがハングアップする
なぜディストリビューションアップグレード後に発症したかは謎です。