Sindrome da divisão do cérebro

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