До основного вмісту

Rescue-режим: відновлення сервера, який не завантажується

Виділені сервери · 24.09.2026
Ілюстрація до статті «Rescue-режим: відновлення сервера, який не завантажується»

Rescue-режим: відновлення сервера, який не завантажується

Rescue-режим — це завантаження сервера в мінімальну Linux-систему з мережі або з образу, в обхід дисків. Ваші дані при цьому не чіпаються: ви монтуєте кореневий розділ вручну, заходите в нього через chroot і лагодите те, що заважає нормальному завантаженню. Це штатний спосіб виправити fstab, GRUB, initramfs або пароль root без перевстановлення.

  • Rescue не форматує диски й не чіпає розділів: усе, що буде зроблено, робите ви самі та вручну.
  • Програмний масив треба зібрати командою mdadm --assemble --scan, сам він не піднімається.
  • Томи LVM видно лише після vgchange -ay.
  • Половина випадків незавантаження — одрук у /etc/fstab або UUID, що змінився після заміни диска.
  • Якщо rescue не допоміг, причина зазвичай у залізі: дивіться SMART і журнал SEL, а не перевстановлюйте систему.

Коли rescue розв'язує задачу, а коли ні

СимптомЙмовірна причинаЩо робити в rescue
Консоль висить на рядку GRUBзлетів завантажувач або розміткаchroot і перевстановлення GRUB на обидва диски
Kernel panic, no init foundпошкоджений initramfs, хибний root=перезібрати initramfs, виправити конфіг GRUB
Завантаження стало в emergency modeпомилка в /etc/fstabперевірити UUID, прибрати зайвий рядок
Масив у стані inactiveвипав диск, збиті суперблокизібрати масив вручну, запустити ресинк
Диск не визначається взагалівідмова носія або бекплейнаrescue не допоможе, потрібна діагностика заліза

Як потрапити в rescue

Шляхів два. Перший — мережеве завантаження мінімальної системи, яке запускає провайдер на запит: сервер стартує з PXE-образу і пускає по SSH з тимчасовим паролем. Другий — самостійно, через консоль: під'єднайте ISO живої системи як віртуальний привід, див. статтю про IPMI та KVM-over-IP. Опція KVM/IPMI на ZevsHost коштує $5 на місяць і входить у тариф Dedicated Enterprise US.

Знайти і змонтувати кореневий розділ

Не монтуйте перший-ліпший розділ. Спершу подивіться, що взагалі є на дисках:

# які диски, розділи й файлові системи бачить система
lsblk -f
blkid

# стан програмних масивів
cat /proc/mdstat
mdadm --assemble --scan
mdadm --detail /dev/md0

# LVM: томи типово неактивні
pvs && vgs && lvs
vgchange -ay

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

mount /dev/md1 /mnt
mount /dev/md0 /mnt/boot
# для UEFI не забудьте розділ ESP
mount /dev/nvme0n1p1 /mnt/boot/efi

for d in dev proc sys run; do mount --rbind /$d /mnt/$d; done
chroot /mnt /bin/bash

Якщо chroot скаржиться на відсутність інтерпретатора, ви змонтували не той розділ: перевірте через ls /mnt, що в корені є etc, usr і var.

Типові ремонти

Помилка у fstab

# показати всі рядки fstab, які не резолвляться
findmnt --verify --verbose

# порівняти UUID із fstab з реальними
blkid | sort > /tmp/real-uuid.txt
grep -v '^#' /etc/fstab | grep UUID

Після заміни диска UUID змінюється, і старий рядок зупиняє завантаження. Впишіть новий UUID або додайте опцію nofail, щоб відсутність тому не блокувала старт. Сама процедура заміни розібрана у статті про заміну диска в RAID-масиві.

Завантажувач та initramfs

# Debian/Ubuntu, усередині chroot
grub-install /dev/sda && grub-install /dev/sdb
update-grub
update-initramfs -u -k all

# RHEL, AlmaLinux, Rocky
grub2-install /dev/sda && grub2-install /dev/sdb
grub2-mkconfig -o /boot/grub2/grub.cfg
dracut -f --regenerate-all

Ставте завантажувач на обидва диски дзеркала: машина, де GRUB живе лише на першому носії, після його відмови не підніметься.

Пароль root і журнали

# скидання пароля всередині chroot
passwd root
passwd -S root

# помилки попереднього завантаження, уже поза chroot
journalctl --directory=/mnt/var/log/journal -b -1 -p err

Не створюйте масив заново замість складання. Команда mdadm --create на наявних дисках перезаписує суперблоки і може знищити дані; для відновлення потрібна mdadm --assemble. Так само небезпечна будь-яка mkfs: імена пристроїв у rescue часто відрізняються від звичних. Перед кожною записувальною командою виконайте lsblk -f. Перед виходом перевірте себе: findmnt --verify без помилок, cat /proc/mdstat показує [UU], а ls /mnt/boot містить ядро та initrd потрібної версії. Відновлювати з резервної копії дешевше, ніж після хибної команди.

Перед виходом із rescue

  • Вийдіть із chroot і відмонтуйте все у зворотному порядку: umount -R /mnt.
  • Зупиніть масив коректно, якщо змінювали його склад: mdadm --stop /dev/md0.
  • Зніміть режим мережевого завантаження, інакше сервер знову стартує в rescue.
  • Після першого успішного завантаження перевірте диски за методикою зі статті про SMART-діагностику дисків.

Якщо незавантаження повторюється, причина майже завжди в залізі. Тоді має сенс запросити заміну носія або перенесення на іншу конфігурацію з лінійки виділених серверів.

Коротко

  • Rescue завантажує окрему систему в пам'ять і не чіпає ваших дисків.
  • Масив збирається через mdadm --assemble --scan, LVM активується через vgchange -ay.
  • Більшість поломок лікується в chroot: fstab, GRUB, initramfs, пароль root.
  • Завантажувач завжди ставиться на обидва диски дзеркала.
  • mdadm --create і mkfs у rescue — команди, після яких відновлюють уже з резервної копії.
← Назад до бази знань Поставити питання підтримці