# Розвал кворуму в кластері Proxmox VE: діагностика

> Що робити при втраті кворуму в кластері Proxmox VE: діагностика corosync, ручний перезапуск і запуск без кворуму.

Кластер 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` як третій голос на зовнішньому сервері, а моніторинг статусу кворуму корисно вивести в [окремий дашборд моніторингу](https://www.zevshost.net/uk/kb/proxmox-monitoring-grafana/), щоб помітити проблему раніше за користувачів. Не забувайте, що [файрвол Proxmox VE](https://www.zevshost.net/uk/kb/proxmox-firewall/) не повинен блокувати порти corosync між вузлами — це ще одна поширена причина фальшивого розвалу кворуму після зміни мережевих правил.

## Чек-лист відновлення кворуму

- Причину обриву знайдено: мережа, відмова вузла чи неправильна кількість очікуваних голосів.
- `pvecm status` показує `Quorate: Yes` на всіх живих вузлах.
- Тимчасове значення `expected votes` повернено до штатного після ремонту.
- Налаштовано алерт на втрату кворуму, щоб не шукати проблему за скаргами клієнтів.

---

Джерело: https://www.zevshost.net/uk/kb/proxmox-vosstanovlenie-kvoruma/
