ActiveScaleинженерная практика

Кейс: узел не грузится с диска после stage-1 — Legacy вместо UEFI

Кейсы casepxeuefibootorderinstall

Коротко. Установка ОС прошла, установщик сделал жёсткий ребут — и узел «пропал»: не пингуется, не отвечает по SSH, в модели висит как недоступный. Причина — контроллер управления остался в режиме Legacy, а на диске лежит UEFI-загрузчик. Узел не «сломался» и не «потерял ОС»: он не может загрузить то, что записано.


1. Ситуация

Три ноды, установка по сети. Первая нода прошла stage-1: промпты установщика, разметка дисков, установка ОС. Установщик предупредил, что сейчас будет перезагрузка, попросил подтверждение — и после ребута узел перестал отвечать.

Снаружи это выглядит как отказ железа: ни ping, ни ssh, ни появления в модели. Соблазн — начать с питания и кабелей. На самом деле это ошибка конфигурации загрузки, и она видна только через BMC.


2. Что видели

  1. ping <MGMT_IP> — нет ответа.
  2. ssh <USER>@<MGMT_IP> — таймаут (не отказ аутентификации, а отсутствие узла в сети).
  3. В модели машина не ONLINE.
  4. BMC доступен, питание в норме, KVM показывает: BIOS, попытка загрузки, «No bootable device» либо возврат в меню загрузки.
  5. В установщике на предыдущем шаге никаких ошибок не было — ОС на диск записалась.

Ключевое отличие от «узел умер»: BMC жив, POST проходит, диск определяется, но загрузка не идёт.


3. Механизм

Stage-1 ставит на диск UEFI-загрузчик (grub с EFI-разделом). Перезагрузка после установки — жёсткая, без участия оператора. Если контроллер управления (BMC/BIOS) настроен на Legacy-загрузку, он ищет MBR-загрузчик, не находит его и уходит в «нет загрузочного устройства». Диск при этом в полном порядке.

Вторая половина механизма — порядок загрузки. Даже в режиме UEFI узел может продолжать пробовать сеть первой: PXE отрабатывает, получает указание грузиться по сети, а установщика там уже нет (или он снова запускает установку). Нужно явно переключить порядок на диск.

Третья — специфика платформы: на части контроллеров переопределение загрузки через Redfish (BootSourceOverrideTarget=Pxe) не работает без включённого Network Stack/PXE в самом BIOS. Тогда «переключение в UEFI» через API выглядит выполненным, но фактически не применяется.


4. Как это доказали

Через BMC, не через узел:

curl -sk -u <USER>:<PASS> https://<BMC_IP>/redfish/v1/Systems/system/ \
  | grep -A5 '"Boot"'

Ожидаемое — BootSourceOverrideTarget, BootSourceOverrideEnabled, BootSourceOverrideMode. Увиденное: режим Legacy (или отсутствие UEFI), цель загрузки — сеть.

Дополнительно в KVM: диск виден, раздел EFI на месте, но BIOS в режиме Legacy. Этого достаточно: диск есть, загрузчик не тот, режим не тот.


5. Что сделали

  1. В BMC выставили режим загрузки UEFI.
  2. Целью загрузки поставили диск (Hdd), а не сеть. В Redfish — BootSourceOverrideTarget: Hdd, BootSourceOverrideMode: UEFI, BootSourceOverrideEnabled: Once.
  3. Перезагрузили узел через BMC.
  4. Узел поднялся с диска; через 2–4 минуты он появился в сети и ответил по management-адресу.
  5. Проверили, что корень смонтирован с диска, а не из памяти установщика: findmnt / → устройство с диска, файловая система ext4, а не overlay.

Дальше установка продолжилась штатно: импорт модели, конфигурирование, приложения.


6. Проверка результата

Гейт Ожидаемое значение
BMC Boot BootSourceOverrideMode: UEFI, target Hdd
ping <MGMT_IP> отвечает
ssh <USER>@<MGMT_IP> вход проходит
findmnt / диск, ext4 — не overlay
df -h / корень на диске, а не на RAM-диске установщика
Модель машина ONLINE, bootmode: DISK

Если findmnt / показывает overlay — узел всё ещё в live-среде, и «успешная загрузка» иллюзорна.


7. Уроки

  1. Режим загрузки выставляется до установки, а не после. Проверка Boot через BMC — часть чек-листа подготовки, не «после того как не загрузилось».
  2. Перезагрузка после stage-1 — точка, где теряются установки. Дальше уже не «установка», а разбор загрузки.
  3. Legacy vs UEFI — не «настройка вкуса». Диск с UEFI-загрузчиком в Legacy-режиме не грузится никогда.
  4. Отсутствие ответа на ping не означает отказ железа. BMC и POST дают ответ раньше, чем сеть.
  5. Redfish может врать. Если в BIOS не включён Network Stack/PXE, переопределение загрузки через API не применится — проверять факт в KVM.
  6. Проверять findmnt /. Единственный способ отличить «загрузились с диска» от «всё ещё в live-среде».

8. Что не стоит делать

  • Переустанавливать ОС «на всякий случай»: причина не в установке, повтор даст тот же результат.
  • Переставлять диски местами: загрузчик на месте, вопрос в режиме.
  • Менять BootOrder «наугад», не проверив, применённое ли значение: часть платформ игнорирует изменения без включённого Network Stack.
  • Дёргать питание при работающем POST: это добавляет вторую переменную к уже сломанной.

Источники

  • X200 Getting Started Guide (доступ 2026-11-07)
  • Наша практика (обезличенно): прогоны установки на 3-нодных стендах; разбор «узел не поднялся после stage-1» на стоковом BIOS платформы.
  • Обновлено: 2026-11-07.

Нужен инженер? Разберу вашу ситуацию и скажу, что делать — по шагам, с проверками.

Обсудить задачу