Короткий ответ

Не переустанавливайте 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, конфиг VMVM не запускается в Proxmox
zpool status — DEGRADED, но login естьдиск пула, не загрузчикZFS pool degraded
Кластер readonly, узел «offline» у соседейcorosync/quorumКластер Proxmox потерял quorum

Возможные причины

От частых к редким:

  1. После обновления ядра/initramfs ZFS-модуль не попал в образ, rpool не появляется на boot.
  2. Контроллер/кабель/диск: пул не видит vdev, import в initramfs падает.
  3. Сломан GRUB или EFI-запись после смены диска, Secure Boot, неверный boot order.
  4. Корневой snapshot/dataset rpool/ROOT/pve-1 не монтируется (неверный BOOTFS, clone после неудачного апдейта).
  5. Заполнен rpool настолько, что запись в /var и старт pve-cluster невозможны — выглядит как «не загрузился», хотя kernel уже в multi-user.
  6. Повреждение метаданных 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 status

pve-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, запись запрещена: ищите FAULTED vdev и 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/дисков.