Split brain syndrome, in een clustering context, is een toestand waarin een cluster van nodes wordt opgedeeld (of gepartitioneerd) in kleinere clusters van gelijke aantallen nodes, waarvan elk gelooft dat het de enige actieve cluster is.
In de overtuiging dat de andere clusters dood zijn, kan elk cluster gelijktijdig toegang krijgen tot dezelfde applicatie data of disks, wat kan leiden tot datacorruptie. Een "split brain"-situatie ontstaat tijdens clustervorming. Wanneer een of meer knooppunten in een cluster uitvallen, hervormt het cluster zich met de beschikbare knooppunten. Tijdens deze hervorming kunnen in plaats van een enkel cluster meerdere fragmenten van het cluster met een gelijk aantal knooppunten worden gevormd. Elk clusterfragment gaat ervan uit dat het het enige actieve cluster is -- en dat andere clusters dood zijn -- en begint de gegevens of de schijf te benaderen. Aangezien meer dan een cluster de schijf benadert, raken de gegevens beschadigd.
Hier volgt een gedetailleerder overzicht:
- Laten we zeggen dat er 5 nodes A,B,C,D en E zijn die een cluster vormen, X.
- Nu valt een node (zeg E) uit.
- Cluster reformation vindt plaats. Eigenlijk zouden de overgebleven nodes A,B,C en D cluster X moeten vormen.
- Maar er kan zich een split brain situatie voordoen die leidt tot de vorming van twee clusters X1 (met daarin A en B) en X2 (met daarin C en D).
- Zowel X1 als X2 clusters denken dat zij de enige actieve cluster zijn. Beide clusters beginnen de gegevens of de schijf te benaderen, wat tot gegevenscorruptie leidt.
Hoge beschikbaarheid clusters zijn allemaal kwetsbaar voor het split brain syndroom en zouden een of ander mechanisme moeten gebruiken om dit te voorkomen. Clustering tools, zoals Pacemaker, HP ServiceGuard, CMAN en LinuxHA, bevatten over het algemeen dergelijke mechanismen.
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