미러 디스크
서비스에 필요한 데이터를 네트워크로 연결된 클러스터 노드간에 공유하기 위하여 사용합니다.
미러링은 로컬에서만 접근이 가능한 데이터를 네트워크를 통해 대기 서버로 복제하여 대기 서버에서 동일한 데이터를 갖도록 합니다.
미러디스크 에이전트는 이러한 미러링 기능을 하는 DRBD 복제 소프트웨어에 대한 관리 에이전트 입니다.
미러디스크에이전트는 1:1 미러링 복제구성을 등록 관리 할수 있습니다.
미러디스크에이전트는 DRBD 복제 소프트웨어로부터 실시간 이벤트를 받아 복제 볼륨을 관리합니다.
이 페이지의 주요 내용
DRBD가 사전에 설치 되어 있어야 하며 Internal 메타 데이타 기능을 사용할수 없습니다.
[그림] 미러링 구성도
데이터 동기화
미러링 방식은 동기 모드와 비동기 모드로 나뉘어지며, 이는 저장 요청에 대한 응답이 언제 발생하는지에 따라 결정됩니다.
비동기(Asynchronization) 모드
미러 볼륨에 대한 쓰기 요청 응답은 소스 볼륨에 대한 저장이 완료되는 즉시 이루어집니다.
타깃 볼륨으로 데이터가 전송되고 저장되기를 기다리지 않기 때문에 응답이 빠른 반면에 장애가 발생할 경우에는 그 시점에 전송되지 못한 데이터만큼의 데이터 불일치가 발생할 수도 있습니다.
준동기(Semi Synchronization) 모드
미러 볼륨에 대한 쓰기 작업 완료는 상대 노드로 복제 패킷이 전달되는 시점에 이루어집니다.
한 노드 장애시 데이터 손실은 없지만, 양쪽 서버가 동시에 장애 발생 시 데이터 손실이 발생할 수도 있습니다.
동기(Synchronization) 모드
디스크에 대해 쓰기 요청이 발생하면 데이터는 소스 볼륨에 쓰여지는 동시에 타깃 볼륨에도 쓰여집니다.
쓰기 요청에 대한 최종적인 성공 응답은 소스와 타깃에 대한 쓰기가 모두 성공한 후에 이루어집니다. 응답속도는 느리지만 소스와 타깃 간의 데이터는 언제나 동일합니다.
추가
미러 ���스크 리소스 새로 추가하는 방법
미러 디스크 리소스를 그룹에 추가합니다.
- 그룹 선택 → 마우스 우 클릭 → 리소스 추가를 선택합니다
리소스 위자드에서 미러 디스크를 선택하고 [Next] 버튼을 클릭합니다.
미러 디스크 리소스로 사용 할 드라이브 문자를 선택하고, 소스 서버로 선택 합니다.
메타디스크 볼륨을 선택합니다.
메타디스크 볼륨은 드라이브 레터를 붙일 수 있는 별도의 볼륨이 필요합니다. 이런 볼륨을 만들기 위해서는 아래의 경우가 준비 되어야 합니다.
드라이브레터
예 : m- 디렉토리 마운트
예 : C:\vdrive - GUID 형태의 볼륨 이름
예 : \\?\Volume{ed8a8f02-18b3-11e6-91b4-000c29ac57f8}\ - VHD(Virtual Hard Disk)
예:
1. m c:\r0_meta.vhd # VHD + 레터 방식
2. C:\vdrive c:\r0_meta.vhd # VHD + 디렉토리 마운트 방식
3. \\?\Volume{ed8a8f02-18b3-11e6-91b4-000c29ac57f8}\ c:\r0_meta.vhd # VHD + GUID 방식
외부 메타 데이터 볼륨
메타 볼륨은 별도의 볼륨을 생성할 때 반드시 포맷을 하지 않고 RAW 상태로 만들어야 합니다.
WDRBD는 기본적으로 섹터 단위로 메타 볼륨에 접근하기 때문에 NTFS와 같은 파일시스템으로 포맷을 하게되면 부트레코드(Boot Record) 영역으로의 접근이 쓰기 권한을 요구하게 되며
해당 영역이 보호를 받게 되어 일부 섹터에 대한 접근이 되지 않습니다.
또한 MFT 같은 파일시스템의 메타 영역이 생성되어 WDRBD에서 메타디스크로 사용할 수 없게 됩니다. 따라서 초기 볼륨 생성시 포맷 하지 않는 옵션을 선택하여 생성해야 합니다.
[그림] 미러디스크 리소스 추가 화면- 미러디스크 리소스 추가 완료 버튼을 누르면 아래와 같은 경고창이 출력됩니다.
선택한 서버가 소스서버가 맞는지 다시 한번 확인합니다.
[그림] 미러디스크 리소스 추가 완료 버튼을 클릭 했을 때 출력되는 경고창 - [완료] 버튼을 클릭하면 미러 디스크 리소스가 추가됩니다.
리소스 복사 및 붙여넣기
새로운 리소스를 생성 할 때 필수 입력이 되어야 하는 속성 값을 매번 새로 입력하기가 번거롭습니다.
기존에 존재하는 리소스와 유사한 설정 값을 대부분 유지한 상태에서 리소스를 추가 하기 위해서는 관리 웹콘솔 화면에서 리소스 복사 및 붙여넣기 기능을 사용하여 손쉽게 리소스를 추가할 수 있습니다.
리소스 복사의 대상은 개별 리소스이며, 붙여넣기의 대상은 해당 그룹 또는 타 그룹입니다.
리소스 붙여넣기의 속성값은 기본적으로 복사한 리소스의 속성값을 유지합니다.
따라서 붙여넣는 리소스의 속성을 상황에 맞게 변경해야 복사한 리소스의 속성과 중복되지 않습니다.
리소스 복사하기
- 복사하고자 하는 리소스에 대해서 마우스 우 클릭 → 리소스 복사를 선택합니다.
- 복사한 리소스를 붙여넣기 할 대상인 그룹에 마우스 우 클릭 → 리소스 붙여넣기를 선택합니다.
리소스 붙여넣기
새로 추가 할 리소스의 네트워크 어댑터를 선택하시고 리소스 이름을 명명하면 됩니다.
기본적으로 붙여넣기한 리소스 이름은 복사한 리소스의 이름에 "_1" 이 접미어로 제공됩니다. 리소스 타입에 따라 필요한 정보를 더 입력해 합니다.
[그림] 네트워크 카드 리소스 붙여넣기 화면
삭제
해당 리소스 선택 → 마우스 우 클릭 → 리소스 삭제를 선택합니다.
- 리소스 삭제를 클릭하면 MCCS 에 구성된 미러디스크 리소스를 삭제할지 물어봅니다.
[그림] 리소스 확인 화면 - [확인]을 클릭하면 MCCS 에 구성된 미러디스크 리소스 뿐만 아니라 복제 프로그램에 구성된 미러도 삭제할지 다시 한번 확인합니다.
[그림] 물리적 미러 디스크 삭제 화면 - [확인]을 클릭하면 모두 삭제, 취소를 클릭하면 MCCS 에 구성된 미러디스크 리소스만 삭제하게 됩니다.
상태
다음 테이블은 상태와 사용자 명령에 의해 발생되는 MCCS 리소스의 상태 변화에 대한 설명입니다.
미러 디스크 에이전트: 미러 디스크를 관리하며, 복제 프로그램이 설치되어 있어야 합니다.
상태 | Agent 가능 명령 | 설명 |
---|---|---|
온라인 소스 볼륨이 접근 가능하고 쓰기 테스트가 정상적으로 이루어지는 상태입니다. | 오프라인 | 복제 상태를 Secondary로 변경합니다. |
모니터링 | <소스 볼륨> <타깃 볼륨> | |
오프라인 온라인, 장애 상황을 제외한 상황은 모두 오프라인 상태입니다. | 온라인 | 복제 상태를 Primary로 변경합니다. |
모니터링 | 위에 모니터링 명령 설명 참조 | |
장애 | 온라인 | 위에 온라인 명령 설명 참조 |
오프라인 | 위에 오프라인명령 설명 참조 |
미러 관리 화면
미러 관리 화면은 다음과 같습니다.
[그림] 미러 관리 화면
미러셋 구성
MCCS에서 구성하는 미러 리소스가 하나의 미러셋으로 표현됩니다.
그림 | 설명 | |
볼륨 |
| 볼륨 상태가 SOURCE 상태 |
볼륨 상태가 TARGET 상태 | ||
볼륨 상태가 Diskless 상태 | ||
상태
| 볼륨의 상태가 Mirroring인 상태 | |
볼륨의 상태가 RESYNCING 상태 RESYNCING 진행 시 진행 상태 바가 표시됩니다. | ||
볼륨의 상태가 PAUSE 상태 | ||
| Split brain 발생 상태 |
미러관리 명령 설명
미러 볼륨의 미러셋의 볼륨에 우클릭시 선택 가능한 미러 관리 명령 들에 대해 설명합니다.
메뉴 | 설명 |
연결 | 복제 데이터셋을 공유하는 두 호스트 사이에 통신 연결을 합니다. |
연결 끊기 | 복제 데이터셋을 공유하는 두 호스트 사이에 통신 연결을 끊습니다. |
강제 동기 | 강제 동기 명령시 RESYNCING 상태로 변경 되며 |
속성 설정 설명
[그림] 속성 설정 화면
속성명 | 설명 |
가상 장치 경로 | Mount point를 보여줍니다. |
메타 장치 경로 | 메타 장치의 경로를 보여줍니다. |
재동기 비율 | 재동기화 비율을 설정 합니다. ( 0 ~ 640 MB) 설정 가능 |
송신버퍼크기 | 비동기 데이터 전송을 위한 버퍼 크기를 설정합니다. |
혼잡도상태 | 비동기모드에서 해당 버퍼크기가 되면 OOS로 기록됩니다. |
미러 주소 | 설정된 IP로 볼륨을 복제합니다. |
송신버퍼크기, 혼잡도상태 속성은 데이터 동기화 모드가 비동기(Async)일때만 동작 가능한 속성이며 속성값 수정 후 drbdadm down, up 명령을 통해 적용 됩니다.
미러 네트워크 주소는 속성 설정 화면에서 변경할 수 있습니다. 단, 네트워크 주소 변경 완료 후, 복재 재개를 위해서 미러 재 동기 작업이 필요합니다.
자동 스플릿 브레인 복구 정책
속성명 | 속성값 | 설명 |
모든 노드가 secondary | 마지막 primary 버림 | 스플릿 브레인이 발생하기 전에 primary였던 노드에서 동기화를 진행합니다. |
처음 primary 버림 | 스플릿 브레인 상황 동안 두 번째로 primary가 되었던 노드에서 동기화를 진행합니다. | |
변동이 적은 쪽 버림 | 스플릿 브레인 상황 동안 변동사항이 더 많이 발생한 노드에서 동기화를 전행합니다. | |
변동이 없는 쪽 버림 | 한 노드에서만 변동이 있다면 해당 노드에서 동기화를 진행합니다. 만약 양 노드 모두 변동이 없으면 임의의 노드에서 동기화를 진행하고, 양 노드 모두 변동이 있을 경우 연결을 끊습니다. | |
연결 끊기 | 자동으로 복구하지 않고 단순히 연결만 끊습니다. | |
Primary-Secondary | Consensus | 모든 노드가 secondary인 상황과 동일한 복구 정책을 적용합니다. 자동 복구에 실패한다면 연결을 끊습니다. |
Secondary 버림 | Secondary 노드를 희생 노드로 만듭니다. | |
연결 끊기 | 자동으로 복구하지 않고 단순히 연결만 끊습니다. | |
모든 노드가 primary | 연결 끊기 | 자동으로 복구하지 않고 단순히 연결만 끊습니다. |