7-10 공유디스크 DR 리소스

공유 디스크 DR 리소스는 공유 볼륨과 원격지 서버 사이의 데이터복제를 관리합니다.
공유 디스크 DR 리소스는 공유 볼륨을 관리하는 3개의 서버로 구성되어지며 MCCS는 공유 볼륨을 구성하는 서버에서 동작합니다.
즉, 원격지 서버에는 MCCS가 동작하지 않습니다. 원격지 서버의 동작에 대해서는 MCCS가 관여하지 않으므로 관리자에 의한 수동 조작이나 사전에 처리 조치의 등록이 필요합니다.

소스 볼륨(Source Volume)은 클러스터(Primary)에 위치하고, 타깃 볼륨(Target Volume)은 원격지 서버(Secondary)에 위치합니다.
데이터의 복제는 소스 볼륨(Source Volume)을 가진 서버에서 타겟 볼륨(Target Volume)을 가진 원격지 서버로 네트워크를 통해 이루어집니다.

클라이언트는 소스 볼륨에서만 읽기/쓰기가 가능하고, 쓰여진 데이터들은 네트워크를 통해서 타깃 볼륨에 복제됩니다.
공유 디스크는 복수 개의 노드(혹은 서버)에서 쓰기 접근을 시도하면 데이터가 손상됩니다.
따라서 이런 상황을 제어하기 위해 운영 노드에서만 파일 시스템을 마운트(Mount)하고 대기 노드에서는 쓰기 접근을 할 수 없도록 언마운트(Unmount) 합니다.
또한, 타깃 볼륨은 읽기/쓰기가 모두 허용되지 않는 잠금 상태입니다. 이는 데이터 무결성을 보장하기 위해 타깃 볼륨을 사용하지 못하도록 하기 위함입니다.

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

이 페이지의 주요 내용

[그림] 미러링 구성도


데이터 동기화

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

비동기(Async) 모드

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

준동기(Semi-sync) 모드

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

동기(Sync) 모드

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


추가

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

DRBD 8.3 또는 8.4 버전이 사전에 설치 되어 있어야 합니다.
미러디스크로 생성할 디스크는 파일 시스템의 크기는 전체 파티션 크기에서 128MB 를 뺀 크기로 생성해야 합니다.
상기 128M 의 공간에는 복제 볼륨 서비스가 관리하는 메타데이터가 저장되기 위한 공간입니다.
미러 볼륨의 사이즈에 따라 메타데이터의 저장공간 사이즈는 변동됩니다.
자세한 사이즈 계산 법은 다음 사이트를 참조하십시오. (DRBD 메타데이타 사이즈 계산법)
DRBD와 LVM을 같이 사용할 경우 DRBD ON LVM만 지��하며 LVM ON DRBD는 지원하지 않습니다.

미러링은 Virtual IP를 통해서 진행되기 때문에 DRBD 리소스에 클러스터 측 네트워크 주소가 네트워크 주소 리소스로 MCCS에 사전에 등록되어 있어야 합니다.

  1. 그룹 선택 -> 마우스 우 클릭 -> 리소스 추가를 선택합니다.

  2. 리소스 위자드에서 공유 디스크 DR을 선택하고 Next 버튼을 클릭합니다. 

  3. 리소스 위자드의 공유 볼륨셋에서는 미리 구성된 미러 리소스가 표시되며 리소스 선택시 구성파일에 있는 정보들이 표시 됩니다.


    [그림] 공유 디스크 DR 리소스 추가 화면

  4. 추가 설정을 클릭하여 killBusyApps��션과 디스크 검사 옵션을 정의 합니다.

    <killBusyApps옵션>
    공유디스크 DR리소스가 오프라인 할 경우, 해당 미러 리소스를 참조하는 작업들의 강제 종료 여부를 결정합니다.

    <디스크 검사 옵션>
    공유디스크 DR리소스가 온라인 할 경우, 볼륨에 대한 fsck 를 수행여부를 결정합니다. 

    <FsckOpt>
    fsck가 수행될 때 사용하는 옵션을 입력합니다.

    [그림] 공유 디스크 DR  추가설정 화면


  5. 완료 버튼을 클릭하면 공유디스크 DR 리소스가 추가 됩니다.
    그리고, 네트워크 주소 리소스가 자식 리소스로 공유 디스크 DR리소스와 의존성이 맺어집니다.
    (
    의존성에 대한 상세한 내용은 "5.3 의존성 관리"  편을 참조해 주십시오.) 


삭제

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

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


2. “OK”를 클릭하면 모두 삭제 됩니다.



상태

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

공유 디스크 DR에이전트: 미러 디스크를 관리하며, 복제 프로그램이 설치되어 있어야 합니다. 

상태Agent 가능 명령설명비고

온라인

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

오프라인

미러 리소스의 역할이 온라인 상태인 경우, 미러 볼륨을 정의된 마운트 포인트에서 유마운트 후 미러 볼륨 역할을 Secondary 로 내리고 DRBD 리소스를 down 합니다.
미러 볼륨이 없을 경우, 명령은 무시되어 실패한 것으로 처리됩니다.


모니터링

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


오프라인

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

온라인

