스플릿 브레인이란?
RedHat에서 제공하는 Split-Brain 관리 에 대한 공식 문서에서 언급했듯이 split-brain 은 네트워크 디자인의 서버로 인해 범위가 겹치는 두 개의 개별 데이터 세트의 유지 관리에서 발생하는 데이터 또는 가용성 불일치가 발생하는 상태입니다. 또는 서로 통신하지 않고 데이터를 동기화하는 서버를 기반으로하는 장애 조건. 또한 구성 복제에 적용되는 용어입니다.
말했다되는 것을주의하십시오 "통신하고 서로의 데이터를 동기화하지 서버를 기반으로 장애 상태" 때문에 모든 가능성에 - -하지만 당신의 노드가 연결이 끊어 질 수 있음을 의미하지 않는다. 피어가 아직 클러스터에 있고 연결되어있을 수 있습니다.
스플릿 브레인 유형 :
우리는 세 가지 유형의 스플릿 브레인을 가지고 있으며, 내가 볼 수있는 한 엔트리 스플릿 브레인입니다. 세 가지 유형의 스플릿 브레인을 설명하려면 :
데이터 스플릿 브레인 : 스플릿 브레인 에서 파일의 내용은 복제본 쌍마다 다르며 자동 치유는 불가능합니다.
메타 데이터 split-brain : , 파일의 메타 데이터 (예 : 사용자 정의 확장 속성)가 다르고 자동 치유가 불가능합니다.
Entry split-brain : 파일이 각 복제본 쌍마다 다른 gfid를 가질 때 발생합니다.
GFID 란 무엇입니까?
GlusterFS 내부 파일 식별자 (GFID) 는 전체 클러스터에서 각 파일에 고유 한 UUID입니다. 이것은 일반적인 파일 시스템의 inode 번호와 유사합니다. 파일의 GFID는 xattr이라는 이름으로 저장됩니다 trusted.gfid
. GFID의 경로를 찾으려면 GlusterFS에서 제공하는 이 공식 기사 를 읽는 것이 좋습니다 .
항목 분할 뇌를 해결하는 방법?
스플릿 브레인 발생을 방지하는 여러 가지 방법이 있지만이를 해결하려면 해당 gfid 링크 파일을 제거해야합니다. gfid-link 파일은 브릭의 최상위 디렉토리에있는 .glusterfs 디렉토리에 있습니다. 그런데 gfid- 링크를 삭제하기 전에 해당 브릭에있는 파일에 대한 하드 링크가 없는지 확인해야합니다. 하드 링크가 있으면 삭제해야합니다. 그런 다음 다음 명령을 실행하여 자체 복구 프로세스를 사용할 수 있습니다.
그 동안 분할 브레인 상태 인 볼륨의 파일 목록을 보려면 다음을 사용할 수 있습니다.
# gluster volume heal VOLNAME info split-brain
또한 브릭이 오프라인 상태가되어 온라인 상태로 돌아올 때 복제 된 볼륨의 경우 모든 복제본을 다시 동기화하려면 자동 복구가 필요합니다.
볼륨 및 파일의 치유 상태를 확인하려면 다음을 사용할 수 있습니다.
# gluster volume heal VOLNAME info
버전 3.5를 사용하고 있으므로 자동 치유 기능이 없습니다. 따라서 앞에서 언급 한 단계를 수행 한 후자가 치유를 시작해야합니다. 그렇게하려면 :
이것이 문제 해결을 통해 도움이되기를 바랍니다. 자세한 내용은 공식 문서를 읽으십시오. 건배.