7.6 미러 디스크 리소스
서비스에 필요한 데이터가 클러스터에 정의된 노드들 간에 공���될 수 없는 경우, 즉 NAS 또는 DAS로 공유되지 못하면 페일오버할 때에 동일한 데이터로 서비스할 수 없습니다.
이런 경우에 로컬에서만 접근이 가능한 데이터를 대기 서버로 복제하여 대기 서버에서 동일한 데이터를 갖도록 할 수 있습니다.
미러 디스크는 이러한 기능을 하는 복제 소프트웨어 미러 볼륨에 대한 에이전트입니다.
미러 디스크 에이전트는 미러 볼륨의 상태와 역할에 따라 동작이 결정됩니다.
미러 디스크 상태, 역할과 같은 동적인 정보는 모두 시스템 이벤트 로그에 기록되며, MCCS의 이벤트 로그 모니터 모듈에 의해 MCCS로 전달됩니다.
MCCS 이벤트 모듈은 MCCS 서비스가 시작될 때에 기동됩니다.
복제 소프트웨어는 다른 두 서버간의 볼륨에 대해서 미러를 생성함으로써 동작을 하게 됩니다.
소스 볼륨(Source Volume)은 주 서버(Primary)에 위치하고, 타깃 볼륨(Target Volume)은 보조 서버(Secondary)에 위치합니다.
클라이언트는 소스 볼륨에서만 읽기/쓰기가 가능하고, 쓰여진 데이터들은 네트워크를 통해서 타깃 볼륨에 복제됩니다.
이 때, 타깃 볼륨은 읽기/쓰기가 모두 허용되지 않는 잠금 상태입니다. 이는 데이터 무결성을 보장하기 위해 타깃 볼륨을 사용하지 못하도록 하기 위함입니다.
다음 그림은 두 대의 서버에 Mirroring이 설정된 것을 나타냅니다.
이 페이지의 주요 내용
[그림] 미러링 구성도
데이터 동기화
미러링 방식은 동기 모드와 비동기 모드로 나뉘어지며, 이는 저장 요청에 대한 응답이 언제 발생하는지에 따라 결정됩니다.
비동기(Async) 모드
미러 볼륨에 대한 쓰기 요청 응답은 소스 볼륨에 대한 저장이 완료되는 즉시 이루어집니다.
타깃 볼륨으로 데이터가 전송되고 저장되기를 기다리지 않기 때문에 응답이 빠른 반면에 장애가 발생할 경우에는 그 시점에 전송되지 못한 데이터만큼의 데이터 불일치가 발생할 수도 있습니다.
동기(Sync) 모드
디스크에 대해 쓰기 요청이 발생하면 데이터는 소스 볼륨에 쓰여지는 동시에 타깃 볼륨에도 쓰여집니다.
쓰기 요청에 대한 최종적인 성공 응답은 소스와 타깃에 대한 쓰기가 모두 성공한 후에 이루어집니다. 응답속도는 느리지만 소스와 타깃 간의 데이터는 언제나 동일합니다.
추가
미러 디스크 리소스를 그룹에 추가합니다.
- 그룹 선택 -> 마우스 우 클릭 -> 리소스 추가를 선택합니다.
- 리소스 위자드에서 미러 디스크를 선택하고 Next 버튼을 클릭합니다.
미러 디스크 리소스로 사용 할 드라이브 문자를 선택하고, 소스 서버로 선택 합니다.
미러 디스크로 사용될 드라이브 문자 는 양쪽 서버에서 같은 드라이브 문자로 되어있어야 합니다.
[SAN 환경의 드라이브 문자(공유디스크)도 목록에 보여지므로 정확한 드라이브 문자를 선택하시기 바랍니다.]
데이터는 소스로 지정 노드에서 타겟으로 지정된 노드로 복제됩니다.
데이터가 존재하는 드라이브 문자를 선택하실 때 주의하시기 바랍니다.
이미 만들어진 미러 볼륨을 추가 할 경우 볼륨레터 옆에 (mirrored)가 붙습니다.
[그림] 미러디스크 리소스 추가 화면추가 설정을 클릭하여 동기화 모드와 디스크 검사 옵션을 정의 합니다.
<동기화 모드>
동기화 모드는 한 번 선택하면 변경할 수 없으므로 주의해서 선택해야 합니다.
동기모드 : 응답속도는 느리지만 데이터 손실이 없습니다.
비동기모드 : 동기모드보다 응답속도는 상대적으로 빠르지만 데이터 손실이 발생할 수 있습니다.<디스크 검사 옵션>
디스크 검사 명령 실행 옵션을 지정합니다. 자세한 기능은 MSDN을 참고하십시오.
[그림] 미러디스크 추가설정 화면- 미러디스크 리소스 추가 완료 버튼을 누르면 아래와 같은 경고창이 출력됩니다.
선택한 서버가 소스서버가 맞는지 다시 한번 확인합니다.
잘못 설정했다면 '취소' 버튼을 누르고 다시 설정합니다.
[그림] 미러디스크 리소스 추가 완료 버튼을 클릭 했을 때 출력되는 경고창 - 완료 버튼을 클릭하면 미러 디스크 리소스가 추가 되며,
관리 웹 콘솔 상에서 바로 확인이 가능합니다.
삭제
해당 리소스 선택 -> 마우스 우 클릭 -> 리소스 삭제를 선택합니다.
- 리소스 삭제를 클릭하면 MCCS 에 구성된 미러디스크 리소스를 삭제할지 물어봅니다.
[그림] 리소스 확인 화면 - 확인을 클릭하면 MCCS 에 구성된 미러디스크 리소스 뿐만 아니라 복제 프로그램에 구성된 미러도 삭제할지 다시 한번 확인합니다.
[그림] 물리적 미러 디스크 삭제 화면 - 확인을 클릭하면 모두 삭제, 취소를 클릭하면 MCCS 에 구성된 미러디스크 리소스만 삭제하게 됩니다.
삭제된 리소스는 관리 웹콘솔 상에서 바로 사라집니다.
상태
다음 테이블은 상태와 사용자 명령에 의해 발생되는 MCCS 리소스의 상태 변화에 대한 설명입니다.
명령은 사용자에 의해 발생되는 것을 전제로 합니다.
미러 디스크 에이전트: 미러 디스크를 관리하며, 복제 프로그램이 설치되어 있어야 합니다.
상태 | Agent 가능 명령 | 설명 | 비고 |
---|---|---|---|
온라인 소스 볼륨이 접근 가능하고 쓰기 테스트가 정상적으로 이루어지는 상태입니다. | 오프라인 | 미러 역할에 관계없이 LOCKVOLUME 명령으로 볼륨을 잠급니다. | |
모니터링 | 모니터 과정 또한 미러 볼륨의 상태와 역할에 따라 결정됩니다. <소스 볼륨> <타깃 볼륨> | ||
오프라인 온라인, 장애 상황을 제외한 상황은 모두 오프라인 상태입니다. | 온라인 | 시작되는 노드 상에서의 미러 볼륨 역할에 따라 동작이 결정됩니다. <소스볼륨> <타깃볼륨> | |
모니터링 | 위에 모니터링 명령 설명 참조 | ||
장애 온라인 상태에서 쓰기 테스트가 실패하거나 온라인 시도가 실패하면 장애 상태로 표시됩니다. *페일오버 비활성상태 | 온라인 | 위에 온라인 명령 설명 참조 | |
오프라인 | 미러 역할에 관계없이 LOCKVOLUME 명령으로 볼륨을 잠급니다. |
속성
리소스의 고유 속성을 표시 합니다.
ArgList 인수 | 설명 | 타입 | 기본값 | 수정 | 비고 |
AutoResolveSplitBrain | 'true'로 설정할 경우 자동으로 스플릿브레인을 해결합니다. | BOOLEAN | true | O | |
ChkDsk | 볼륨 마운트 시 '디스크 검사 옵션'에 따라 디스크를 검사하여 오류를 수정합니다. | BOOLEAN | false | O | |
ChkdskArg | 체크디스크(Chkdsk)가 true일 때 체크디스크 명령 옵션을 지정합니다. | STRING | /F | O | |
DirtyBit | 대상 미러 볼륨에 더티 비트가 설정되어 있음을 의미합니다. | BOOLEAN | false | X | |
DomainMemberServer | 미러 리소스를 구성할 노드가 윈도우 도메인 환경의 멤버서버일 경우 "true"로 선택하셔야 합니다. | BOOLEAN | false | O | |
DriveLetter | 미러 볼륨이 할당된 드라이버 문자입니다. | STRING | X | ||
MirrorIP | 볼륨을 복제하기 위해 사용하는 IP 입니다. | STRING | X | ||
MirrorRole | 미러 볼륨의 미러 역할입니다. 이벤트 로그로부터 갱신됩니다. | STRING | X | ||
MirrorState | 미러 볼륨의 미러 상태입니다. | STRING | X | ||
MirrorTimeout | 볼륨 페일오버, 스위치 등의 과정에서 미러 롤(Role) 또는 상태 업데이트에 대한 시간 제한 값입니다. | INTEGER | 120초 | O | |
MirrorType | 미러 동기화 모드를 결정합니다. A 또는 S로 설정합니다.( A - 비동기모드, S - 동기모드) * 비동기모드로 설정할 경우 데이터 손실이 발생할 수 있습니다. | STRING | A | X | |
Password | 지정된 사용자 계정에 대한 비밀번호입니다. | PASSWORD | O | ||
ResyncNeed | 재동기화가 필요한 블럭들의 총합을 나타냅니다. | INTEGER | 0 | X | |
ResyncTotal | 재동기화 블럭들의 총합을 나타냅니다. | INTEGER | 0 | X | |
RetryGetServiceInfo | 온라인시 DK 연결상태를 확인하는 횟수를 나타냅니다. | INTEGER | 1 | O | |
SourcePriorityLevel | 각 노드의 SourceRole Level을 나타냅니다. 값이 높은 노드가 최종적으로 Source Role을 가집니다. | STRING | X | ||
User | 미러 관련 명령을 실행할 사용자 계정입니다. | STRING | Administrator | O | |
forceUmount | True로 설정 할 경우 오프라인 시 장치가 사용 중이더라도 강제로 언마운트 합니다. | BOOLEAN | false | O |
속성 값은 해당 리소스를 등록할 때에 입력된 값이며, '리소스 고유 속성'에서 값을 변경하거나 확인할 수 있습니다.