MariaDB como lidar com falha de nó 2/3 no cluster multi-mestre.

2

Eu executo o cluster mestre galera MariaDB de 3 nós. Basicamente funciona para mim como é. Quando um nó falha, dois outros funcionam e tudo bem.

Mas eu estou querendo saber se existe uma maneira de continuar trabalhando em um nó? (Isso é realmente improvável, mas eu apenas me pergunto) Eu sei que o cluster falhará quando não houver quorum para evitar cérebros divididos. Eu também sei que, com um nó, o cluster esquerdo é desativado. O que significa que todas as conexões / consultas para o banco de dados são perdidas.

Gostaria de saber se haveria uma maneira de alternar esse mestre, que é deixado para um modo de nó único, deixá-lo funcionar e, quando a falha for notada (parar os aplicativos que se conectam ao banco de dados), trazer de volta outros nós do cluster e deixá-los replicar os dados (para que nada seja perdido)

Eu sei que existe algo chamado quorum virtual, mas seria uma boa escolha em uma situação de 3 nós principais?

    
por piotrektt 13.03.2014 / 22:13

1 resposta

1

Sim, você pode. Quando há um nó, ele entra em leitura apenas para evitar o split brain. Você pode evitar isso desabilitando a proteção cerebral dividida ( pc.ignore_sb ); mas isso significa que, se você tiver um sinal de rede com dois nós, estará arriscando um cérebro dividido em dois servidores diferentes.

Pessoalmente, eu nunca faria isso .... É uma loucura. Se você não quiser um servidor galera de pilha completa, mas quiser reduzir o risco de perder o quorum, basta implementar outro nó com garbd .

A solução simples para isso é a "regra de 3" . Se você quiser a disponibilidade do datacenter, precisará ter três datacenters com a mesma quantidade de nós; Se um datacenter falhar, você mantém o quorum, o que significa que o cluster permanece on-line. Outra maneira de pensar nisso é que, se uma interrupção puder fazer com que mais de 50% dos nós percam quorum, seu cluster estará inativo.

    
por 18.07.2014 / 02:46