공유할 서비스 선택

TECH


TECH

OS [Linux] split-brain 현상

페이지 정보

작성자 LeeHyongDong 아이디로 검색 전체게시물 댓글 0건 조회 7,127회 좋아요 0회 작성일 20-03-16 23:12

본문

- Split-brain 설명 및 해결

 

소개

  Split-brain은 의학용어에서 파생된 단어로 뇌가 두개로 분할되는 증상으로

  cluster를 2 node 구성했을때 서로 통신이 되지 않아 자신이 유일한 노드로 인식해

  공유 resource와 같은 자원이 충돌을 일으키게 되는 현상이다.

 

환경

    RHEL 6.1 이상 (클러스터 구성된서버)

    RHEL 7버전 이상 (클러스터 구성된서버)

    RHEL 8버전 이상 (클러스터 구성된서버)

    클러스터가 2노드로 구성된 경우

 

구성

     05e05d9f35c1d8edaf21395c2204ead7_1584867454_5966.png

     예시 클러스터 구상도입니다.

  

이슈

     cluster 구성 서버에서 Split-barain발생으로 resource충돌

  

    보통의 클러스터 하면 이런 구상도를 생각하게 될텐데 Split-brain이란 단어 자체를 클러스터에 대입을 해보면 이해가 쉽게 됩니다

    클러스터를 뇌로 대입해서 설명을 드리겠습니다.  

    도미노를 세울때 뇌가 서로 다른 명령을 내려 세우던 도미노가 무너지거나 중간에 도미노가 빠지는 등의 오류가 생기게 됩니다.

    클러스터 또한 마찬가지입니다 2개의 노드가 서로 다른 명령을 내리거나 중복되는 내용을 스토리지가 비정상적인 작동으로 인식을 하게 됩니다.

 

    05e05d9f35c1d8edaf21395c2204ead7_1584604667_1234.png 

    클러스터의 구성도입니다 그림은 클러스터 노드가 서비스 네트워크로 통신을 하고 사용자 스토리지 까지 서비스 네트워크를 이용하고있습니다.

    05e05d9f35c1d8edaf21395c2204ead7_1584604681_6765.png 

     클러스터 구성은 1번 노드의 네트워크가 끊어진다고 해도 split-brain이 발생하지 않고 2번노드에서 정상적인 작동을 합니다

    split-brain이 발생하지 않는다면 그냥 클러스터를 이렇게 구성하면 되는거 아닌가 싶지만 모든 부하를 하나의 네트워크에 사용할경우 

    비용이 많이 발생할수 있기때문에 네트워크를 분할해 구성을 합니다.

    05e05d9f35c1d8edaf21395c2204ead7_1584606338_7035.png 

     클러스터 구성이 스플릿 브레인이 발생할수있는 구성도 입니다. 스플릿 브레인이 자주 발생하는 현상은 아니지만 

    위와 같은 구성도에서 heart-beat대역으로 통신하던 1 node 연결이 끊어지게되면서 fenceing 일어나 1 node 재부팅이 되고 

    cluster 다시 올라오지 않는다면 split-brain 일어나지 않지만 fenceing 일어나지 않거나 재부팅이 되서 비 정상적으로 cluster 올라오게 되면 

    heart-beat대역에서 서로 통신이 되지 않는 상태에서 자신만이 유일한 노드라고 인식해 두개의 노드가 모두 active 스토리지에 접근하게 되는걸 split-brain이라고 합니다.

 

    05e05d9f35c1d8edaf21395c2204ead7_1584606348_3301.png 

    구성도를 봐서 그냥 두개다 active 있는게 무슨 문제인지 싶지만 스토리지를 cluster 구성해 사용하게 경우 동시 접근을 하게되어 

    중복 주소를 할당하거나 서비스 데이터를 중복 전송 혹은 완전히 스토리지가 깨지게 되는 현상이 있을수 있습니다.

 

    05e05d9f35c1d8edaf21395c2204ead7_1584606415_1972.png 

    제가 사용하는 테스트 환경에서 강제적으로 스플릿 브레인 현상을 일으켜 봤습니다.

    스플릿 브레인이 일어나 두개의 노드 모두 active vip 노드 두개가 가지고 있어 할당 받고 있는게 확인됩니다.

 

해결 방안

    split-brain현상이 발생하지 않게 하는 방법은 통신이 되지 않는 환경에서 두개의 노드를 살아 있지 않게 하면 됩니다.

예시)

    - fenceing 일어난후 node에서 cluster 자동으로 올라오지 않게 설정한다.

    - node 홀수로 구성한다.

 

 

참조 문서

  

  - 클러스터 구축 효과

    http://www.chlux.co.kr/bbs/board.php?bo_table=board02&wr_id=43&sca=OS&page=3

 

 

 

 

 

 

 

댓글목록

등록된 댓글이 없습니다.

TECH 목록
번호 제목 작성자 작성일 조회수
104 OS OSworker 아이디로 검색 전체게시물 11-17 57
RHEL 9.5 가 11월 12일에 릴리즈 되었습니다. 간략하게 살펴보시죠~

카테고리 : OS

57 0
작성자 : OSworker 24/11/17
103 OS OSworker 아이디로 검색 전체게시물 11-10 86
어떤 프로세스 어떤 이유로 인해 성능에 문제가 생겼을때 perf로 그 문제를 찾아보세요.

카테고리 : OS

86 0
작성자 : OSworker 24/11/10
102 OS OSworker 아이디로 검색 전체게시물 10-31 139
AI에 대한 관심이 많습니다. 혹시 RHEL AI에 대해 들어보셨나요?

카테고리 : OS

139 0
작성자 : OSworker 24/10/31
101 OS OSworker 아이디로 검색 전체게시물 10-24 169
Fedora와 Red Hat Enterprise Linux의 차이점

카테고리 : OS

169 0
작성자 : OSworker 24/10/24
100 OS OSworker 아이디로 검색 전체게시물 10-11 208
audit 로그에 저장된 time 을 날짜/시간 으로 변경하여 보는법

카테고리 : OS

208 0
작성자 : OSworker 24/10/11
99 OS OSworker 아이디로 검색 전체게시물 09-29 351
[보안취약점]"RHSB-2024-002 - OpenPrinting cups-filters"에 대해 설명드리고자합니다.

카테고리 : OS

351 0
작성자 : OSworker 24/09/29
98 OS OSworker 아이디로 검색 전체게시물 09-25 422
누가 설정파일을 수정했는지 알고싶어요? 그럼 audit를 사용해보세요~!

카테고리 : OS

422 0
작성자 : OSworker 24/09/25
97 OS OSworker 아이디로 검색 전체게시물 09-15 326
RHEL6.10 앞으로 어떻게 되나요? 아직도 RHEL6버전을 사용하신다구요?

카테고리 : OS

326 0
작성자 : OSworker 24/09/15
96 OS OSworker 아이디로 검색 전체게시물 08-30 429
SWAP이 왜 자꾸 사용하게 될까요? 누가 사용하는것일까요?

카테고리 : OS

429 0
작성자 : OSworker 24/08/30
95 OS OSworker 아이디로 검색 전체게시물 08-22 430
리눅스 서버에 RDP를 설치하여 윈도우에서 "원격데스크탑접속"으로 연결

카테고리 : OS

430 0
작성자 : OSworker 24/08/22
Total 104건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 chlux.co.kr All rights reserved.
상단으로Top