6.0 KiB
Полный гайд восстановления Proxmox после повреждения загрузки (Hetzner, RAID, Rescue)
Этот гайд полностью основан на реальных шагах, которые мы выполнили при восстановлении вашего сервера. Каждый этап отражает фактические команды, ошибки и решения, использованные в процессе.
📌 Проблема
После обновления Proxmox сервер перестал загружаться. Доступ был возможен только через Hetzner Rescue, а vKVM/VNC не работал. Причины:
- загрузчик GRUB повреждён после обновления,
grub-efiбыл установлен вместоgrub-pc(сервер использует BIOS, а не UEFI),- initramfs не содержал правильной конфигурации mdadm,
- root-файловая система не монтировалась при загрузке,
- сеть тоже не поднималась на ранних этапах.
🛠 Шаг 1. Загрузка в Hetzner Rescue и вход по SSH
В панели Hetzner выбираем:
- Rescue → Activate → Reboot
Подключаемся:
ssh root@SERVER_IP
🛠 Шаг 2. Проверка RAID-массивов
cat /proc/mdstat
Ожидаемые массивы:
- md0 — RAID0 (bootloader area)
- md1 — RAID1 (/boot)
- md2 — RAID0 (/)
- md3 — RAID0 (/var/lib/vz)
Все массивы были в состоянии clean.
🛠 Шаг 3. Монтирование всех разделов Proxmox
mkdir -p /mnt/root
mount /dev/md2 /mnt/root
mkdir -p /mnt/root/boot
mount /dev/md1 /mnt/root/boot
Проверка:
ls /mnt/root
ls /mnt/root/boot
Все системные файлы были на месте.
🛠 Шаг 4. Подготовка корректного chroot
(важно — иначе grub не сможет видеть /dev)
mount --bind /dev /mnt/root/dev
mkdir -p /mnt/root/dev/pts
mount --bind /dev/pts /mnt/root/dev/pts
mount --bind /proc /mnt/root/proc
mount --bind /sys /mnt/root/sys
mount --bind /run /mnt/root/run
Проверка:
mount | grep /mnt/root
🛠 Шаг 5. Вход в chroot
chroot /mnt/root /bin/bash
🛠 Шаг 6. Проверка и восстановление mdadm.conf
Убедились, что массивы записаны:
grep ARRAY /etc/mdadm/mdadm.conf
Если пусто (у нас было заполнено), можно восстановить:
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
🛠 Шаг 7. Исправление GRUB (ключевой этап восстановления)
Мы обнаружили:
- был установлен
grub-efi-amd64(UEFI), но сервер грузится в BIOS, - после обновления grub не мог найти root.
Удаление UEFI-версии:
apt remove grub-efi-amd64 -y
Переустановка BIOS-версии:
apt install --reinstall grub-pc grub-common
Если во время установки появились ошибки — ЗАПУСКАЛИ:
dpkg --configure -a
Установка GRUB на все 7 NVMe дисков: (это делало postinst grub-pc автоматически)
grub-install /dev/nvme0n1
...
grub-install /dev/nvme6n1
Генерация меню:
update-grub
🛠 Шаг 8. Пересборка initramfs
Это нужно для включения mdadm скриптов в initrd.
update-initramfs -u -k all
Сообщения:
No /etc/kernel/proxmox-boot-uuids found — skipping ESP sync
— нормально, потому что сервер НЕ использует UEFI.
🛠 Шаг 9. Проверка сетевой конфигурации
В rescue определялся интерфейс:
eth0 (altname enp195s0)
Конфигурация Proxmox:
cat /etc/network/interfaces
Сетевой интерфейс enp195s0 был корректным — изменений НЕ потребовалось.
🛠 Шаг 10. Выход из chroot и перезагрузка
exit
reboot
После этого система успешно загрузилась, оболочка Proxmox стала доступна.
🛠 Шаг 11. Финальная проверка после загрузки
На работающем Proxmox проверяли:
RAID
cat /proc/mdstat
Все массивы — clean.
dpkg состояние
dpkg --configure -a
apt -f install
Система чистая.
Список ядер
dpkg -l | grep -E "pve-kernel|linux-image"
Установлены Debian-ядра, но не pve-kernel. Proxmox работал стабильно, поэтому ядра не трогали.
🧹 Что можно очистить (но не обязательно)
apt autoremove --purge
Удалит старые Debian ядра, но так как система стабильна — лучше ничего не трогать.
🎉 Итог
✔ GRUB полностью восстановлен ✔ mdadm исправно инициализируется ✔ initramfs пересобран ✔ сеть работает ✔ Proxmox загружается корректно ✔ RAID из 7× NVMe стабилен
Если хочешь — могу подготовить:
- PDF-версию гайда,
- облегчённую версию для техподдержки,
- автоматизированный recovery-скрипт.