Sindrome da divisão do cérebro, num contexto de clustering, é um estado em que um cluster de nós é dividido (ou particionado) em clusters menores de igual número de nós, cada um dos quais acredita ser o único cluster activo.
Acreditando que os outros clusters estão mortos, cada cluster pode simultaneamente aceder aos mesmos dados de aplicação ou discos, o que pode levar à corrupção de dados. Uma situação de cérebro dividido é criada durante a reforma do cluster. Quando um ou mais nós falham em um cluster, o cluster se reforma com os nós disponíveis. Durante essa reforma, em vez de formar um único cluster, múltiplos fragmentos de o cluster com um número igual de nós pode ser formado. Cada fragmento de cluster assume que ele é o único cluster ativo -- e que outros clusters estão mortos -- e começa a acessar os dados ou disco. Como mais de um cluster está acessando o disco, os dados ficam corrompidos.
Aqui está como funciona com mais detalhes:
- Li>Dizemos que existem 5 nós A,B,C,D e E que formam um cluster, X.
- Agora um nó (digamos E) falha.
- A reforma do cluster acontece. Na verdade, os nós A,B,C e D restantes devem formar o aglomerado X.
- mas pode ocorrer uma situação de cérebro dividido que leva à formação de dois aglomerados X1 (contendo A e B) e X2 (contendo C e D).
- Ambos os aglomerados X1 e X2 pensam que são o único aglomerado ativo. Ambos os clusters começam a acessar os dados ou disco, levando à corrupção de dados.
Os clusters de alta disponibilidade são todos vulneráveis à síndrome do cérebro dividido e devem usar algum mecanismo para evitá-la. Ferramentas de agrupamento, tais como Pacemaker, HP ServiceGuard, CMAN e LinuxHA, geralmente incluem tais mecanismos.
Common methods of addressing split brain syndrome include:
- Quorum or lock disk
- Quorum Server
- Tie-Breakers
- STONITH (Shoot The Other Node In The Head)
- I/O fencing