반응형

Split Brain

 

스플릿 브레인 (Split Brain) 클러스터로 구성된 시스템간의 네트워크가 일시적으로 동시에 단절되거나 기타 시스템상의 이유로, 클러스터 상의 모든 노드들이 각자 자신이 Primary라고 인식하게 되는 상황을 뜻한다.  관제 시스템에 의해 하트비트(Heartbeat)등으로 Alive 유무가 체크되는 서비스가 있다고 가정했을때, 하트비트 통신이 단절되어 서비스 클러스터가 장애 상태라고 인식하고 서비스를 동시에 구동하는 경우, 또는 독립적인 개의 시스템이 비정상적으로 구성되어 서로가 Primary라고 믿게되는 현상을 모두 포함한다.

스플릿 브레인 현상이 발생하면, 노드가 동시에 Primary 되면서 이중 가동 현상이 발생한다. 이렇게 이중으로 가동되면서 노드들은 동시에 스토리지에 접근하기 때문에 데이터 동기화 복제에 비정상 적인 트랜잭션이 발생할 있으며, 예상하지 못한 다양한 문제로 전체 서비스가 불능 상태에 빠질 있다.

일반적으로 LB 중심으로 구성되어 특정 노드에 장애가 발생했을때 HA 제공하도록 구성된 토폴로지라면 스플릿 브레인 현상은 발생하지 않는다.  외에도 스플릿 브레인 현상을 방지하기 위해서는 노드에 구성된 쿼럼(Quorum) 홀수로 구성해 과반수 투표를 진행하거나 하트비트 네트워크를 서비스 네트워크와 통합하여 일관성을 유지할 있도록 한다.

 

Split Brain 대해서 설명된 글이 있으니 조금더 자세히 알고 싶으면 아래 링크를 참고 한다.

·       Split Brain - MariaDB Galera Cluster Case : https://bryan.wiki/290

 

 

2021-04-22 / Sungwook Kang / http://sungwookkang.com

 

Split Brain, 스플릿 브레인, 클러스터 단절, 클러스터 장애

반응형

+ Recent posts