Пересборка кластера Proxmox | OTUS
Запланируйте обучение с выгодой в Otus!
-15% на все курсы до 22.11 Забрать скидку! →
Выбрать курс

Пересборка кластера Proxmox

Linux_Deep_24.12-5020-393b79.png

Небольшая заметка о том, что делать, если развалился кластер Proxmox, и как заставить его пересобраться. Также поможет и при некоторых других болезнях Proxmox, например, если перестал работать web-интерфейс. Следующий текст не претендует на панацею, но если вы недостаточно знаете Linux, не работали с Proxmox и не знаете, в какую сторону смотреть в случае подобных проблем, то этот рецепт вам стоит попробовать.

Итак, как-то мне достался в наследство кластер Proxmox (версия 3.4) из 6 нод (предположим, с именами машин pve01 — pve06). Меня предупредили, что кластер периодически разваливался, выпадали ноды, прерывались бэкапы и т. д. и это лечилось перезагрузкой нод. Работы и так было очень много и ещё приходилось отвлекаться и на это. Конечно, такое положение дел мне не нравилось, поэтому в качестве временного обходного решения я написал простенький приведённый ниже скрипт.

Симптомы

Развалился кластер Proxmox — некоторые ноды красные и недоступны из web-интерфейса. При этом все виртуальные машины работают. В логах /var/log/daemon.log и /var/log/syslog есть сообщения такого вида:

ipcc_send_rec failed: Transport endpoint is not connected
ipcc_send_rec failed: Connection refused

Скрипт для пересборки кластера

Скрипт пытается перезапустить некоторые ключевые сервисы кластера. В итоге сетевые подключения должны переинициализироваться и через несколько минут кластер может быть восстановлен. Не принципиально на какой ноде запускать, просто нужно учесть в нём все ноды и в данном случае скрипт запускается пользователем root на ноде pve01.

#!/bin/bash
echo "######" Перезапуск локальных сервисов "######"
service ntp restart
service pvedaemon restart
service pvestatd restart
service pve-cluster restart
service pve-manager restart
service pveproxy restart

echo "######" Начинаю перезапуск удалённых сервисов "######"
for PVE in pve02 pve03 pve04 pve05 pve06
do
    echo "######" Перезапуск сервисов на $PVE "######"
    ssh root@$PVE -t service ntp restart
    ssh root@$PVE -t service pvedaemon restart
    ssh root@$PVE -t service pvestatd restart
    ssh root@$PVE -t service pve-cluster restart
    ssh root@$PVE -t service pve-manager restart
    ssh root@$PVE -t service pveproxy restart
done

Если в вашей версии Proxmox вместо ntp используется chrony, то это нужно учесть, конечно. Да и вообще, проверить, все ли эти сервисы у вас используются. В моём случае этот скрипт решал почти любые проблемы с кластером или нодами индивидуально.

Позже я собрал ещё один кластер на Proxmox 5 и с ним таких проблем не было.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто
Черная пятница в Otus! ⚡️
Скидка 15% на все курсы до 22.11 →