Lo Split-Brain si verifica quando, dopo un riavvio, entrambi i nodi si rendono conto di essere stati primary prima del down (questa situazione è in generale anomala).
La configurazione prevede dei meccanismi automatici di recovery dopo lo split-brain, se questi meccanismi falliscono uno dei due nodi verrà disconnesso e dovrà essere riconnesso manualmente. In questo esempio vogliamo che il nodo B sia il principale, il termine “all” può essere sostituito con il nome della risorsa specifica. Vediamo come rimuovere DRBD Split Brain manualmente
Rimozione manuale Split Brain
Nodo A
nodeA# drbdadm disconnect all
nodeA# drbdadm secondary all
nodeA# drbdadm connect --discard-my-data all
NodoB
nodeB# drbdadm connect all
In caso di 2 nodi primari disallineati:
Su NODO A rendiamo la macchina secondaria ed escludiamo i suoi dati:
nodeA# drbdadm secondary all
nodeA# drbdadm -- --discard-my-data connect all
Su NODO B connettiamoci al Cluster, la macchina diverrà automaticamente primaria:
nodeB# drbdadm connect all
Su NOD A forziamo il nodo come primario.
nodeA# drbdadm primary all
Questa procedura permette di avere entrambi i nodi PRIMARY (non va utilizzata in altri casi) e funziona soltanto perchè in fase di configurazione del drbd è stata indicata la possibilità di avere due nodi primari contemporeaneamente (allow two primary).
ATTENZIONE: alla fine della procedura il drbd andrà presumibilmente in sync fino a quando i due nodi non saranno allineati
Documentazione ufficiale:
http://www.drbd.org/users-guide/drbd-users-guide.html