Eu tenho Galera Cluster de 3 nós no Ubuntu 18.04. Como parte do Ubuntu LCM, estou atualizando meu Setup para 22.04 junto com este cluster Galera MariaDB também será atualizado.
Elaborei abaixo o plano para atualizar meu cluster usando atualização contínua.
Acione um backup para obter o backup de produção mais recente.
O uso do comando wsrep_desync interrompe a sincronização entre o cluster
atualize o SO e o MariaDB e configure o Galera no Node-1
Inicie o Mysqld no Node-1 como componente primário.
Restaure o backup no Node-1
Verifique o Nó-1
Execute a atualização no nó 2 e no nó 3, um por um.
Junte-se ao nó-2 e ao nó-3 com o nó-1.
Por favor, diga se estou faltando alguma coisa, tenho infra-restrição, então só posso realizar a atualização contínua com tempo de inatividade mínimo.
Se o objetivo for uma atualização contínua com tempo de inatividade mínimo e você pretende fazer atualizações locais para banco de dados e sistema operacional, recomendo fortemente fazer as atualizações separadamente. Acho que funcionaria bem atualizar os dois ao mesmo tempo, mas não arriscaria.
Também acho que usar 'wsrep_desync' é desnecessário e pode até causar problemas.
Para atualizações de banco de dados, a visão geral do procedimento seria mais ou menos assim (consulte a documentação do MariaDB para obter instruções detalhadas:
Isso permite que o cluster retenha dois nós ativos o tempo todo. Espera-se que o cluster permaneça operacional com uma combinação de diferentes versões de SQL participando dele. No entanto, se você tiver problemas, poderá sempre reverter manualmente ou por instantâneo, exportação de VM, imagem de disco, etc. Você também deve observar que, ao ingressar novamente no cluster, pode levar algum tempo extra para voltar a sincronizar.
O procedimento do sistema operacional seria basicamente o mesmo, com a observação de que pode ser necessário reinstalar o MariaDB após a atualização. Até agora, em meus testes, o cluster parece estar perfeitamente satisfeito por ter versões mistas de sistema operacional entre seus membros.