Сервер после обновления не поднялся. Вы загружаете rescue-образ, и перед вами приглашение командной строки и сотни утилит. Какую запускать первой? Где вообще установленная система: на RAID, на LVM, на каком из дисков? И почему она не грузится: GRUB, initramfs без нужного драйвера, опечатка в fstab?

Обычный rescue-образ даёт инструменты, но не ответы. XServer Live OS устроена наоборот: сразу после загрузки она показывает меню, где каждое действие — один пункт. Диагностика скажет, что мешает загрузке. Rescue одним нажатием откроет шелл внутри вашей системы. А установленную ОС можно запустить прямо с диска, без перезагрузки сервера.

Инструментов много, ответа нет

SystemRescue, Ubuntu Live, сборки на основе WinPE — хорошие наборы инструментов. В них есть всё, чтобы починить систему, если вы уже знаете, что сломалось. Проблема в том, что чаще всего не знаете.

Разбор незагружающегося сервера с обычным rescue-образом выглядит так:

  1. Найти диски и понять, что на них: собрать программный RAID, активировать LVM, найти корневой раздел.
  2. Смонтировать его так, чтобы ничего не испортить, а затем и /boot, и раздел EFI.
  3. Прочитать grub.cfg, fstab, список ядер и сверить UUID с тем, что реально есть на дисках.
  4. Проверить, есть ли в initramfs драйвер контроллера, на котором лежит корень.
  5. Для починки — примонтировать /dev, /proc, /sys и сделать chroot, не забыв про efivars, иначе grub-install на UEFI не сработает.

Каждый шаг — десяток команд и место для ошибки. Опытный инженер справится быстро, а тот, кто делает это раз в год, рискует потерять на этом часы. Мы сами много раз проходили этот путь на серверах клиентов и в итоге собрали его в одну систему.

Что такое XServer Live OS

Загрузка полной Live OS: прогресс скачивания и распаковки в памятьПолная Live OS на выделенном сервере Dell PowerEdge R330: шапка с данными сервера и список команд

XServer Live OS — система для обслуживания сервера, которая загружается по сети и живёт целиком в оперативной памяти. На диски она ничего не пишет, пока вы сами не попросите. Запустить её можно из панели управления: достаточно выбрать Live OS в меню загрузки сервера.

Live OS состоит из двух ступеней:

  • Базовая Live OS — маленькая система на BusyBox. Она загружается за секунды и сразу открывает меню на экране сервера. В ней уже есть всё для диагностики, восстановления и запуска установленной ОС.
  • Полная Live OS — Debian 13 с systemd и apt. Около 150 МБ скачиваются прямо в память по одному пункту меню. Она нужна, когда не хватает инструментов: поставить пакет, починить Windows, перенести сервер.

Между ступенями можно переключаться сколько угодно раз без перезагрузки сервера: команда live переходит в полную, base возвращает к меню.

Схема: меню загрузки в панели или ISO-образ ведут в базовую Live OS; из неё командой live — в полную Live OS и обратно командой base; через kexec, без перезагрузки — в установленную ОС

Работа начинается с базовой Live OS: оттуда одна команда ведёт в полную, а один пункт меню запускает вашу систему с диска.

Меню: всё главное на одном экране

Главное меню базовой Live OS: конфигурация, диски, загрузка, диагностика и восстановление установленной ОСПереход в полную Live OS: что произойдёт, и подтверждение кнопками Yes и No

Вместо пустого приглашения командной строки Live OS начинается с меню. Каждый пункт выбирается одной клавишей, а под ним в две строки написано, что именно произойдёт. Всё, что может что-то изменить, спрашивает подтверждение кнопками Yes и No.

КлавишаПунктЧто делает
1Server configurationМодель, серийный номер, процессор, модули памяти, контроллеры, диски, сетевые порты с MAC-адресами
2Disks and healthКаждый диск, в том числе за RAID-контроллером: здоровье, температура, наработка
3Boot the installed OSНаходит систему на дисках и запускает её без перезагрузки
4Diagnose the installed OSОбъясняет, почему система может не загружаться, ничего не меняя
5Rescue the installed OSОткрывает шелл внутри установленной системы (chroot)
6Install an operating systemУстанавливает ОС, выбранную в панели по QR-коду
LSwitch to the full Live OSЗагружает полную Live OS на Debian
SOpen a shellОткрывает командную строку со списком команд Live OS
PReboot or power offПерезагружает или выключает сервер

Пока вы читаете меню, Live OS уже собирает сведения о железе в фоне. Поэтому первые два пункта обычно открываются сразу, без ожидания опроса дисков.

Диагностика: что сломалось и что с этим делать

Диагностика: проверки сервера, программного RAID и установленного DebianДиагностика нашла в fstab диск, которого нет на сервере; остальные проверки пройдены

Пункт Diagnose проверяет всё, что стоит между включением сервера и работающей системой, и пишет по каждому пункту вердикт: OK, WARN (стоит посмотреть) или FAIL (именно это мешает загрузке). Рядом с каждой проблемой написано, чем её исправить.

