...
디스크에 대한 쓰기 테스트를 하여 실패하면 오프라인 상태인 것으로 판단합니다. 쓰기가 가능한 경우 그룹이 잠금 상태이면 오프라인 상태로 간주하지만, 그렇지 않은 경우는 볼륨에 대해 LOCKVOLUME 명령을 실행합니다. 백업 또는 데이터 정합성을 테스트하기 위해 타깃 볼륨의 잠금 상태를 해제하는 경우는 사전에 리소스 그룹에 대해 잠금 설정을 하지 않으면 에이전트가 타깃 볼륨을 자동으로 다시 잠금 상태로 하게 됩니다. 따라서 타깃 볼륨에 대한 잠금을 해제하려면 사전에 반드시 그룹에 대해 잠금 설정을 해야 합니다.
미러 볼륨이 정의되지 않은 경우
...
Section | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
정의
서비스에 필요한 데이터가 클러스터에 정의된 노드들 간에 공유될 수 없는 경우, 즉 NAS 또는 DAS로 공유되지 못할 경우에는 페일오버할 때에 동일한 데이터로 서비스할 수 없습니다. 이런 경우에 로컬에서만 접근이 가능한 데이터를 대기 서버로 복제하여 대기 서버에서 동일한 데이터를 갖도록 할 수 있습니다. 미러 디스크는 이러한 기능을 하는 DataKeeper 미러 볼륨에 대한 에이전트입니다.
미러 디스크 에이전트는 미러 볼륨의 상태와 역할에 따라 동작이 결정됩니다. 미러 디스크 상태, 역할과 같은 동적인 정보는 모두 시스템 이벤트 로그에 기록되며, MCCS의 이벤트 로그 모니터 모듈에 의해 MCCS로 전달됩니다.
MCCS 이벤트 모듈은 MCCS 서비스가 시작될 때에 기동됩니다.
DataKeeper는 다른 두 서버간의 볼륨에 대해서 미러를 생성함으로써 동작을 하게 됩니다.
소스 볼륨(Source Volume)은 주 서버(Primary) 에 위치하고, 타깃 볼륨(Target Volume)은 보조 서버(Secondary)에 위치합니다.
클라이언트는 소스 볼륨에서만 읽기/쓰기가 가능하고, 쓰여진 데이터들은 네트워크를 통해서 타깃 볼륨에 복제됩니다. 이 때, 타깃 볼륨은 읽기/쓰기가 모두 허용되지 않는 잠금 상태입니다. 이는 데이터 무결성을 보장하기 위해 타깃 볼륨을 사용하지 못하도록 하기 위함입니다.
다음 그림은 두 대의 서버에 Mirroring이 설정된 것을 나타냅니다.
[그림] 미러링 구성도
데이터 동기화
미러링 방식은 동기 모드와 비동기 모드로 나뉘어지며, 이는 저장 요청에 대한 응답이 언제 발생하는지에 따라 결정됩니다.
비동기(Async) 모드
미러 볼륨에 대한 쓰기 요청 응답은 소스 볼륨에 대한 저장이 완료되는 즉시 이루어집니다. 타깃 볼륨으로 데이터가 전송되고 저장되기를 기다리지 않기 때문에 응답이 빠른 반면에 장애가 발생할 경우에는 그 시점에 전송되지 못한 데이터만큼의 데이터 불일치가 발생할 수도 있습니다.
동기(Sync) 모드
디스크에 대해 쓰기 요청이 발생하면 데이터는 소스 볼륨에 쓰여지는 동시에 타깃 볼륨에도 쓰여집니다. 쓰기 요청에 대한 최종적인 성공 응답은 소스와 타깃에 대한 쓰기가 모두 성공한 후에 이루어집니다. 응답속도는 느리지만 소스와 타깃 간의 데이터는 언제나 동일합니다.
추가
그룹에서 추가 할 경우
- 그룹 - 마우스 우 클릭 - 리소스 추가를 선택합니다.
[그림] 리소스 위자드 리소스추가 화면
- 리소스 위자드에서 미러 디스크를 선택하고 Next 버튼을 클릭합니다.
[그림] 리소스 위자드 선택화면
리소스 타입에서 추가 할 경우
리소스타입 - 마우스 우 클릭 - 리소스 추가를 선택합니다.
[그림] 리소스 타입 리소스추가 화면
'그룹'이나 '리소스타입'으로 '리소스추가' 선택한 뒤의 과정입니다.
...
정보를 모두 가져오게 되면 미러디스크 소스 롤을 가지는 서버를 선택할 수 있고, 리소스로 사용 할 드라이브 문자를 선택하면 권장 이름(ex: Mirror_Y)을 제공해 줍니다. (이미지수정)
Warning |
---|
미러 디스크로 사용될 드라이브 문자는 양쪽 서버에서 같은 드라이브 문자로 되어있어야 합니다. [SAN 환경의 드라이브 문자(공유디스크)도 목록에 보여지므로 정확한 드라이브 문자를 선택하시기 바랍니다.] 데이터는 소스로 지정 된 노드에서 타겟으로 지정 된 노드로 복제됩니다. 데이터가 존재하는 드라이브 문자를 선택하실 때 주의 하시기 바랍니다. |
[그림] 정보 취합 후 미러디스크 리소스 추가 화면
...
추가 설정을 클릭하여 동기화 모드와 디스크 검사 옵션을 정의 합니다.
Info |
---|
<동기화 모드> 동기화 모드는 한번 선택하면 변경 할 수 없으므로 주의해서 선택합니다. 동기모드 : 느리지만 데이터 손실이 없습니다. 비동기모드 : 동기모드보다 상대적으로 빠르지만 데이터 손실이 발생 할 수 있습니다.
<디스크 검사 옵션> 디스크 검사 명령 실행 옵션을 지정합니다. 자세한 기능은 MSDN을 참고하시면 됩니다. |
[그림] 미러디스크 추가설정 화면
...
삭제
리소스타입 - 마우스 우 클릭 - 리소스 삭제를 선택합니다.
...
상태
온라인
소스 볼륨이 접근 가능하고 쓰기 테스트가 정상적으로 이루어지는 상태입니다.
오프라인
온라인, 장애 상황을 제외한 상황은 모두 오프라인 상태입니다.
장애
온라인 상태에서 쓰기 테스트가 실패하거나 또는 온라인 시도가 실패하면 장애 상태로 표시됩니다.
페일오버비활성상태
미러 네트워크 통신 장애, 타깃 노드 또는 타깃 디스크 이상 등의 장애가 발생하면 미러 상태는 MIRRORING이 아닌 다른 상태, 즉 MIRROR_PAUSED와 같은 상태가 됩니다. 미러 상태가 MIRRORING이 아닌 경우는 페일오버가 발생하게 되면 데이터 소실 또는 데이터 손상을 야기할 수 있습니다.
이를 방지하기 위해 에이전트는 미러 상태가 MIRRORING이 아닌 상태로 변경되면 페일오버 모드를 비활성화합니다. 페일오버 모드가 비활성화되면 수동 페일오버 및 장애가 발생해도 페일오버를 실행하지 않습니다.
미러 네트워크 통신 장애인 경우에 통신이 재개되면 자동으로 RESYNC를 수행하며, 미러 상태가 MIRRORING으로 변경되면 페일오버 모드 또한 자동으로 활성화됩니다.
속성
[그림] 미러 디스크 속성 화면
ArgList 인수 | 설명 | 데이터타입 | 필수여부 | ||
SourceIP | 메인 서버(소스 볼륨이 위치한 서버)의 미러 네트워크의 IP 주소입니다. | IP ADDRESS |
| ||
TargetIP | 보조 서버(타깃 볼륨이 위치한 서버)의 미러 네트워크의 IP 주소입니다. | IP ADDRESS |
| ||
DriveLetter | 미러 볼륨이 할당된 드라이버 문자입니다. | STRING | 필수 | ||
LastMirrorOnlineTime | 마지막으로 미러디스크가 온라인 된 시점의 시스템 시간을 기록합니다.
| DATE | |||
Chkdsk | True로 설정될 경우에 온라인시에 볼륨에 더티 비트가 설정되어 있으면 ChkdskArg 옵션으로 체크 디스크를 실행합니다. 체크디스크 실행 전에는 미러의 복제상태가 자동으로 중지가 되고, 완료 후에 자동으로 재동기화 됩니다. 기본값=false | STRING |
| ||
ChkdskArg | Chkdsk가 true일 때 체크 디스크 명령 옵션을 지정합니다. 기본값=/F | STRING |
| ||
MirrorRole | 미러 볼륨의 미러 역할입니다. | STRING |
| ||
MirrorState | 미러 볼륨의 미러 상태입니다. | STRING |
| ||
MirrorTimeout | 볼륨 페일오버, 스위치 등의 과정에서 미러 롤(Role) 또는 상태 업데이트에 대한 시간 제한 값입니다. 이 시간 내에 상태 또는 롤에 대한 갱신이 없을 경우는 타임아웃 에러가 발생합니다. 기본값=120(초) | INTEGER |
| ||
MirrorType | 미러 동기화 모드를 결정합니다. A 또는 S. A - 비동기모드. S - 동기모드 | STRING |
|
ArgList 인수들에 대한 속성값은 해당 리소스를 등록할 때에 입력된 값이며, '리소스 고유 속성'에서 값을 변경하거나 확인할 수 있습니다.
미러 디스크 속성에 대한 수정 가능한 값 및 설명은 "챕터 9. 속성 - 리소스 타입 속성값" 편을 참조해 주십시오.
미러 디스크 에이전트
미러 디스크를 관리하며, 복제 프로그램이 설치되어 있어야 합니다.
기능
Online
시작되는 노드 상에서의 미러 볼륨 역할에 따라 동작이 결정됩니다.
소스볼륨
볼륨에 대한 잠금 상태만 해제합니다. 잠금 해제는 복제프로그램의 'UNLOCKVOLUME'으로 이루어집니다.
타깃볼륨
미러 역할이 타깃인 노드에서 온라인 하려면 미러 상태가 Mirroring이 아닌 경우는 실패한 것으로 처리됩니다. 미러 볼륨이 완전히 동기화된 상태라면 미러 역할을 바꿀 수 있으며, 그 과정은 소스 노드(A) 상태에 따라 결정됩니다.
노드 A의 미러 드라이버에 연결이 되는 경우는 DELETEMIRROR 명령에 의해 기존 미러 볼륨 구성을 삭제한 후에 타깃을 소스로 소스를 타깃으로 변경해서 CREATEMIRROR 명령으로 역방향 미러 볼륨을 만듭니다. 이 때, 옵션은 0x1을 지정하여 전체 동기화를 하지 않습니다. 만일 노드 A의 미러 드라이버에 연결할 수 없는 경우는 DELETELOCALMIRRORONLY 명령으로 노드 B의 미러 구성만 삭제한 후, CREATEMIRROR 명령으로 역방향 미러 볼륨을 구성합니다. 이 때는 노드 A가 응답을 하지 않기 때문에 타깃 미러 볼륨이 만들어지기를 기다리지 않도록 0x2 옵션이 추가됩니다.
최종적으로 볼륨이 잠금 상태일 경우는 잠금을 해제합니다.
미러볼륨이 정의되지 않은 경우
아무런 동작 없이 실패로 처리됩니다.
Offline
미러 역할에 관계없이 LOCKVOLUME 명령으로 볼륨을 잠급니다. 미러 볼륨이 정의되지 않은 경우, LOCKVOLUME 명령은 무시되어 실패한 것으로 처리됩니다.
Monitor
모니터 과정 또한 미러 볼륨의 상태와 역할에 따라 결정됩니다. 복제프로그램 커널 드라이버는 미러 볼륨의 상태가 변경될 경우에 시스템 이벤트 로그에 이벤트를 기록합니다.
MCCS 이벤트 모니터는 MCCS 서비스를 시작할 때에 이벤트 수신자로 등록하고 시스템 이벤트가 발생하면 자동으로 통보를 받아 미러 볼륨의 상태와 역할 변경 여부를 감지합니다. 상태와 역할이 결정된 상태에서 디스크 쓰기 테스트를 통해 최종적인 리소스 상태를 결정합니다.
소스 볼륨
쓰기 테스트가 성공하면 온라인 상태인 것으로 간주합니다.
단, 소스 볼륨인 상태에서 처음으로 모니터링이 실행되는 경우는 LastSource 값을 검사합니다. 만일 LastSource에 등록된 값이 로컬 노드가 아니면 SPLIT-BRAIN을 검사합니다.
대기 노드의 미러 역할이 소스가 아니면 LastSource를 로컬 노드로 설정합니다. 만일 상대 노드의 역할이 소스 볼륨이면 SPLIT-BRAIN 상황으로 판단하고, 로컬 노드에서 PREPARETOBECOMETARGET 명령을 실행하여 로컬을 타깃으로 변경하고 동기화를 계속하도록 CONTINUEMIRROR 명령을 실행합니다.
...
|
[Figure] Mirroring Configuration
Replication Mode
Replication option employs both asynchronous and synchronous mirroring schemes. Understanding the advantages and disadvantages between synchronous and asynchronous mirroring is essential to the correct operation of this.
Async Mode
With asynchronous mirroring, each write is captured and a copy of this is made. That copy is queued to be transmitted to the target system as soon as the network will allow it. Meanwhile, the original write request is committed to the underlying storage device and control is immediately returned to the application that initiated the write. At any given time, there may be write transactions waiting in the queue to be sent to the target machine. But it is important to understand that these writes reach the target volume in time order, so the integrity of the data on the target volume is always a valid snapshot of the source volume at some point in time. Should the source system fail, it is possible that the target system did not receive all of the writes that were queued up, but the data that has made it to the target volume is valid and usable.
Sync Mode
With synchronous mirroring, each write is captured and transmitted to the target system to be written on the target volume at the same time that the write is committed to the underlying storage device on the source system. Once both the local and target writes are complete, the write request is acknowledged as complete and control is returned to the application that initiated the write. With synchronous mirroring, each write is intercepted and transmitted to the target system to be written on the target volume at the same time that the write is committed to the underlying storage device on the source system. Once both the local and target writes are complete, the write request is acknowledged as complete and control is returned to the application that initiated the write.
Adding
Add the mirror disk resource to a group.
- When add a resource from a group name, select a group → right click → 'Add Resource'. Or select Edit(E) from the main menu bar → select 'Add Resource'. Or select 'Add Resource' icon from the tool bar.
- Select 'MirrorDisk' from Resource Type lists and click 'Next' button. When add a resource from the mirror disk resource type name, this step will be skipped.
- Select the mirror disk and MCCS will renew the information.
If you skip enter resource name, this will given 'Mirror_value' which value is selected driver letter.(Ex: Mirror_G)
Warning The drive characters to be used as the mirror disk should be same on the both servers.
[Drive characters in the SAN environment (shared disk) are also displayed in the list. So, make sure you select the accurate drive characters.]
Data will be copied to the target node from the source node.
Be careful when you select the drive character where data exists.
If you try to add the existing mirror disk, <mirrored> will be added to the volume letter.
[Figure] Mirror Disk Resource Added As 'Additional Settings', Synchronized Mode and Check Disk option is available.
Info <Synchronized Mode>
Once selected, the synch mode cannot be reversed. So, be careful.
Sync mode : Response is slow but there is no data loss involved.
Async mode : Relatively faster than the synch mode but it can suffer from data loss.<Check Disk Option>
Set the check disk command option. For more details on the function, refer to MSDN.
[Figure] Defining mirror type and check disk option
- When click OK button, following popup message appear.
Confirm selected server as source.
If you select wrong sever, clock cancel button.
[Figure] Alert popup message after click OK button - Click the 'Finish' button to add the mirror disk resource.
You can immediately check the result in the management web console.
Deleting
Select resource type → right click → delete resource.
- Click "Delete resource" and a confirming message about deleting resource will appear.
[Figure] check resource view - Click "OK" and a confirming message about deleting redundancy program of mirror configuration will.
[Figure] Delete physical mirror disk view - Click "OK" and redundancy program is deleted. Click "Cancle" and only mirror disk is deleted.
The deleted resource will immediately disappear from the management web console.
Status
The following table explains the status switching of the MCCS resource caused by a user's command and the status.
The command assumes that it is generated by a user.
Mirror disk agent: Manages the mirror disk. Copying program should be installed.
Status | Agent command | Description | Note |
---|---|---|---|
Online In this status, you can access the source volume and perform a writing test properly. | Offline | Regardless of the mirror role, the LOCKVOLUME command is used to lock the volume. | |
Monitoring | The monitoring process is also determined by the mirror disk status and roles. <Source volume> <Target volume> | ||
Offline Except for the online and trouble states, it is always offline. | Online | Type of operation is determined by the role of the mirror disk at the start node. <Source volume> <Target volume> | |
Monitoring | Refer to the description of monitoring as above. | ||
Fault If a writing test failed online, or an attempt to go online is failed, the trouble state is displayed. *Failover deactivation state
| Online | Refer to the above online command. | |
Offline | Regardless of the mirror role, the LOCKVOLUME command is used to lock the volume. |
Attribute
Show the unique attribute of resource.
Attribute | Desctiption | Type | Default | Edit | Note |
AutoResolveSplitBrain | If it is set to 'true', it will automatically resolve the split brain issues. | BOOLEAN | true | O | |
ChkDsk | When the volume is mounted, according to the 'ChkdskArg', disk is tested for errors. | BOOLEAN | false | O | |
ChkdskArg | When the Chkdsk option is set to true, the check disk command option is activated. | STRING | /F | O | |
DirtyBit | It means that dirty bits are set to the target mirror disk. | BOOLEAN | false | X | |
DomainMemberServer | If the node to configure the mirror resource is a member server of the Windows domain, you must set it to "true". | BOOLEAN | false | O | |
DriveLetter | The mirror disk is assigned to the drive letter. | STRING | X | ||
MirrorIP | The IP address used by mirror disk. | STRING | X | ||
MirrorRole | The mirror role of the mirror disk. It is renewed from an event log. | STRING | X | ||
MirrorState | The mirror status of the mirror disk. | STRING | X | ||
MirrorTimeout | This is the time limit for mirror role or status updates in the process of volume failovers or switching. | INTEGER | 120 sec | O | |
MirrorType | Determine the mirror synchronization mode. Set it to A or S. ( A - async mode, S - sync mode) * If it is set to asynch mode, data loss can occur. | STRING | A | X | |
Password | It is the password for the designated user account. | PASSWORD | O | ||
ResyncNeed | It represents the total sum of the blocks requiring resynchronization. | INTEGER | 0 | X | |
ResyncTotal | It is the total sum of the resynchronization blocks. | INTEGER | 0 | X | |
TimeAquiredSourceRole | It is the time when the node's mirror roles are changed to the source. | STRING | X | ||
TotalSpace | It represents the total size of the target mirror disk. | INTEGER | X | ||
UsedSpace | It represents the available size of the target mirror disk. | INTEGER | X | ||
User | The user account to run the mirror related commands. | STRING | Administrator | O |
The attribute value is entered to register the resource, and you can change or check it in the 'Specified Attribute'.