O que é um cérebro dividido?
Conforme mencionado na documentação oficial sobre gerenciamento de cérebro dividido , fornecida pela RedHat, cérebro dividido é um estado em que inconsistências de dados ou disponibilidade originam da manutenção de dois conjuntos de dados separados com sobreposição de escopo, seja por causa de servidores em um design de rede, ou uma condição de falha baseada em servidores que não se comunicam e sincronizam seus dados entre si. E é um termo aplicável para replicar a configuração.
Preste atenção ao dizer "uma condição de falha baseada em servidores que não se comunicam e sincronizam seus dados entre si" - devido a qualquer probabilidade -, mas isso não significa que seus nós possam perder a conexão. O par ainda pode estar em cluster e conectado.
Tipos de cérebro dividido:
Temos três tipos diferentes de cérebro dividido, e até onde posso ver o seu é cérebro dividido. Para explicar três tipos de cérebro dividido:
Cérebro dividido em dados: o conteúdo do arquivo em cérebro dividido é diferente em diferentes pares de réplicas e a recuperação automática não é possível.
Metadados de cérebro dividido:, Os metadados dos arquivos (por exemplo, atributo estendido definido pelo usuário) são diferentes e a recuperação automática não é possível.
Cérebro dividido da entrada: acontece quando um arquivo tem gfids diferentes em cada um dos pares de réplicas.
O que é GFID?
O identificador de arquivo interno (GFID) do GlusterFS é um uuid exclusivo para cada arquivo em todo o cluster. Isso é análogo ao número do inode em um sistema de arquivos normal. O GFID de um arquivo é armazenado em seu xattr chamado trusted.gfid
. Para encontrar o caminho da GFID, eu recomendo que você leia este artigo oficial fornecido pelo GlusterFS.
Como resolver a entrada de cérebro dividido?
Existem vários métodos para impedir que o cérebro dividido ocorra, mas para resolvê-lo, os arquivos de link gfid correspondentes devem ser removidos. Os arquivos gfid-link estão presentes no diretório .glusterfs no diretório de nível superior do bloco. A propósito, lembre-se de que, antes de excluir os links gfid, você deve garantir que não haja links físicos para os arquivos presentes nesse bloco. Se existirem links físicos, você também deve excluí-los. Em seguida, você pode usar o processo de autocorreção executando os seguintes comandos.
Enquanto isso, para exibir a lista de arquivos em um volume que está em um estado de cérebro dividido, você pode usar:
# gluster volume heal VOLNAME info split-brain
Você também deve estar atento ao fato de que, para volumes replicados, quando um bloco fica offline e volta a ficar on-line, a autocura é necessária para ressincronizar todas as réplicas.
Para verificar o status de recuperação de volumes e arquivos, você pode usar:
# gluster volume heal VOLNAME info
Desde que você está usando a versão 3.5, você não tem recuperação automática. Então, depois de executar as etapas mencionadas anteriormente, você precisa ativar a autocura. Para fazer isso:
Somente nos arquivos que requerem recuperação:
# gluster volume heal VOLNAME
Em todos os arquivos:
# gluster volume heal VOLNAME full
Espero que isso ajude você a resolver seu problema. Leia os documentos oficiais para obter mais informações. Felicidades.