1. Quorum ?
- 합의체가 의사를 진행시키거나 의결을 하는 데 필요한 최소한도의 인원수 라는 사전적 의미를 가지고 있더.
- IT적인 개념으로 해석한다면, 다수의 노드로 구성된 클러스터 환경에서 스플릿 브레인 ( Splite-Brain ) 이 발생하는 것을 방지하기 위해
사용하는 것으로 분산환경에서 적용된다.
- 쿼럼은 클러스터 장애로 인해 노드 고립이 발생한 경우 온라인 시킬 노드와 펜싱 처리할 노드를 판단해 데이터 유실을 방지
✓ 스플릿 브레인 ( Splite-Brain ) ? 2022.12.08 - [Network] - # 스플릿 브레인 ( Splite-Brain )
2. Quorum 구성
- 쿼럼 서버( Quorum Server )와 쿼럼 클라이언트로( Quorum Client ) 구성 된다.
- 쿼럼 서버는 전체 노드와 통신하며 고립된 노드들이 스스로 정상 여부를 판단할 수 없을 때, 중재하는 역할을 수행한다.
- 쿼럼 클라이언트는 클러스터로 구성된 각 노드에 설치돼, 쿼럼 서버와 통신하며 노드의 운영체제의 Hang 상태를 파악하는데
사용되는 에이전트이다.
3. Quorum 역할
1) 쿼럼이 구성되지 않은 상태
- 클러스터에 2개의 노드가 존재하는 상황에서 네트워크 단절이 발생하고, 이에 따라 노드 A와 노드 B의 연결이 끊어진다.
- 노드 A는 노드 B에 연결을 설정할 수 없기 때문에 노드 B가 실패한 것을 확인하고 차단한다. 노드 B도 마찬가지로 노드 A과 연결 할 수 없기 때문에
노드 A가 실패한것으로 확인하고 차단한다.
- 노드 A와 B 모두 자신이 Primary Node가 되야 한다 판단하는 스플릿 브레인이 발생하게 되고, " 펜싱 전쟁 "이 시작된다.
- 엔지니어가 서비스를 수동으로 중지하거나 노드 간의 연결이 성공적으로 설정 될 떄까지 문제는 지속된다.
2) 쿼럼이 구성된 상태
- 클러스터에 2개의 노드와 쿼럼 장치가 존재하는 상황에서 네트워크 단절이 발생하면, 어떤 노드가 Cluster의 제어권을
가져갈지 투표를 진행한다.
- 각 노드 A와 B는 1표, 쿼럼 장치는 1표를 ( 전체 노드 개수 - 1 ) 행사 할 수 있다.
- 총 3표 중, 정족수 ( 3 / 2 = 1.5 => 2 )는 2표로 자기 자신에게 투표하는 노드 A, B를 제외하고 쿼럼 장치의 투표권을
받는 쪽이 Cluster의 제어권을 가져갈 수 있다.
'Infra > Network' 카테고리의 다른 글
# [Network] 허브 ( Hub ) (0) | 2023.06.27 |
---|---|
# [Network] 스위치 ( Switch ) (0) | 2023.05.22 |
# [Network] 게이트웨이 (Gateway) (0) | 2023.03.28 |
# [Network] 스플릿 브레인 ( Splite-Brain ) (0) | 2022.12.08 |
# [Network] ICMP (0) | 2022.12.02 |