Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section


Column

서비스에 필요한 데이터가 클러스터에 정의된 노드들 간에 공유될 수 없는 경우, 즉 NAS 또는 DAS로 공유되지 못하면 페일오버할 때에 동일한 데이터로 서비스할 수 없습니다.
이런 경우에 로컬에서만 접근이 가능한 데이터를 대기 서버로 복제하여 대기 서버에서 동일한 데이터를 갖도록 할 수 있습니다.
미러 디스크 DR은 1:2로 복제 기능을 하는 DRBD 미러 볼륨에 대한 에이전트입니다.
미러 디스크 DR 에이전트는 미러 볼륨의 상태와 역할에 따라 동작이 결정됩니다.
미러 디스크 DR 리소스 상태, 역할과 같은 동적인 정보는 모두 시스템 이벤트 로그에 기록되며, MCCS의 이벤트 로그 모니터 모듈에 의해 MCCS로 전달됩니다.
MCCS 이벤트 모듈은 MCCS 서비스가 시작될 때에 기동됩니다. DRBD는 다른 두 서버 간의 볼륨에 대해서 미러를 생성함으로써 동작을 하게 됩니다.
소스 볼륨(Source Volume)은 주 서버(Primary)에 위치하고, 타깃 볼륨(Target Volume)은 보조 서버(Secondary))와 DR 서버에 위치합니다. 
클라이언트는 소스 볼륨에서만 읽기/쓰기가 가능하고, 쓰여진 데이터들은 네트워크를 통해서 타깃 볼륨에 복제됩니다.
이 때, 타깃 볼륨은 읽기/쓰기가 모두 허용되지 않는 잠금 상태입니다. 이는 데이터 무결성을 보장하기 위해 타깃 볼륨을 사용하지 못하도록 하기 위함입니다.
다음 그림은 두 대의 서버에 Mirroring이 설정된 것을 나타냅니다.

 

Warning

미러 디스크 DR리소스는 미리 구성된 DRBD리소스를 등록만 가능합니다.




Column
width350px


Panel

이 페이지의 주요 내용

Table of Contents
maxLevel4



Drawio
baseUrlhttps://mantech.jira.com/wiki
diagramNameLinuxMDR.drawio
tempPreviewLinuxMDR.png
width500
zoom1
pageId345048063
custContentId2072347720
lbox1
contentVer1
height500
revision1

[그림] 미러링 구성도



데이터 동기화

미러링 방식은 동기 모드와 비동기 모드로 나뉘어지며, 이는 저장 요청에 대한 응답이 언제 발생하는지에 따라 결정됩니다.

비동기(Async) 모드

미러 볼륨에 대한 쓰기 요청 응답은 소스 볼륨에 대한 저장이 완료되는 즉시 이루어집니다.
타깃 볼륨으로 데이터가 전송되고 저장되기를 기다리지 않기 때문에 응답이 빠른 반면에 장애가 발생할 경우에는 그 시점에 전송되지 못한 데이터만큼의 데이터 불일치가 발생할 수도 있습니다.


준동기(Semi-sync) 모드


미러 볼륨에 대한 쓰기 작업 완료는 상대 노드로 복제 패킷이 전달되는 시점에 이루어집니다.
한 노드 장애시 데이터 손실은 없지만, 양쪽 서버가 동시에 장애 발생 시 데이터 손실이 발생할 수도 있습니다.


동기(Sync) 모드

디스크에 대해 쓰기 요청이 발생하면 데이터는 소스 볼륨에 쓰여지는 동시에 타깃 볼륨에도 쓰여집니다.
쓰기 요청에 대한 최종적인 성공 응답은 소스와 타깃에 대한 쓰기가 모두 성공한 후에 이루어집니다. 응답속도는 느리지만 소스와 타깃 간의 데이터는 언제나 동일합니다.



추가

미러 디스크 DR 리소스를 그룹에 추가합니다.

...

  1. 그룹 선택 -> 마우스 우 클릭 -> 리소스 추가를 선택합니다.
  2. 리소스  서비스를 선택하고 Next 버튼을 클릭합니다. 

  3. 미리 구성한 MDR 볼륨 선택하면 자동으로 정보가 입력됩니다.
    가상볼륨, 미러 네트워크 주소 그리고 미러 포트는 자동으로 입력됩니다.

    Info

    볼륨에 이미 DRBD 미러 볼륨이 구성되어 있는경우 "( mirrored )" 가 표시됩니다.
    또한, 선택시에는 구성정보를 자동입력하며, 변경 할 수 없습니다. 

    Image RemovedImage Added
    [그림] 미러 디스크 DR 추가 화면



  4. 완료 버튼을 클릭하면  미러 디스크 DR 리소스가 추가 됩니다.


삭제

해당 리소스 선택  -> 마우스 우 클릭 -> 리소스 삭제를 선택합니다.

  1. 리소스 삭제를 클릭하면 MCCS 에 구성된 미러디스크 리소스를 삭제할지 물어봅니다.

    [그림] 리소스 확인 화면

  2. “OK” 를 클릭하면 미러디스크 DR 리소스 삭제됩니다.

 

