Статья содержит инструкцию по ручному отключению отказоустойчивости (HA). Это может потребоваться, например, при повреждении хранилища кластера, когда отключение отказоустойчивости стандартным способом через веб-интерфейс не работает.
Чтобы отключить отказоустойчивость:
- Подключитесь к серверу с платформой по SSH.
-
Подключитесь к БД:
Error rendering macro 'excerpt-include'
User 'null' does not have permission to view the page.
MySQLdocker exec -it mysql bash -c "mysql isp -p\$MYSQL_ROOT_PASSWORD"PostgreSQLdocker exec -it pgsql bash -c "psql -d isp" -
Получите ID узлов кластера:
select n.id as node_id, n.name as node_name from vm_node n left join vm_cluster v on n.cluster = v.id where v.ha_enabled = true and v.id =<ID кластера>; -
Отключите признак активности HA:
update vm_cluster set ha_enabled=false where id=<ID кластера>; -
Отключитесь от БД:
\quit -
Подключитесь к контейнеру vm_box:
docker exec -it vm_box bash -
Отключите службы HA-agent и corosync на узлах. Поочерёдно выполните указанные команды для каждого узла:
vssh <ID узла> 'systemctl stop ha-agent && systemctl disable ha-agent'vssh <ID узла> 'systemctl stop corosync && systemctl disable corosync'Пояснения -
Проверьте статусы ВМ на узлах с помощью утилиты virsh. Убедитесь, что одна и та же ВМ не запущена одновременно на двух узлах:
virsh list --all