Skip to main content

Reinicialização do MySQL InnoDB Cluster após uma Queda Total

Background e contextualização​

Apesar dos serviços do Openstack oferecerem redundância, se a máquina toda desligar (por motivos de queda de energia ou outros), será necessário inicializá-la novamente com os seus serviços, incluindo o banco de dados. A resolução desse problema será tratada aqui.

Descrição do problema​

Considerando que o banco de dados esteja fora do ar, com mensagens do tipo Failed to connect to MySQL com workload blocked, conforme mostra a imagem abaixo:

erro innodb

Veremos uma forma de solucionar esse problema.

Resolução do problema​

Inicialização do MySQL InnoDB Cluster​

Independente de como os serviços do MySQL InnoDB Cluster foram encerrados, seja por desligamento forçado ou queda de energia, é necessário realizar uma etapa de reinicialização especial para colocar o banco de dados da nuvem em funcionamento. O link abaixo fornece um passo a passo completo.

No nosso caso, bastou utilizar os comandos abaixo:

juju run mysql-innodb-cluster/0 reboot-cluster-from-complete-outage
juju run mysql-innodb-cluster/1 reboot-cluster-from-complete-outage
juju run mysql-innodb-cluster/2 reboot-cluster-from-complete-outage
juju run mysql-innodb-cluster/leader reboot-cluster-from-complete-outage

O resultado obtido foi: inicializacao innoDB

Permitir o acesso aos dados armazenados no Vault​

O próximo passo consistiu em permitir o acesso aos dados no Vault. Isso acontece sempre que ele é inicializado pela primeira vez, até que seja liberado explicitamente. Novamente, o link abaixo auxiliou nesse processo:

juju run vault/0 restart

cat vault.txt

export VAULT_ADDR="http://10.84.0.11:8200"
vault operator unseal

Agora, nenhum erro é encontrado, todos os clusters estão online e sem workloads blocked, conforme mostra a imagem abaixo: innoDB instanciado

Conclusão​

Esta foi uma das formas encontradas para solucionar essa questão. Caso alguma forma complementar seja encontrada, sinta-se a vontade para sugerir a adição ao documento.