Диагностика только читает. Файловые системы монтируются без воспроизведения журнала, программный RAID собирается в режиме только для чтения, а по завершении всё отмонтируется. Запускать её можно сколько угодно раз и без риска.

Для Linux проверяется:

  • режим загрузки установленной системы против режима прошивки (BIOS или UEFI);
  • GRUB в MBR или загрузчик на разделе EFI и запись о нём в прошивке;
  • grub.cfg и fstab: все ли UUID, на которые они ссылаются, есть на сервере;
  • ядра, их initramfs и модули, а также есть ли в initramfs драйвер контроллера, на котором лежит корень;
  • состояние файловых систем и свободное место;
  • сетевые настройки системы против портов сервера и адреса, который ему выдан.

Для Windows — загрузочный код и активный раздел или bootmgfw.efi с записью в прошивке, куда указывает BCD, запускает ли Windows драйвер своего дискового контроллера, флаг «грязного» NTFS и гибернация (быстрый запуск). Для самого сервера — видны ли диски, их здоровье по SMART и состояние программного RAID.

Так выглядит отчёт по системе, которую перенесли на сервер с другим RAID-контроллером (пример):

Linux: Debian GNU/Linux 12 (bookworm) on sda2
[ OK ] UEFI loader on the ESP (sda1): grubx64.efi, shimx64.efi.
[ OK ] fstab: all 3 entries are on this server.
[ OK ] Default entry: Debian GNU/Linux
[FAIL] initrd.img-6.1.0-26-amd64 lacks megaraid_sas: the kernel will not
       find the root disk. Rebuild it with the driver (rescue).

Summary: 1 problem(s) that keep it from booting, 0 warning(s)

Без диагностики такая система просто останавливается на загрузке с невнятной ошибкой про корневой раздел. С ней причина и способ починки видны сразу: зайти в rescue и пересобрать initramfs с нужным драйвером.

Восстановление в одно нажатие

Rescue: что будет сделано, и подтверждение запускаRescue собрал RAID, смонтировал систему и открыл chroot; лишняя строка удалена из fstab

Пункт Rescue делает всю подготовку сам и открывает шелл уже внутри вашей системы. Он:

  1. Собирает программный RAID, даже если массив создавался на другой машине, и активирует LVM.
  2. Находит корневую файловую систему: ext4, XFS или Btrfs, в том числе в подтоме.
  3. Монтирует её вместе с остальными разделами из fstab: /boot, раздел EFI.
  4. Подключает /dev, /proc, /sys и переменные UEFI, чтобы внутри работали grub-install и efibootmgr.
  5. Открывает шелл в chroot.

Дальше вы работаете со своей системой как обычно: переставляете GRUB, пересобираете initramfs, правите fstab или сбрасываете пароль. После exit Live OS сама отмонтирует всё в правильном порядке, чтобы изменения точно легли на диск.

Если базовая Live OS не справится с файловой системой, она предложит перейти в полную. Rescue там запустится сам, на той же консоли. Для Windows в полной Live OS есть отдельная утилита win-rescue. Она без запуска Windows чинит типичные причины ошибки INACCESSIBLE_BOOT_DEVICE, повреждённый BCD и зависшие обновления, а перед любой правкой делает резервную копию реестра.

Запуск установленной ОС без перезагрузки

Запуск установленной ОС: запись GRUB, ядро, initramfs и параметры перед запуском без перезагрузки

Пункт Boot the installed OS находит Linux на дисках и запускает его прямо из Live OS, без перезагрузки сервера. Он читает конфигурацию GRUB, выбирает ту же запись, что выбрал бы сам GRUB, и стартует её ядро с теми же параметрами через kexec. Перед запуском меню показывает, что именно загрузится: запись, ядро, initramfs и командную строку.

Это полезно в двух ситуациях:

  • Сломан только загрузчик. Система цела, но GRUB или запись в прошивке потеряны. Сервер можно вернуть в работу сразу, а загрузчик починить потом, из работающей системы.
  • Обслуживание закончено. Вместо перезагрузки с долгой проверкой оборудования, которая на серверах идёт минутами, система стартует сразу.

Тем же способом полная Live OS возвращается к базовой по команде base. Windows так запустить нельзя: её стартует только прошивка. Если на дисках Windows, Live OS скажет об этом и предложит перезагрузку.

Железо и диски без специальных утилит

Конфигурация Dell PowerEdge R330: процессор, модули памяти, MegaRAID, диски и сетевые порты с MAC-адресамиДиски за RAID-контроллером: два SAS-диска с растущими дефектами, два SSD со здоровьем 93% и 91% и наработкой больше четырёх лет

Server configuration показывает конфигурацию сервера на одном экране. Память описана так, как её заказывают: «32 GB · 2x 16 GB DDR4 2400». Для каждого сетевого порта его MAC-адрес, для контроллеров — модель и настроенные RAID-тома. На виртуальном сервере всё короче: ядра, объём памяти и диски.