상태

다음 테이블은 상태와 사용자 명령에 의해 발생되는 MCCS 리소스의 상태 변화에 대한 설명입니다.

...

상태Agent 가능 명령설명비고

온라인

소스 볼륨이 접근 가능하고 쓰기 테스트가 정상적으로 이루어지는 상태입니다.

오프라인

미러 리소스의 역할이 온라인 상태인 경우, 미러 볼륨을 정의된 마운트 포인트에서 유마운트 후 DR노드와 미러링중인 볼륨을 Down 시킨 후
미러 볼륨 역할을 Secondary 로 내립니다.

미러 볼륨이 없을 경우, 명령은 무시되어 실패한 것으로 처리됩니다.


모니터링

MCCS 는 DRBD 데이터 복제 서비스의 이벤트를 지속적으로 핸들링합니다.
MCCS 이벤트 모니터는 MCCS 서비스를 시작할 때에 이벤트 수신자로 등록하고 시스템 이벤트가 발생하면 자동으로 통보를 받아 미러 볼륨의 상태와 역할 변경 여부를 감지합니다.
DR 미러 볼륨의 볼륨역할이 Primary 이고 지정된 마운트 포인트에 마운트 되어 있을 경우 온라인 상태로 판정합니다.
이외의 상황에는 오프라인 상태로 판정합니다.
또한 신규로 미러 볼륨을 등록 시, 해당 미러 볼륨이 아직 마운트 되어 있지 않은 Primary 상태일 때는 미러 역할을 Secondary로 변경합니다.


오프라인

온라인, 장애 상황을 제외한 상황은 모두 오프라인 상태입니다.

온라인

시작되는 노드 상에서의 미러 볼륨 역할에 따라 동작이 결정됩니다.

<소스볼륨>
복제되는 볼륨에 대한 복제 역할을 Primary로 설정한 후, DR노드와 복제하는 미러볼륨을 up 시킨 후 Primary로 설정 합니다
그리고 지정 마운트 포인트에 마운트 시킵니다.


<타깃볼륨>
미러 역할이 타깃인 노드에서 온라인하기 위해서는 다음의 상태를 만족해야 합니다.
1.양 노드의 미러 라인 상태가 Connected 상태.
2.양 노드의 디스크 상태가 UpToDate 상태.
3.상대편 노드의 미러 볼륨 역활이 Secondary 상태.

미러 볼륨이 정의되지 않은 경우 아무런 동작 없이 실패로 처리됩니다.


모니터링

위에 모니터링 명령 참조


장애

온라인 상태에서 쓰기 테스트가 실패하거나 온라인 시도가 실패하면 장애 상태로 표시됩니다.

*페일오버 비활성상태
미러 네트워크 통신 장애, 타깃 노드 또는 타깃 디스크 이상 등의 장애가 발생하면 미러 상태는 MIRRORING이 아닌 다른 상태, 즉 MIRROR_PAUSED와 같은 상태가 됩니다.
미러 상태가 MIRRORING이 아닌 경우 페일오버가 발생하게 되고 데이터 소실 또는 데이터 손상을 야기할 수 있습니다.
이를 방지하기 위해 에이전트는 미러 상태가 MIRRORING이 아닌 상태로 변경되면 페일오버 모드를 비활성화합니다.
페일오버 모드가 비활성화되면 수동 페일오버나 장애가 발생해도 페일오버를 실행하지 않습니다.
미러 네트워크 통신 장애인 경우에 통신이 재개되면 자동으로 RESYNC를 수행하며, 미러 상태가 MIRRORING으로 변경되면 페일오버 모드 또한 자동으로 활성화됩니다.


온라인

위에 온라인 명령 참조


오프라인

미러 리소스의 역할이 온라인 상태인 경우, 미러 볼륨을 정의된 마운트 포인트에서 유마운트 후 DR노드와 미러링중인 볼륨을 Down 시킨 후
미러 볼륨 역할을 Secondary 로 내립니다.

미러 볼륨이 없을 경우, 명령은 무시되어 실패한 것으로 처리됩니다.

.


*미러 볼륨이 정의되지 않은 경우경우 오프라인 상태로 판단합니다.


 

속성

리소스의 고유 속성을 표시 합니다.

속성

설명

타입기본값수정비고
ConnectState미러 볼륨의 노드간 접속 상태를 표시합니다.STRING
X

DRConnectState

DR노드의 미러 볼륨과 로컬의 미러 볼륨간의 접속 상태를 표시합니다.