온라인명령을 수행 할 때는 다음과 같은 절차로 진행합니다.

  1. DRBD리소스에 Up명령을 실행합니다.
  2. 복제되는 볼륨에 대한 복제 역할을 Primary로 설정한 후, 지정 마운트 포인트에 마운트 시킵니다.

이를 위해선 원격지 노드의 미러 볼륨 역할이 Secondary 상태를 만족해야합니다.

 미러 볼륨이 없을 경우, 아무런 동작 없이 실패로 처리됩니다.


모니터링

위에 모니터링 명령 참조


장애

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

미러 네트워크 통신 장애, 타깃 노드 또는 타깃 디스크 이상 등의 장애가 발생하면 미러 상태는 MIRRORING이 아닌 다른 상태, 즉 MIRROR_PAUSED와 같은 상태가 됩니다.
미러 상태가 MIRRORING이 아닌 경우 공유 디스크 DR 리소스 공유디스크 리소스로써의 역할을 수행합니다.
미러 네트워크 통신 장애인 경우에 통신이 재개되면 자동으로 RESYNC를 수행하여 원격지와 데이터를 동기화 합니다.

온라인

위에 온라인 명령 참조


오프라인

미러 리소스의 역할이 온라인 상태인 경우, 미러 볼륨을 정의된 마운트 포인트에서 유마운트 후 미러 볼륨 역할을 Secondary 로 내립니다.
그리고 DRBD 리소스를 down 합니다. 
미러 볼륨이 없을 경우, 명령은 무시되어 실패한 것으로 처리됩니다.


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


속성

공유디스크 DR 리소스의 고유 속성을 표시 합니다.     

속성

설명

타입기본값수정비고
ChkDskTimeout미러디스크 리소스가 디스크 검사를 완료하거나 중단되는 최종판단이 내려질 때까지 걸리는 최대 시간을 나타냅니다. 만약 '0'이라면 디스크 검사가 완료될때까지 기다립니다.INTEGER0O

DRConnectState

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

STRING
X
DiskState미러 볼륨이 관리하는 디스크의 상태를 표시합니다.STRING
X
DoFsck

MCCS에서 미러 리소스를 온라인 하기 전에, 해당 리소스가 관리하는 미러 볼륨의 파일시스템 체크 여부를 표시합니다.
( 기본값=false )

BOOLEANfalseO
DRBDResNameDRBD 가 미러 볼륨을 관리하기 위해 부여한 이름을 표시합니다.STRING
X
DRDiskState

원격지 미러 볼륨의 디스크의 상태를 표시합니다.

STRING
X
DRRole원격지 미러 볼륨의 역할에 대해 표시합니다.STRING
X
DRTargetIP원격지의 볼륨을 복제하기 위해 사용하는 IP입니다.STRING
X
DRVirtualDevice원격지의 DRBD 가 데이터 복제 시 사용하는 가상 장치 이름입니다.STRING
X
DRVolume원격지의 DRBD 가 실제로 사용하는 블록 장치 이름입니다.STRING
X
FsckOpt

미러 볼륨의 파일시스템을 체크할 경우, 이 속성에 입력된 옵션을 피라미터로 사용하여 실행합니다.
( 기본값= -y )

STRING-yO
GI미러 볼륨을 통해 복제되는 데이터의 최신 여부를 세대 별로 관리하기 위한 식별자입니다.STRING
X
Hostname호스트 이름을 나타냅니다.STRING
X
KillBusyApps미러 리소스가 오프라인 할 경우, 해당 미러 리소스를 참조하는 작업들의 강제 종료 여부를 결정합니다.BOOLEANtrueO
MetaDataType메타데이터를 저장하는 방식입니다.
internal 은 복제 볼륨과 동일한 파티션에 메타데이터를 저장합니다.
external 은 지정된 장치에 메타데이터를 저장합니다.
STRING
X
MetaDisk타데이터가 저장되는 디스크입니다.STRING
X
MirrorPortDRBD 가 미러 볼륨 복제 시 사용하는 통신 포트 번호입니다.STRING
X
MountPoint파일 시스템이 마운트 될 디렉토리입니다. 해당 디렉토리가 없거나 이미 사용 중인 디렉토리이면 활성화할 수 없습니다.DIRECTORY
O
OOS

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

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

STRING0X
ProtocolType데이터 전송 프로토콜 타입입니다.
A = 비동기 모드
B = 반동기 모드
C = 동기 모드
STRING
X
RoleDRBD볼륨의 역할 상태를 표시합니다.STRING
X
SharedSrcIp볼륨을 복제하기 위해 사용하는 Virtual IP입니다.STRING
X
SharedVolumeDRBD가 실제로 사용하는 블록 장치 이름입니다.STRING
X
Synced볼륨이 동기화 중일 경우 동기화 진행율을 표시합니다.INTEGER
X
TotalSpace대상 미러 볼륨의 총 크기를 나타냅니다.INTEGER0X
UsedSpace대상 미러 볼륨의 사용 크기를 나타냅니다.INTEGER0X
VirtualDeviceDRBD 가 데이터 복제 시 사용하는 가상 장치 이름입니다.STRING
X

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

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