분할 브레인(컴퓨터)

Split-brain (computing)

스플릿브레인(split-brain)은 의학 스플릿브레인 증후군과 유추하여 컴퓨터 용어다.네트워크 설계의 서버나, 또는 서로 데이터를 통신하지 않고 동기화하는 서버에 기반한 고장 조건 때문에, 범위가 중복되는 두 개의 별도 데이터 세트의 유지보수로 인한 데이터 또는 가용성 불일치를 나타낸다.이 마지막 경우를 흔히 네트워크 파티션이라고도 한다.

일반적으로 분할 브레인(Split-brain)이라는 용어는 오류 상태를 가리키지만, 기업 네트워크에 대한 내부 및 외부 DNS 서비스가 통신하지 않는 의도적인 상황을 설명하기 위해 때때로 분할-뇌 DNS(또는 분할-수평 DNS)를 사용하므로 외부 컴퓨터와 내부 컴퓨터에 대해 별도의 DNS 이름 공간을 관리해야 한다.이를 위해서는 이중 관리가 필요하며, 컴퓨터 이름에 도메인이 중복될 경우 서로 다른 컴퓨터 IP 주소를 참조하는 두 이름 공간에서 동일한 FQDN(정규화된 도메인 이름)이 모호하게 발생할 위험이 있다.[1]

고가용성 클러스터는 일반적으로 클러스터에 있는 각 노드의 상태 및 상태를 모니터링하는 데 사용되는 하트비트 전용 네트워크 연결을 사용한다.예를 들어, 모든 개인 링크가 동시에 다운될 때 분할 브레인 증후군이 발생할 수 있지만, 클러스터 노드는 여전히 실행 중이고, 각 노드는 자신들만이 실행 중이라 믿고 있다.각 클러스터의 데이터 세트는 다른 데이터 세트와 어떠한 조정 없이 자신의 "이상적인" 데이터 세트 업데이트에 의해 무작위로 클라이언트를 지원할 수 있다.이로 인해 운영자의 개입과 정리가 필요할 수 있는 데이터 손상 또는 기타 데이터 불일치가 발생할 수 있다.

분할 브레인 처리 방법

데이비드슨 외 연구진은 [2]이 문제를 해결하기 위한 몇 가지 접근법을 조사한 후 낙관적이거나 비관적인 것으로 분류한다.

낙관적인 접근방식은 분할된 노드가 평상시처럼 작동할 수 있도록 한다. 이는 정확성을 희생시키는 비용으로 더 높은 수준의 가용성을 제공한다.일단 문제가 종료되면 클러스터를 일관된 상태로 만들기 위해 자동 또는 수동 조정이 필요할 수 있다.이 접근방식에 대한 현재 구현 중 하나는 핵심 가치 저장소의 자동 조정을 수행하는 헤이즐캐스트이다.[3]

비관적 접근법은 일관성을 대가로 가용성을 희생한다.일단 네트워크 파티셔닝이 감지되면, 일관성을 보장하기 위해 하위 파티션에 대한 액세스가 제한된다.콜루리스 외 연구진이 설명한 전형적인 접근법은 정족수 일치 접근법을 사용하는 것이다.[4]이를 통해 과반수의 표를 가진 하위 파티션을 계속 사용할 수 있고, 나머지 하위 파티션이 자동 펜싱 모드로 전락해야 한다.이 접근방식의 현재 구현은 MongoDB 복제 세트에서 사용되는 것이다.[5]그리고 이와 같은 또 다른 구현은 MariaDBMySQL을 위한 Galera 복제 입니다.[6]

현대의 상업용 범용 HA 클러스터는 일반적으로 클러스터 호스트와 쿼럼 감시 스토리지 간에 하트비트 네트워크 연결의 조합을 사용한다.2노드 클러스터의 당면 과제는 감시 장치를 추가하면 비용과 복잡성이 증가하지만(클라우드에서 구현되더라도) 장치가 없으면 클러스터 구성원이 활성 상태여야 할 장치를 결정할 수 없다는 것이다.이러한 클러스터(쿼럼 없이)에서 멤버가 실패하는 경우, 멤버가 일반적으로 호스트에 1차 및 2차 상태를 할당하더라도, 2-노드 HA 클러스터가 완전히 실패할 확률은 최소 50%로, 여러 멤버가 독립적으로 활성화되고 직접 충돌하거나 코르시되는 것을 방지한다.루핑 데이터

참조

  1. ^ Windows Server 2008 Active Directory, 구성(2차 버전), Holme, Ruest, Ruest, Kelington, ISBN978-0-7356-5193-7
  2. ^ Davidson, Susan; Garcia-Molina, Hector; Skeen, Dale (1985). "Consistency In A Partitioned Network: A Survey". ACM Computing Surveys. 17 (3): 341–370. doi:10.1145/5505.5508. hdl:1813/6456.
  3. ^ "Hazelcast Documentation". Retrieved 16 February 2015.
  4. ^ Coulouris, George; Dollimore, Jean; Kindberg, Tim (2001). Distributed systems: concepts and design (3. ed., 1st, 2nd and 3rd impression. ed.). Harlow [u.a.]: Addison-Wesley. ISBN 0201-61918-0.
  5. ^ "MongoDB Replication Fundamentals". Retrieved 12 December 2012.
  6. ^ "Weighted Quorum in Galera Cluster". Retrieved 17 December 2015.