Кластер Proxmox VE без кворума переходит в защитный режим: файловая система /etc/pve становится доступной только для чтения, а изменения конфигурации, запуск новых VM и переключение HA блокируются. Это защита от split-brain, но для администратора это выглядит как «панель не даёт ничего сделать» в самый неподходящий момент.
Что такое кворум и почему он разваливается
Кворум — это простое большинство голосов узлов кластера: если из пяти узлов доступны только два, кластер не может быть уверен, что оставшиеся три не работают отдельно и не создают конфликтующие изменения, поэтому блокирует запись. Кворум разваливается из-за обрыва сети между узлами, отключения нескольких нод одновременно или из-за неправильно настроенного количества голосов после вывода узла из кластера.
Как быстро проверить статус кворума
Первая команда при любом подозрении на проблему с кластером — проверка состояния corosync на живом узле:
pvecm status
corosync-quorumtool -s
В выводе важны две строки: Quorate должна быть Yes, а число Expected votes должно совпадать с фактическим количеством узлов. Если Quorate: No, кластер работает в режиме только чтения до восстановления большинства.
Диагностика сети между узлами
Чаще всего кворум рвётся из-за проблем на сети corosync, а не из-за падения самих серверов. Проверьте связность и задержку между узлами по адресам, указанным в /etc/pve/corosync.conf:
| Проверка | Команда | Нормальное значение |
|---|---|---|
| Пинг между узлами | ping -c 20 10.10.10.2 | 0% потерь, задержка ниже 1 мс |
| Статус линка corosync | corosync-cfgtool -s | все линки со статусом OK |
| Журнал службы | journalctl -u corosync -n 100 | без записей token lost |
Как восстановить кворум, если часть узлов недоступна
Если узлы вышли из строя надолго и большинство собрать нельзя, администратор может временно понизить порог кворума на живых узлах:
pvecm expected 1
Команда меняет ожидаемое число голосов «на лету», не трогая файл конфигурации, и разблокирует запись в /etc/pve на оставшихся узлах. Это временная мера до восстановления сети или ремонта аварийных серверов — использовать её на постоянной основе нельзя, иначе кластер потеряет защиту от split-brain.
Что делать после возврата всех узлов в сеть
Как только связь восстановлена, верните штатное число голосов и проверьте, что узлы снова видят друг друга без ручных команд:
pvecm expected 3
pvecm status
Если после возврата сети кластер не собирается сам, перезапустите службу corosync поочерёдно на каждом узле, начиная с того, что был недоступен дольше всех. Резкий рестарт сразу на всех узлах может вызвать повторный сплит на несколько секунд.
Как снизить риск повторного развала кворума
Кластер из трёх и более узлов переживает потерю одного узла без проблем — кворум держится большинством оставшихся. Для кластера из двух узлов стоит добавить QDevice в качестве третьего голоса на внешнем сервере, а мониторинг статуса кворума полезно вывести в отдельный дашборд мониторинга, чтобы заметить проблему раньше пользователей. Не забывайте, что файрвол Proxmox VE не должен блокировать порты corosync между узлами — это ещё одна частая причина ложного развала кворума после смены сетевых правил.
Чек-лист восстановления кворума
- Причина обрыва найдена: сеть, отказ узла или неверное число ожидаемых голосов.
pvecm statusпоказываетQuorate: Yesна всех живых узлах.- Временное значение
expected votesвозвращено к штатному после ремонта. - Настроен алерт на потерю кворума, чтобы не искать проблему по жалобам клиентов.