====== FRB (Fault Resilient Booting) について ====== うちのC2750D4Iのイベントログに[[:blog:2017:2017-05-29|FRB2/Hang in POST failure]]ってのが記録されててナンジャラホイ状態だったので、FRBについて調べた。[[https://www.intel.com.au/content/www/au/en/support/server-products/server-boards/000007197.html|イソテル様の資料]]に書かれてることを、かいつまんで訳しただけですけどね。 ===== FRBとは ===== FRB((Fault Resilient Booting))とはBMC((Baseboard Management Controller))に実装されるシステムブート失敗時に別のプロセッサで起動を試みる仕組みで、レベル1~3が定義されている。 ==== FRBレベル1 ==== POST((Power On Self Test))中に検出されたBIST((Built-In Self Test))の失敗からの回復が目的。全てBIOSのコードで処理される。 BSP((BootStrap Processor))がシステムを起動した際、初期化に失敗したAP((Application Processor。BSPに選定されなかったプロセッサ))があれば、BIOSはそのAPを無効化するようBMCに要求し、BMCはそれに応じたMP((Multi Processor))テーブルを生成する。無効化されたAPはBIOSからもOSからも見えなくなる。 BSPがBISTに失敗した場合、BIOSはBSPを切り替えるようBMCに要求する。BMCは現在のBSPを無効化し、別のBSPが見つかればシステムをリセットして処理を継続する。見つからなければ、ビープ音を鳴らしてシステムを停止させる。 ==== FRBレベル2 ==== POST中のウォッチドッグタイムアウトからの回復が目的。このウォッチドッグタイマーはBMCに実装される。 BMCの第2ウォッチドッグタイマー(FRB-2)は約6分にセットされ、システムのBIOS POSTの完了を保証するよう設計されている。FRB-2タイマーはFRB-3タイマー無効化の前に有効化され、未監視時間が発生しないよう考慮されている。POSTの終盤、オプションROMの初期化前に、BIOSはFRB-2タイマーを無効化する。 POST中にシステムがハングした場合、BIOSはタイマーを無効化せず、それによりBMCがASR((Asynchronous System Reset))を発生させる。 ==== FRBレベル3 ==== ハードリセットまたは電源投入時のウォッチドッグタイムアウトからの回復が目的。本レベル用にハードウェアの機能として備わっている。 第1ウォッチドッグタイマー(FRB-3)はシステムがハードリセットされた時からカウントダウンが始まり、通常は約5秒である。BSPのリセットが成功し実行が始まると、BIOSはFRB-3タイマーを無効化し、システムはPOSTを継続する。 BIOSコードのフェッチや実行がBSPの障害で行えずタイマーが切れると、BMCはシステムをリセットし失敗したプロセッサを無効化する。正常なプロセッサが見つからなければ、BMCはビープ音を鳴らす。 ===== 参考サイト ===== * [[https://www.intel.com.au/content/www/au/en/support/server-products/server-boards/000007197.html|How Fault Resilient Booting (FRB) Works on Intel® Server Boards and Systems]] * [[http://www.wdic.org/w/TECH/BSP|BSP ‐ 通信用語の基礎知識]] * [[http://www.wdic.org/w/TECH/AP|AP ‐ 通信用語の基礎知識]]