Disks and health рассказывает про каждый диск, в том числе про те, что спрятаны за аппаратным RAID-контроллером Dell PERC или HP Smart Array. Обычно для этого нужны утилиты производителей, здесь — нет. Для каждого диска видны модель, объём, тип (HDD, SSD, NVMe), температура и два числа, которые понятны без расшифровки SMART:

  • здоровье в процентах — «health 93%» вместо сырых атрибутов износа;
  • наработка в годах и днях — «4y 119d» вместо 37 896 часов.

Изношенный SSD и диск, который сам сообщает о проблеме, помечены сразу. Те же данные учитывает диагностика: иногда система не грузится просто потому, что умирает диск.

Установка ОС по QR-коду

Установка ОС: QR-код открывает панель, Live OS ждёт задание и запустит его сама

Переустановить систему можно, не уходя с консоли сервера. Пункт Install an operating system показывает QR-код прямо в окне меню:

  1. Вы сканируете код телефоном — открывается диалог установки в панели для именно этого сервера.
  2. Выбираете систему и параметры.
  3. Live OS замечает задание в течение нескольких секунд и сразу его выполняет.

Если вы подключены по SSH, рядом с QR-кодом есть кликабельная ссылка. Так же по QR-коду наши инженеры запускают инвентаризацию железа новых серверов.

Для тех, кто привык к консоли

Шелл базовой Live OS на выделенном сервере: шапка с данными сервера и список командУстановка пакета через apt в полной Live OS с зеркала XServer

Меню ничего не запирает. Клавиша S открывает шелл, и в его шапке сразу перечислены команды Live OS. Та же шапка встречает при входе по SSH, в базовой и в полной Live OS:

  menu        the console menu
  live        switch to the full Live OS
  local-boot  boot the installed OS
  diagnose    check why the installed OS does not boot
  rescue      mount the installed OS and chroot into it to repair it
  hardware    server configuration; hardware disks: disk health

Каждый пункт меню — это обычная команда. Её можно запустить вручную, например передать rescue нужный раздел или посмотреть, что загрузит local-boot -n, ничего не запуская.

В полной Live OS доступен весь Debian: недостающий инструмент ставится через apt прямо в память. В отличие от образов «на все случаи жизни», вам не нужно заранее скачивать гигабайты утилит: ставится только то, что нужно сейчас.

Чем Live OS отличается от обычного rescue-образа

Обычный rescue-образ — это набор инструментов для того, кто знает, что делать. Live OS сама делает то, что инженер повторяет на каждом незагружающемся сервере.

ЗадачаОбычный rescue-образXServer Live OS
Загрузить на сервереСкачать ISO и подключить его к серверуВыбрать Live OS в меню загрузки в панели
Начать работуПустая командная строка или рабочий столМеню с описанием каждого действия
Понять, почему ОС не грузитсяВручную: логи, конфиги, загрузчикДиагностика с вердиктом и подсказкой, что делать
Войти в систему для починкиRAID, LVM, монтирование и chroot вручнуюОдин пункт меню
Запустить ОС с дискаПерезагрузка и проверка оборудованияСразу, без перезагрузки
Проверить диски за RAID-контроллеромsmartctl с нужными ключами или утилиты производителяЗдоровье и наработка в общем списке
Переустановить ОСОтдельный образ установщикаQR-код в меню
Недостающий инструментТолько то, что уже есть в образеapt в полной Live OS

SystemRescue и похожие образы остаются хорошим выбором для домашнего компьютера и для задач, для которых нужен графический интерфейс. Live OS сделана для серверов: для консоли, SSH и ситуации, когда сервис лежит и каждая минута на счету.

Не только для наших серверов

Live OS — основа для других наших инструментов. На ней работает reloca.to — утилита, которая переносит установленный Linux-сервер на другую машину по сети. Обе машины на время переезда загружены в Live OS, поэтому диски старого сервера никто не меняет во время копирования.

Для серверов за пределами нашей сети есть ISO-образ: xserver-live.iso, около 270 МБ. В нём та же Live OS с драйверами и прошивками под чужое железо:

  • виртуальные машины Hyper-V, Xen и VMware;
  • сетевые карты Realtek, Intel, Broadcom, QLogic и других производителей;
  • загрузка с CD, флешки или виртуального носителя в BIOS- и UEFI-режиме.

Образ целиком читается с носителя, поэтому сеть для загрузки не нужна. Адрес по умолчанию берётся по DHCP, статический можно задать в меню загрузчика. Secure Boot на время работы с образом нужно выключить.

С чего начать

Если сервер не загружается:

  1. В панели управления выберите Live OS в меню загрузки сервера и перезагрузите его.
  2. Откройте консоль сервера или подключитесь по SSH и введите menu.
  3. Запустите диагностику (пункт 4). Она ничего не меняет и покажет, что именно не так.
  4. Исправьте проблему в rescue (пункт 5) или сразу запустите систему с диска (пункт 3).

Если диагностика показала что-то непонятное, пришлите отчёт в поддержку. По нему мы быстрее поймём, что происходит, чем по скриншоту зависшей загрузки.