Кластер 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повернено до штатного після ремонту. - Налаштовано алерт на втрату кворуму, щоб не шукати проблему за скаргами клієнтів.