Пересборка кластера Proxmox | OTUS
⚡ Открываем подписку на курсы!
Проходите параллельно 3 онлайн-курса в месяц по цене одного.
Подробнее

Курсы

Программирование
iOS Разработчик. Продвинутый курс Программист 1С Реверс-инжиниринг. Продвинутый курс
-16%
Java Developer. Professional
-17%
JavaScript Developer. Professional
-18%
Flutter Mobile Developer
-15%
MS SQL Server Developer
-14%
Unity Game Developer. Basic
-19%
Супер-практикум по использованию и настройке GIT
-18%
Супер-интенсив "СУБД в высоконагруженных системах"
-18%
Web-разработчик на Python
-11%
Backend-разработчик на PHP
-8%
PostgreSQL
-10%
Базы данных
-19%
Android-разработчик. Базовый курс Разработчик Python. Продвинутый курс Разработчик на Spring Framework AWS для разработчиков Cloud Solution Architecture CI/CD Vue.js разработчик Разработчик Node.js Scala-разработчик Супер - интенсив по Kubernetes Symfony Framework Advanced Fullstack JavaScript developer
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Пересборка кластера 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 комментариев
Для комментирования необходимо авторизоваться