5- 리소스 그룹

리소스 그룹은 장애가 발생했을 때 페일오버 되는 리소스들의 집합을 말합니다.
MCCS는 노드 간의 페일오버를 그룹 단위로 수행합니다. 따라서 페일오버가 되는 단위로 리소스들을 묶어 그룹으로 만들어야 합니다.
또한 하나의 클러스터에는 여러 개의 그룹을 생성��� 수 있습니다.


이 페이지의 주요 내용

리소스 그룹 속성

그룹 속성은 그룹의 상태 뷰와 속성 뷰에서 파악할 수 있습니다.
MCCS 웹 콘솔의 그룹 관리 뷰에서 그룹 선택 후, 오른쪽의 '그룹 속성값' 탭에서 상세 정보를 볼 수 있습니다.
회색으로 표기된 값은 읽기 전용입니다. 이 값들은 그룹 상태를 나타내기 위한 정보입니다.
흰색으로 표기된 값은 사용자에 의해 정의된 수정 가능한 값입니다.  

[그림] 그룹 속성 화면


속성설명타입기본값수정비고
ActionState

현재 진행 중인 그룹의 액션 상태를 나타냅니다.
리소스 온라인 중 : STARTING
리소스 오프라인 중: STOPPING
온라인/ 오프라인 완료 상태: WATCHING

STRING
X


AutoFailover그룹 내에서 장애가 발생하였을 때 자동으로 페일오버 할 것인지를 결정합니다.BOOLEANtrueO
AutoFaultClearTIme

장애 발생 후에 페일오버가 되고 이 속성의 시간 값만큼 정상 온라인을 유지하면 그룹의 모든 장애 상태를 제거합니다.
'0'인 경우는 장애를 제거하지 않은 상태를 말합니다.

INTEGER0초O
AutoRestart

 그룹이 감지 전용 리소스의 장애로 인해 시작되지 못한 경우, 그 리소스가 정상화되거나 노드 상태가 정상 상태로 변경되면 자동으로 다시 시작할지를 결정합니다. AutoStart가 true로 설정되어야만 동작합니다.

BOOLEANfalseO
AutoRestartTimeoutAutoRestart에 의해 자동으로 시작할 때, 그룹 상태를 확인할 때까지 대기하는 시간입니다.INTEGER30초O
*AutoStart엔진이 시작되면 그룹을 자동으로 시작하는지를 알려줍니다.BOOLEANtrueO
AutoStartNode엔진이 시작 되고, 원격 노드가 정상 연결 되지 않은 상태에서 그룹을 온라인 할수 있는 노드를 지정합니다.STRINGNONEO
BatchAfterOnline

그룹을 온라인 한 후에 실행할 배치 파일을 설정합니다.
배치 파일의 성공, 실패 여부가 그룹의 진행상황에 영향을 주지는 않습니다.

FILE
O
BatchBeforeOffline

그룹을 오프라인 하기 이전에 실행할 배치 파일을 설정합니다.
배치 파일의 성공, 실패 여부가 그룹의 진행상황에 영향을 주지는 않습니다.

FILE
O
BatchTimeout배치 파일의 실행 완료 제한 시간을 지정합니다.INTEGER300초O
*Failover

장애로 인한 페일오버가 진행 중인지 나타냅니다.

BOOLEANfalseX
GroupName등록한 그룹 이름을 나타냅니다.NAME
X
Locked

영구잠금, 그룹을 잠금상태로 만들어 모든 동작과 명령을 제한합니다.
영구잠금은 임시잠금과 다르게 서버 리부팅 후에도 잠금상태를 유지합니다.

BOOLEANfalseX
LockedTimeout임시잠금 시 제한 시간입니다. 제한시간 이후에 상태를 해제합니다.INTEGER6시간O
MaxDependencyLevel그룹 내에서 리소스 간의 의존 관계를 설정할 수 있는 상하의 최대 단계를 지정합니다.INTEGER20단계X
OnlineCount

 그룹 내에서 온라인 상태인 리소스의 개수입니다.
'0'이면 그룹이 종료 상태인 것으로 판단합니다.
모니터링 전용 리소스(네트워크 카드)는 개수에 포함되지 않습니다.

INTEGER
X
Parallel

 그룹 병렬 속성입니다. 그룹에 속한 리소스가 하나 이상의 노드에서 동시에 시작될 수 있는지를 나타냅니다. 이 값은 변경할 수 없으며, 최초 그룹을 생성할 때에 한 번만 설정할 수 있습니다.

