This article contains instructions on how to manually disable high availability (HA). This may be required, for example, if the cluster storage becomes corrupted and disabling high availability in the standard way via the web interface does not work.
To disable high availability:
- Connect to the server with the platform via SSH.
-
Connect to the database:
docker exec -it mysql bash -c "mysql isp -p\$MYSQL_ROOT_PASSWORD"
-
Get the cluster node IDs:
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=1 and v.id=<Cluster_ID>;
-
Disable the HA activity indicator:
update vm_cluster set ha_enabled=false where id=<Cluster_ID>;
-
Disconnect from the database:
\q
-
Connect to the vm_box container:
docker exec -it vm_box bash
-
Disable HA-agent and corosync services on the nodes. Run the specified commands for each node in turn:
vssh <Node_ID> 'systemctl stop ha-agent && systemctl disable ha-agent'
vssh <Node_ID> 'systemctl stop corosync && systemctl disable corosync'
Comment -
Check the statuses of the VMs on the nodes using the virsh utility. Make sure that the same VM is not running on two nodes at the same time:
virsh list --all