Как работы Восстанавливаемой после отказов начальной загрузки (FRB) над серверными платами Intel® и серверными системами Intel®
Симптом(ы):
- Что такое FRB?
- Как узнать что он работает?
- Загрузка при наличии ошибки с «эластичной» конфигурацией на серверах производства компании Intel®.
Решение:
Отказоустойчивую загрузку
В контроллере BMC используется отказоустойчивая загрузка (FRB) уровней 1, 2 и 3. Если установленный по умолчанию загрузочный процессор (BSP) не завершает загрузку, то FRB пытается загрузиться с использованием другого процессора.
- Уровень FRB1 предназначен для восстановления работы при обнаружении ошибки автоматического тестирования загрузочного процессора (BIST) во время процедуры POST. Восстановление FRB полностью реализовано кодом BIOS.
- Уровень 2 FRB (Fault Resilient Booting - загрузка при наличии ошибки с «эластичной» конфигурацией) должен выделяться из времени ожидания схемы обеспечения безопасности во время процесса POST (самотестирования после включения питания). Сторожевой таймер для уровня 2 FRB внедряется в модуль BMC.
- Уровень FRB3 предназначен для восстановления работы в случае, если контрольный таймер не срабатывает во время аппаратной перезагрузки или включения системы. Это обеспечивает надлежащее функционирование оборудования на этом уровне FRB.
FRB 1
В многопроцессорной системе BIOS регистрирует прикладные процессоры в таблице MP и в таблицах ACPI APIC. Если после активации загрузочным процессором прикладной процессор не инициализируется в течение определенного времени, он считается не работающим. Если BIOS обнаруживает, что при тестировании BIST выявлен сбой прикладного процессора или он не работает, то контроллеру BMC направляется команда отключить данный процессор.
После отключения процессора контроллером BMC и перезагрузки системы при следующем цикле загрузки BIOS «не видит» неисправный процессор. Неисправный сопроцессор не включается ни в таблицу MP, ни в таблицы ACPI APIC, и является невидимым для ОС. Если BIOS обнаруживает, что при тестировании BIST выявлен сбой загрузочного процессора, контроллеру BMC направляется запрос на отключение данного процессора. При отсутствии другого процессора контроллер ВМС включает звуковой сигнал на системном динамике и выключает систему. Если контроллер BMC находит другой процессор, после перезагрузки системы этот другой процессор становится загрузочным.
FRB-2
Второй контрольный таймер (FRB-2) контроллера BMC устанавливается приблизительно на 6 минут, чтобы дать системе время для выполнения процедуры POST. Таймер FRB 2 включен, прежде чем таймер FRB 3 отключен для предотвращения любого незащищенного окна времени. Ближе к окончанию процедуры POST, перед инициализацией дополнительных ПЗУ, BIOS отключает таймер FRB-2 в контроллере BMC.
Если объем памяти системы превышает 1 Гб, а пользователь выбирает проверку каждого слова двойной длины памяти, сторожевой таймер отключается до того, как будет запущено тестирование расширенной памяти, т.к. тестирование памяти при данной конфигурации может занять более 6 минут. Если система зависает во время процедуры POST, BIOS не отключает таймер контроллера BMC, который генерирует асинхронную перезагрузку системы (ASR).
FRB 3
Обратный отсчет времени на первом таймере (FRB-3) начинается после выхода системы из состояния аппаратной перезагрузки, по истечении примерно 5 секунд. Если загрузочный процессор успешно перезагружается и начинает выполнения команд, BIOS отключает таймер FRB-3 контроллера BMC, отключая сигнал FRB_TIMER_HLT (GPIO), после чего продолжается выполнение процедуры POST. Если таймер не срабатывает из-за того, что загрузочный процессор не может получить или выполнить код BIOS, контроллер BMC перезагружает систему и отключает неисправный процессор.
Система переключает загрузочные процессоры до тех пор, пока процедура POST не пройдет этап срабатывания таймера FRB-3 контроллера BMC. Контроллер BMC передает на системный динамик звуковые сигналы при невозможности обнаружить исправный процессор. Процедура переключения между всеми процессорами в системе повторяется после перезагрузки системы или после цикла выключения/включения питания.