BOOLEANfalseX
PreActive이전에 그룹이 실행되었던 노드 이름을 알려줍니다.STRING
X
State노드의 그룹 상태(온라인, 오프라인, 장애, 미확인 등)를 알려주는 속성입니다.STRING
X
TargetNodeList

그룹의 운영 대상이 되는 노드 목록입니다.
열거 된 순서대로 우선 순위가 높으며 이는 페일오버할 때에 대상 노드를 선택하는 판단 기준이 됩니다.

STRING
X
TLocked

'임시 잠금' 상태를 알려주는 속성입니다.
Locked 값과 동작하는 것은 같지만 엔진이 재시작되면 해제되는 임시 기능입니다.

BOOLEANfalseX


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



*AutoStart (true/false)

시스템 부팅 단계에서 새롭게 클러스터 연결을 시작할 때 그룹을 자동으로 시작할 것인지를 결정합니다.
(MCCS 서비스를 다시 시작하는 경우이거나 한 노드만 재시작하여 이미 운영중인 MCCS에 연결하는 경우에는 무시됩니다.)
병렬 그룹인 경우는 로컬 노드에서 오프라인 상태이거나 일부 온라인 상태이면 자동으로 시작합니다.
페일오버 그룹은 타깃 노드에서 우선 순위가 가장 높은 노드부터 자동으로 시작합니다. 잠금이나 장애가 발생한 경우에는 그룹이 시작되지 않습니다.


리소스에 따른 그룹 자동 시작 옵션

필수 조건DRBD가 있을 경우DRBD가 없을 경우

AutoStart 가 true 로 설정되어 있어야 합니다.

1.모든 원격 노드가 FAULTED 상태가 아니어야 합니다.
2.모든 노드의 DRBD 롤이 Secondary이어야 합니다.
3.미러 디스크의 연결 상태가 한 노드에서는 SyncSource, 다른 노드에서는 SyncTarget 이어야 합니다. SyncSource 상태의 노드를 소스 노드로 결정합니다.
4.두 노드 모두 Connected 상태에서 가장 최근에 온라인된 노드를 온라인 시킵니다.
5.그룹 내에 여러 개의 미러 디스크 리소스가 있다면, 리소스들은 모두 한 노드에 대해 소스 노드이어야 온라인이 가능합니다.

1.양 노드가 부팅 될 경우는 먼저 부팅한 노드로 자동 시작됩니다.
2.부트 모드이어야 합니다.
3.그룹의 노드의 상태가 온라인 상태가 아니어야 합니다.


*Failover (true/false)

장애로 인한 페일오버가 진행 중인지를 나타냅니다.
true로 설정된 상태에서 다음과 같은 경우가 발생하면 false로 재설정됩니다.

  • 잠금 명령에 의해 Locked/TLocked 속성이 true로 설정되었을 때
  • 초기화 명령(Flush)이 전달되었을 때
  • 그룹이 온라인 상태가 되었을 때


그룹상태

그룹 상태는 해당 리소스들의 상태에 따라 결정됩니다.
하지만 모니터링 전용 리소스들은 그룹 상태에 영향을 미치지 않습니다.
왜냐하면 모니터링 전용 리소스의 그룹을 어떤 노드에서 시작하든지 온라인 상태여야 하기 때문입니다.
그룹 상태는 기본적으로 다음과 같습니다.

[그림] 그룹 상태 화면

온라인

모든 리소스들이 온라인 되어 있는 상태입니다.

오프라인

모든 리소스들이 오프라인 되어 있는 상태입니다.
화면상에서는 회색 톤의 비활성화 된 아이콘으로 표시됩니다.
모니터링 전용 리소스는 활성화된 상태로 나타나지만 그룹의 오프라인 상태와는 무관합니다. (네트워크 어댑터 같은 경우)

일부 동작

일부 리소스들이 온라인 되어 있는 상태를 말하며 녹색으로 체크 표시 되어 나타납니다.
모니터링 전용 리소스는 상태 결정에서 제외되기 때문에 일부 동작 상태에 영향을 미치지 않습니다.

장애

그룹 내에서 한 개의 리소스라도 장애가 발생되었으면 그 그룹은 장애 상태로 간주되며 붉은 색으로 체크 표시되어 나타납니다.
그러나, 장애 상태는 현재 장애가 발생 중이라는 것을 의미하지는 않습니다. 장애가 발생했었다는 사실을 알려줄 뿐이며 관리자의 분석 및 처리를 기다리는 상태를 의미합니다.
관리자가 장애 상태를 직접 해제하거나 AutoFaultClearTime 같은 속성 값으로 인해 해제되지 않는 이상 장애 상태는 계속 남아 있습니다.


 