STRING
X
DiskState미러 볼륨이 관리하는 디스크의 상태를 표시합니다.STRING
X
DRDiskStateDR노드로 미러링하는 미러볼륨의 디스크 상태를 표시합니다.STRING
X
DRMirrorIPDR노드의 볼륨을 복제 하기 위해 사용하는 IP입니다.STRING
X
DRMirrorPortDR노드로 DRBD 미러 볼륨 복제시 사용하는 통신 포트 번호입니다.STRING
X
DRRoleStateDR노드의 DRBD 볼륨에 대한 역할 상태를 표시합니다.STRING
X
DRTargetIPDR노드에서 사용하는 Mirror IP 입니다.STRING
X
DRVritualDeviceMDR이 데이터 복제시 사용하는 가상 장치 이름입니다.STRING
X
MDRVolumeNameDRBD 가 미러 볼륨을 관리하기 위해 부여한 이름을 표시합니다.STRING
X
DRSyncedDR노드로 볼륨이 동기화 중일 경우 동기화 진행율 표시합니다.INTEGER0X
GI미러 볼륨을 통해 복제되는 데이터의 최신 여부를 세대 별로 관리하기 위한 식별자입니다.STRING
X
GIStatus각 노드의 GI(Generation Identifier)를 비교한 상태 결과 값입니다.STRING
X
KillBusyApps미러 리소스가 오프라인 할 경우, 해당 미러 리소스를 참조하는 작업들의 강제 종료 여부를 결정합니다.BOOLEANtrueO
LastMirrorOnlineTime

마지막으로 미러 디스크가 온라인 된 시점의 시스템 시간을 기록합니다.

시스템의 시간을 기준으로 기록되므로 최신 데이터의 유무를 결정할 수 있는 절대값이 아닙니다.
STRING
X
LastPrimary

네트워크가 연결되기 전에 마지막 DRBD 볼륨 역할을 표기합니다.

True: 마지막 역할이 Primary 였음
False: 마지막 역할이 Secondary 였음

이 값은 스플릿브레인 발생 시에만 유효합니다.

BOOLEAN

XMetaDisk메타데이터가 저장되는 디스크입니다.STRING
X
MirrorIP볼륨을 복제하기 위해 사용하는 IP입니다.STRING
X
MirrorNetConnectStatus

물리적인 미러 네트워크의 연결 상태를 표시합니다.

True: 미러 네트워크 연결
False: 미러 네트워크 단절

(사용자의 명령에 의한 Disconnect는 이 속성에 영향을 주지 않습니다.) 

BOOLEANtrueX
MirrorPortDRBD 가 미러 볼륨 복제 시 사용하는 통신 포트 번호입니다.STRING7789X

RoleState

미러 볼륨이 관리하는 볼륨의 역할에 대해 표시합니다.

STRING
X
MirrorVolumeDRBD 가 실제로 사용하는 블록 장치 이름입니다.STRING
X
MountPoint파일 시스템이 마운트 될 디렉토리입니다. 해당 디렉토리가 없거나 이미 사용 중인 디렉토리이면 활성화할 수 없습니다.DIRECTORY
O
OOS

동기화가 필요한 OutOfSync 값을 의미합니다.

수치가 0이 아닐 경우 노드 간에 아직 복제 혹은 동기화 완료되지 않은 데이터가 존재하고 있음을 의미합니다.
그러므로 수치가 0일 경우 페일오버를 금지합니다. 

STRING0X
ProtocolType데이터 전송 프로토콜 타입입니다.
A = 비동기 모드
B = 반동기 모드
C = 동기 모드
STRINGBX
ResyncRate볼륨 간의 재동기 비율입니다초당 동기화되는 데이터량을 나타냅니다.INTEGER
X
RoleStateDRBD볼륨의 역할 상태를 표시합니다.STRING
X
SB0Policy클러스터 내의 모든 맴버가 secondary일 경우 자동으로 실행되는 스플릿브레인 복구 정책입니다.STRING
X
SB1Policy클러스터 내의 하나의 맴버가 primary일 경우 자동으로 실행되는 스플릿브레인 복구 정책입니다.STRING
X
SB2Policy클러스터 내의 모든 맴버가 secondary일 경우 자동으로 실행되는 스플릿브레인 복구 정책입니다.STRING
X

SplitBrainStatus

스플릿브레인 상태를 표시합니다.

True: 스플릿브레인이 발생했음
False: 스플릿브레인이 없음

이 속성은 네트워크 단절 상태와 GIStatus 속성이 다음과 같이 스플릿브레인이 발생했다는 상태 값을 갖을 때만 유효합니다.

SplitbrainDisconnect
SplitbrainTryAutoRecover

스플릿브레인이 해결되면 이 값은 false가 됩니다.

BOOLEANfalseX
Synced볼륨이 동기화 중일 경우 동기화 진행율 표시합니다.INTEGER0X
TotalSpace대상 미러 볼륨의 총 크기를 나타냅니다.INTEGER0X
UsedSpace대상 미러 볼륨의 사용 크기를 나타냅니다.INTEGER0X
VirtualDeviceDRBD 가 데이터 복제 시 사용하는 가상 장치 이름입니다.STRING
X

속성 값은 해당 리소스를 등록할 때에 입력된 값이며, '리소스 고유 속성'에서 값을 변경하거나 확인할 수 있습니다.


Info

MCCS는 사용자의 입력필드에 대한 입력값 제한 기능이 존재하며, 사용자가 잘못 입력한 데이터에 대해 자동 점검기능을 제공합니다.