[MSP-179] 한쪽 노드에서 DRBD 리소스에서 Resolve Split-brain을 할 수가 없다
Subject
한쪽 노드에서 DRBD 리소스에서 Split-brain 상태를 해제 할 수가 없다
APPLIES TO:
MCCS version: 4.0.x
OS: RHEL 6.4 x64
APPs: none
Disk Type: mirror
SYMPTOMS
한쪽 노드에서 DRBD 리소스에서 Resolve Split-brain을 할 수가 없음
CAUSE
1. 한쪽 노드(2번 노드: 그룹 Online 상태)에서는 Resolve Split Brain 명령을 수행하려고 할때, MirrorNetConnectStatus 값이 false이기 때문에 수행할 수 없다고 메시지를 출력한다.
"You don't resolve splitbrain now because mirror network is down."
2. 1번 노드에서는 MirrorNetConnectStatus 값은 True 이다. 즉, 양 노드의 MirrorNetConnectStatus 값이 서로 틀리다.
3. 1번 노드에서는 Resolve Split Brain 명령이 정상 수행 된다.
<재현방법>
1번 노드에서 그룹을 Online 시킨다.
1번 노드에서 Mirror network card를 un-plug 시킨다.
1번 노드에서 drbd 리소스의 mount 된 곳에서 데이터를 삭제 한다.
1번 노드를 shutdown 한다.
2번 노드로 그룹이 failover 된다.
1번 노드를 boot 한다.
MirrorNetCoonectStatus 값이 양 노드 서로 틀리게 나타난다.
- MirrorNetCoonectStatus를 업데이트 해주는 위치가 잘못되어 있었음.
- MirrorNetCoonectStatus를 업데이트 해주는 로직 바로위에서 OOS체크를 하는데 OOS 체크를 하면서 다음 로직으로 넘어가지 않게 되어 있었음"
SOLUTION
1. MirrorNetCoonectStatus를 OOS 체크하기전에 처리
2. MirrorNetCoonectStatus가 Global값인데 노드를 지정해서 값을 넘겨주는것 수정
Related articles