CLI 사용(mcgroup 명령)

그룹에 관한 명령을 전달합니다. 그룹에 대해 추가, 삭제, 온라인, 오프라인, 속성 편집 등의 명령을 내릴 수 있습니다.

MCCS는 설치 시 최초 사용자 계정으로 ID는 'admin' 비밀번호는 'password'인 계정이 생성됩니다.
CLI 명령을 실행 시 ID 와 비밀번호를 입력하지 않으면, 위의 최초 사용자 계정의 ID와 비밀번호로 실행됩니다.
따라서 최초 사용자의 비밀번호 변경 시, 필수적으로 CLI 명령에 ID와 비밀번호를 옵션으로 입력해야 합니다.


Syntax


mcgroup [-u userid -pw password] [-ip node_ip_address] [-p port] -command [ group ] [-a attribute] [-r resource] [-n node]

Options

옵션설명

-h

도움말을 출력합니다.

-u사용자 ID를 지정합니다.
-pw사용자 비밀번호를 지정합니다.
-ip명령을 실행하기 위해 접근할 IP를 지정합니다.
생략 시 로컬 노드에 대해서 명령을 실행하기 위해 접근합니다.
-p명령을 실행하기 위해 접근할 포트를 지정합니다.
생략 시 기본 포트로 접근하며, 핫빗 포트가 변경이 되면 명령 실행 시 포트를 지정해 주어야 합니다.

-groupcommand

그룹에 내릴 명령을 지정합니다.
(add, delete, online, offline, move, clear, flush, modify, list, lock, unlock, state, monitor)

group

작업의 대상이 되는 그룹을 지정합니다.

-a

[list] 명령일 경우 속성값을 나열할 속성을 지정합니다.
[modify] 명령일 경우 변경할 속성과 속성값을 지정합니다.
[attribute] 그룹의 속성을 지정합니다.
[attribute_value] 변경할 속성 값을 지정합니다.

-r

작업 할 리소스를 지정합니다.

-n

작업 할 노드명을 지정합니다.

-t시간주기를 지정합니다.
-dep그룹이나 리소스의 의존성을 표시합니다.


Example

add

그룹 testGroup을 생성합니다.


mcgroup -add testGroup

delete

그룹 testGroup을 삭제합니다.


mcgroup -delete testGroup

online

testNode에서 testGroup을 온라인 시킵니다.


mcgroup -online testGroup [-n testNode]

offline

testNode에서 testGroup을 오프라인 시킵니다.


mcgroup -offline testGroup [-n testNode]

move

testNode로 testGroup을 페일오버 시킵니다.


mcgroup -move testGroup [-n testNode]

clear

testNode에서 testGroup의 장애 표시를 제거합니다.


mcgroup -clear testGroup [-n testNode]

flush

testNode의 testGroup을 초기화 시킵니다.


mcgroup -flush testGroup -n testNode

modify

testNode의 testGroup 속성을 수정합니다.


mcgroup -modify test -a attribute attribute_value -n testNode

testNode의 testGroup 속성인 AutoStart를 true로 변경합니다.


mcgroup -modify testGroup -a AutoStart true -n testNode

list

그룹 상태를 출력합니다.


mcgroup -list [group [-all] | [-dep [-r resource]] | [-a attribute] [-n testNode]]

그룹의 모든 속성값을 출력합니다.


mcgroup [-ip node_ipaddress] [-p port] -list [group [ -all]]

그룹에 속한 리소스의 의존성을 보여줍니다.


mcgroup [-ip node_ipaddress] [-p port] -list [-dep [-r resource]]

그룹의 속성값을 확인합니다.


mcgroup [-ip node_ipaddress] [-p port] -list [-a attribute] [-n testNode]]

리소스 간의 의존 관계를 생성합니다.

resource1을 부모로 resource2를 자식으로 의존 관계를 생성합니다. 


mcgroup -u admin -pw password -link resource1 resource2 [onlineDependency offlineDependency]

리소스 의존 관계를 삭제합니다. 


mcgroup -u admin -pw password -unlink resource1 resource2

lock

testGroup을 임시 잠금 상태로 합니다.


mcgroup -lock testGroup

testGroup을 영구 잠금 상태로 합니다.


mcgroup -lock testGroup -p

unlock

testGroup의 잠금 상태를 해제합니다.


mcgroup -unlock testGroup

state

test Node의 testGroup 상태를 출력합니다.


mcgroup -state testGroup [-n testNode]

monitor

testGroup 상태를 interval 간격으로 모니터링 합니다.


mcgroup -monitor testGroup [-t interval(seconds)]