A) Первая проблема — момент срабатывания
A1) Мониторинг через cron, когда узел меняет статус с online на fenced. Это можно сделать с помощью get /cluster/ha/status/manager_status как с внешнего сайта, так и через скрипт на самих узлах (скрипт должен быть на всех узлах, но запускаться только если узел имеет статус мастера в кластере, чтобы избежать дублирующих запусков). Такой подход имеет преимущество в том, что все failover IP адреса перемещаются сразу. Перемещение failover IP занимает несколько минут. При 50 виртуалках первые 10 не будут иметь готовый IP, а для последних 40 публичные failover IP уже должны быть перенаправлены на новый узел.
A2) Как лучше триггерить скрипты, когда узел становится fenced? (без использования cron) Или когда VM мигрируется менеджером HA на новый узел? В описанном сценарии, если узел коротко в состоянии fenced, то не стоит сразу перемещать все IP, так как некоторые виртуалки не будут мигрированы и останутся на исходном узле.
B) Следующий шаг — перемещение IP
- Я получаю IP контейнера через get /nodes/{nodefenced}/lxc/{vmid}/config. Что если в это время контейнер уже восстановлен на следующем активном узле?
- Если бы я мог сохранить ID сервиса OVH API (выделенного сервера) в комментарии на узле Proxmox, я мог бы просто вызвать команду OVH API клиента, чтобы перенести IP на новый активный сервер (который должен быть следующий в порядке приоритета и онлайн в HA группе).
A1) Мониторинг через cron, когда узел меняет статус с online на fenced. Это можно сделать с помощью get /cluster/ha/status/manager_status как с внешнего сайта, так и через скрипт на самих узлах (скрипт должен быть на всех узлах, но запускаться только если узел имеет статус мастера в кластере, чтобы избежать дублирующих запусков). Такой подход имеет преимущество в том, что все failover IP адреса перемещаются сразу. Перемещение failover IP занимает несколько минут. При 50 виртуалках первые 10 не будут иметь готовый IP, а для последних 40 публичные failover IP уже должны быть перенаправлены на новый узел.
A2) Как лучше триггерить скрипты, когда узел становится fenced? (без использования cron) Или когда VM мигрируется менеджером HA на новый узел? В описанном сценарии, если узел коротко в состоянии fenced, то не стоит сразу перемещать все IP, так как некоторые виртуалки не будут мигрированы и останутся на исходном узле.
B) Следующий шаг — перемещение IP
- Я получаю IP контейнера через get /nodes/{nodefenced}/lxc/{vmid}/config. Что если в это время контейнер уже восстановлен на следующем активном узле?
- Если бы я мог сохранить ID сервиса OVH API (выделенного сервера) в комментарии на узле Proxmox, я мог бы просто вызвать команду OVH API клиента, чтобы перенести IP на новый активный сервер (который должен быть следующий в порядке приоритета и онлайн в HA группе).
