...
Section | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
소스 디스크 장애
...
MCCS는 미러 디스크에 접속이 불가능한 상황이 되면 장애로 인식합니다.
운영 서버의 미러 디스크 리소스에 장애가 발생하면
...
미러 디스크 리소스 아이콘에 장애가 표시됩니다.
...
그리고 장애가 일어난 미러 디스크 리소스를 포한한 그룹은 대기 서버로 페일오버를 진행합니다.
[그림] 미러 디스크 장애 발생 화면
- MCCS에서 디스크에 대한 장애 감지 방식은 다음과 같습니다.
아래 사항을 확인했을 때 실행이 안된다면 장애로 판단합니다.- 해당 디스크가 마운트 되어 있는지 확인 합니다확인합니다.
- 해당 디스크에 대해서 Read/Write를 실행합니다읽고 쓰기가 가능한지 확인합니다.
- 디스크 장애 발생 요인은 다음과 같은 경우가 있을 수 있습니다. 위의 문제가 해결 된 후에 운영 체제는 변경된 디스크를 다시 인식합니다.이후 복제 소프트웨어에서 동기화를 진행합니다.
- 디스크 컨트롤러 문제: 하드웨어 자체의 문제는 해당 업체에서 해결해야 합니다.
- 물리적인 디스크 문제: 하드웨어 자체의 문제는 해당 업체에서 해결해야 합니다.
위의 문제가 해결된 후에 운영 체제는 디스크를 다시 인식합니다.
이후 복제 소프트웨어에서 동기화를 진행합니다. - 미러 디스크 리소스에서 동기화가 진행되지 않으면 미러디스크 미러 디스크 리소스를 삭제한 후에 다시 생성해야 합니다.
단, 삭제 시 미러 디스크 리소스만 삭제가 삭제하는 것이 아니라 데이터 복제 프로그램에 생성된 미러까지 미러 설정까지 삭제하고 다시 생성해야 합니다.
타깃 디스크 장애
대기 서버의 미러 디스크에 장애가 발생하면
...
미러 디스크 리소스 아이콘에
...
(Pause
...
)가 표시됩니다.
...
소스 서버에서
...
운영 중인 서비스에는 영향을 미치지 않습니다.
[그림] 타깃 디스크 장애 발생 화면
- MCCS에서 타깃 대기 서버의 미러 디스크에 대한 장애 감지는 해당 디스크의 드라이브 문자가 있는지 없는지 만을 판단합니다.
- 디스크 장애 발생 요인은 다음과 같은 경우가 있을 수 있습니다.위의 문제가 해결 된 후에 운영 체제는 변경된 디스크를 다시 인식합니다.이후 복제 소프트웨어에서 동기화를 진행합니다.
- 디스크 컨트롤러 문제: 하드웨어 자체 자체의 문제는 해당 업체에서 해결해야 합니다.
- 물리적인 디스크 문제: 하드웨어 자체 자체의 문제는 해당 업체에서 해결해야 합니다.
위의 문제가 해결된 후에 운영 체제는 디스크를 다시 인식합니다.
이후 복제 소프트웨어에서 동기화를 진행합니다. - 미러 디스크 리소스에서 동기화가 진행되지 않으면 미러디스크 미러 디스크 리소스를 삭제한 후에 다시 생성해야 합니다.
단, 삭제 시 미러 디스크 리소스만 삭제가 삭제하는 것이 아니라 데이터 복제 프로그램에 생성된 미러까지 미러 설정까지 삭제하고 다시 생성해야 합니다.
미러 디스크 리소스의 Split Brain
...
Split Brain 이란 두 서버에서 미러 디스크 역할이 모두 소스로 인식되는 경우입니다.
이러한 상황은
...
타깃이였던 미러 디스크가 소스로 변경되는 시점에
...
기존에 소스였던 미러 디스크가 타깃으로 변경되지 못해서 생기는 상황입니다.
이 때는 서로 자신의 데이터를 동기화하려 하지만 데이터를 받는 상대 서버 역시 자신이 소스 서버인 상태이므로 역할 변경을 거부하게 됩니다.
미러 디스크에서 Split Brain이 발생하는
...
구체적인 상황 순서는 다음과 같습니다.
- A 서버(소스 서버(A) 장애로 인해 페일오버가 발생합니다.
- MCCS에서 "SWITCHOVERVOLUME" 명령을 실행합니다. 이 명령을 실행하면 A 서버(소스 서버)의 볼륨 역할이 소스에서 타깃으로 변경되고 기존에 타깃이었던 B 서버의 역할이 타깃에서 소스로 변경됩니다.
- 어떤 이유에서 A 서버(기존 소스 볼륨이 )의 볼륨 역할이 삭제되지 않고 타깃 그대로 소스 역할이고 B 서버(B기존 타깃)의 역할이 역할은 명령대로 소스로 변경됩니다. (미러 디스크 역할 변경)최초의 소스
- A 서버(A기존 소스)를 재부팅합니다.
- 최초의 소스 A 서버(A기존 소스)가 부팅된 후에 타깃 부팅하면서 B 서버(B새로 소스)의 역할을 확인합니다.
- 타깃 서버(B )가 소스이면 최초의 소스 서버(A)는 서버가 소스이면 A 서버는 이미 정상적으로 페일오버 되었다고 판단하고 자신을 타깃으로 변경합니다변경하는 것이 정상입니다. 하지만
미러 네트워크 이상 또는 다른 오류로 인하여 부팅 시점에 이 역할을 확인할 수 없게 됩니다. (5, 6번 5번 과정 확인 실패) - 양 서버의 미러 역할이 모두 소스가 됩니다. (
- Split Brain 발생)
이러한 상태가 되면 MCCS 웹 콘솔상에서 콘솔상에 미러 디스크 리소스의 아이콘 리소스 아이콘에 ()표시가 겹쳐서 나타나며(), MirrorRole 속성값이 속성 값이 두 서버에 대해 모두 "Source"로 표시됩니다서버 모두 소스 역할입니다.
이러한 경우에는 미러 디스크 역할을 수동으로 변경해야 하며, 변경한 후에는 재동기화 과정이 발생합니다.
미러 디스크 역할을 수동으로 변경하는 방법은 MCCS 웹 콘솔을 이용하면 됩니다.
...
MCCS 웹 콘솔을 사용해서 스플릿브레인을 해결하는 방법
리소스 속성창을 확인합니다.
[그림] 미러디스크 스플릿 브레인 확인미러 관리창을 확인합니다.
[그림] 미러디스크 스플릿 브레인 확인Warning
1)1번, 2번 UI에서 볼 수 있듯이 Split Brain 상황이 일어나면
2) 미러디스크의
양 노드의 MirrorRole은 Source, MirrorState은 MIRROR_PAUSED 상태가 됩니다.미러 디스크의 TimeAquiredSourceRole을 확인하여 Split Brain이 일어난 시점을 확인합니다.
(TimeAquiredSourceRole은 시스템의 시간이므로 최신 데이터의 유무를 결정할 수 있는 절대값이 아닙니다.
)
3) 스플릿 브레인이 발생했을 때 발생하는 로그가 출력됩니다.
(윈도우즈 이벤트 오류: An invalid attempt to establish a mirror occurred. Both systems were found to be Source.
Local Volume: F Remote system: 200.200.124.49 Remote Volume: F The mirror has been paused, or left in its current non-mirroring state.
Use the DataKeeper User Inteface to resolve this Split Brain condition.)
4)
TimeAquiredSourceRole을 참고하여 스플릿 브레인이 발생했을 때 출력되는 로그를 확인합니다.
미러 관리창에서 미러 상태가 "SPLIT" 상태입니다.- 미러디스크를 선택하고 오른쪽 버튼을 클릭하여 [스플릿 브레인 해결]을 클릭합니다.
스플릿브레인에 대한 설명창이 출력됩니다.
Warning 아래 설명 창의 설명에서와 같이 타깃 역할로 변경된 디스크 쪽의 정보는 모두 소스 역할로 선택된 정보로 덮어써지게 됩니다.
[그림] 소스 노드 선택에 대한 내용 확인- 소스노드를 선택합니다.
[그림] 소스 롤 노드 선택 - 선택한 소스노드에 대해 다시 한번 확인합니다.
[그림] 소스 노드 선택 다시 확인 - 스플릿해결 중인 화면입니다.
[그림] 스플릿 브레인 해결 화면 - 스플릿해결 완료 화면입니다.
[그림] 스플릿 브레인 해결 완료 화면 - 노드 B 의 변경된 정보는 모두 덮어써지게 됩니다
선택한 노드가 소스노드가 되고 미러디스크의 상태는 상태는 "MIRRORING" 상태로 바뀌게 됩니다.
[그림] 스플릿 브레인 해결Warning