Короткий ответ
Не переустанавливайте Proxmox и не делайте zpool create rpool, пока не доказали, что пул и тома VM уничтожены. Задача — довести узел pve1 до multi-user, смонтировать корневую ФС, поднять pve-cluster и убедиться, что диски гостей на local-lvm или rpool на месте. Кластерный конфиг живёт в pmxcfs (/etc/pve): его нельзя «нарисовать заново», если узел ещё член кластера.
С консоли или ISO Rescue сначала отделите «железо/загрузчик» от «пул не импортируется» и от «ОС встала, но службы PVE нет». VM-диски обычно переживают падение хоста; их убивает поспешный recreate VG/rpool.
Симптомы и как отличить
Типичная картина:
- после POST нет меню GRUB или GRUB падает в
grub rescue; - initramfs:
ALERT! rpool does not exist/Gave up waiting for root file system device; - система доходит до emergency, SSH нет, веб на 8006 нет;
- IPMI/iKVM показывает kernel panic или зависание на
importing pool.
Отличия:
| Что видно | Скорее не «узел не грузится» | Куда смотреть |
|---|---|---|
| SSH есть, 8006 нет | службы/сертификат/quorum | Веб-интерфейс Proxmox недоступен |
| Хост встал, VM не стартуют | lock, storage, конфиг VM | VM не запускается в Proxmox |
zpool status — DEGRADED, но login есть | диск пула, не загрузчик | ZFS pool degraded |
| Кластер readonly, узел «offline» у соседей | corosync/quorum | Кластер Proxmox потерял quorum |
Возможные причины
От частых к редким:
- После обновления ядра/initramfs ZFS-модуль не попал в образ,
rpoolне появляется на boot. - Контроллер/кабель/диск: пул не видит vdev, import в initramfs падает.
- Сломан GRUB или EFI-запись после смены диска, Secure Boot, неверный boot order.
- Корневой snapshot/dataset
rpool/ROOT/pve-1не монтируется (неверныйBOOTFS, clone после неудачного апдейта). - Заполнен
rpoolнастолько, что запись в/varи стартpve-clusterневозможны — выглядит как «не загрузился», хотя kernel уже в multi-user. - Повреждение метаданных ZFS после жёсткого питания. Это уже не «выбрать старое ядро в GRUB».
Диагностика
Работайте с KVM/IPMI. Плейсхолдеры: узел pve1, пул rpool, VMID 101, storage local-lvm.
1. На каком этапе остановились
Запомните последнюю строку консоли. grub rescue — не виден диск/модули GRUB. Сообщение initramfs про rpool — ядро есть, пул нет. login: есть — грузится, чините службы, не загрузчик.
Если есть live/ISO Proxmox того же поколения (8.x):
# с ISO Rescue, не с работающего чужого узла кластера
zpool import
ls /dev/disk/by-idПустой zpool import при живых /dev/disk/by-id — не те диски, не тот HBA, multipath спрятал имена. Не создавайте пул.
2. Импорт только для чтения состояния
Подробности импорта — в ZFS pool не импортируется. Здесь минимум:
zpool import -d /dev/disk/by-id -o readonly=on rpool
zpool status rpool
zfs list -r rpoolИщите rpool/ROOT/pve-1 и датасеты данных (rpool/data или отдельный пул). Тома local-lvm живут на VG pve, не внутри ZFS: их видно через pvs/lvs после доступа к тем же дискам.
3. Если система всё же дошла до shell
pveversion
systemctl status pveproxy pvedaemon pve-cluster --no-pager
df -h /
zpool status rpool
lvs -a
pvesm statuspve-cluster мёртв → /etc/pve пустой или не смонтирован: GUI и qm без конфигов. Это следствие, не причина падения boot.
Сохраните вывод в каталог заявки на USB/шару, не в заполненный rpool.
Решение
Сценарий A. GRUB/EFI, диски на месте
С ISO: смонтируйте root (zfs mount после import или mount для ext4 на LVM) и переустановите загрузчик штатно для UEFI или BIOS, не форматируя ESP вслепую, если на нём чужие записи. Boot order в firmware должен указывать на диск pve1, не на USB, с которого вы только что грузились.
После ребута проверьте, что поднялся тот же hostname pve1 и что /etc/pve/nodes/pve1 существует.
Сценарий B. Initramfs не импортирует rpool
Часто лечится загрузкой предыдущего ядра из GRUB (подменю Advanced). Если старое ядро поднимает узел:
update-initramfs -u -k all
update-grub
pveversion -vЕсли ни одно ядро не видит пул — чините видимость дисков (HBA, кабель, zpool import -d), а не пакеты PVE.
Сценарий C. Пул импортируется с ISO, с диска — нет
Сверьте cache и имена устройств. После успешного import с ISO экспортируйте корректно (zpool export rpool) и грузитесь с диска. Не оставляйте пул импортированным на двух системах сразу.
Сценарий D. Узел в кластере, этот хост мёртв, VM нужны сейчас
На другом узле с quorum не пересоздавайте VMID 101 на пустом диске. Если диски были на shared storage — можно стартовать VM там. Если диски только на локальном rpool/local-lvm pve1 — сначала верните диск/пул этого узла. Не делайте pvecm expected «чтобы GUI ожил», пока не прочитали потерю quorum.
Как проверить, что проблема устранена
После login на pve1:
pveversion
systemctl is-active pveproxy pvedaemon pve-cluster
pvecm status
pvesm status
qm status 101
zpool status rpool
lvsОжидание: службы active, /etc/pve читается, pvesm status не все inactive без причины, qm config 101 показывает прежние scsi0/virtio0 на local-lvm или ZFS. Функциональный тест: консоль VM 101 или SSH в гостя, если её было принято запускать на этом узле.
Соседи кластера должны снова видеть pve1 online, а не «узел исчез навсегда».
Если не помогло
- Пул импортируется
readonly, запись запрещена: ищитеFAULTEDvdev и degraded, неzpool clearвслепую. - Root встал,
pve-clusterпадает: место на/, inode, fuse. Сначалаdf -hиdf -i. - Кластер отвергает узел: сеть corosync и время, не переустановка.
- Нет ни одного диска в
by-id: HBA, инородный RAID BIOS, выдернутый backplane — это железо. - Есть подозрение на разрушение пула: остановитесь, снимите образы дисков, не запускайте
zpool recoverс форумов как первую команду.
Профилактика
- Два диска под
rpool(mirror), мониторинг SMART иzpool status. - Консоль BMC до того, как понадобится.
- Перед
apt dist-upgradeна узле — health-check и окно с миграцией VM. - Бэкап VM на PBS/vzdump вне того же
rpool. - Не держать единственную копию
/etc/pveтолько в голове: кластер сам реплицирует pmxcfs, одиночный узел — отдельный риск.
FAQ
Можно ли сразу поставить PVE заново на этот сервер?
Только на диск без VM-данных. Пока rpool/pve VG существуют, переустановка «на весь сервер» — уничтожение гостей.
Нужно ли zpool import -f с ISO?
Только если hostid не совпал и вы уверены, что пул не импортирован на другом хосте. Иначе split import и порча.
VM на NFS не пострадают, если pve1 не грузится?
Конфиги VM в /etc/pve на кластере обычно доступны с другого узла. Диски на NFS можно поднять там. Локальные тома 101 на pve1 — нет.
Чем emergency shell отличается от «Proxmox мёртв»?
Kernel и systemd уже есть. Часто хватает systemctl default после ремонта fstab/пула, без переустановки.
Стоит ли откатывать BIOS после неудачной прошивки RAID?
Если диски внезапно «исчезли» после прошивки контроллера — да, это приоритетнее установки пакетов PVE. Сначала верните видимость LUN/дисков.