리소스 그룹은 장애가 발생했을 때 페일오버 되는 리소스들의 집합을 말합니다.
MCCS는 노드 간의 페일오버를 그룹 단위로 수행합니다. 따라서 페일오버가 되는 단위로 리소스들을 묶어 그룹으로 만들어야 합니다.
또한 하나의 클러스터에는 여러 개의 그룹을 생성할 수 있습니다.
이 페이지의 주요 내용
리소스 그룹 속성
그룹 속성은 그룹의 상태 뷰와 속성 뷰에서 파악할 수 있습니다.
MCCS 웹 콘솔의 그룹 관리 뷰에서 그룹 선택 후, 오른쪽의 '그룹 속성값' 탭에서 상세 정보를 볼 수 있습니다.
회색으로 표기된 값은 읽기 전용입니다. 이 값들은 그룹 상태를 나타내기 위한 정보입니다.
흰색으로 표기된 값은 사용자에 의해 정의된 수정 가능한 값입니다.
[그림] 그룹 속성 화면
속성 | 설명 | 타입 | 기본값 | 수정 | 비고 |
---|---|---|---|---|---|
ActionState | 현재 진행 중인 그룹의 액션 상태를 나타냅니다. | STRING | X | ||
AutoFailover | 그룹 내에서 장애가 발생하였을 때 자동으로 페일오버 할 것인지를 결정합니다. | BOOLEAN | true | O | |
AutoFaultClearTIme | 장애 발생 후에 페일오버가 되고 이 속성의 시간 값만큼 정상 온라인을 유지하면 그룹의 모든 장애 상태를 제거합니다. | INTEGER | 0초 | O | |
AutoRestart | 그룹이 감지 전용 리소스의 장애로 인해 시작되지 못한 경우, 그 리소스가 정상화되거나 노드 상태가 정상 상태로 변경되면 자동으로 다시 시작할지를 결정합니다. AutoStart가 true로 설정되어야만 동작합니다. | BOOLEAN | false | O | |
*AutoStart | 엔진이 시작되면 그룹을 자동으로 시작하는지를 알려줍니다. | BOOLEAN | true | O | |
AutoStartNode | 엔진이 시작 되고, 원격 노드가 정상 연결 되지 않은 상태에서 그룹을 온라인 할수 있는 노드를 지정합니다. | STRING | NONE | O | |
BatchAfterOnline | 그룹을 온라인 한 후에 실행할 배치 파일을 설정합니다. | FILE | O | ||
BatchBeforeOffline | 그룹을 오프라인 하기 이전에 실행할 배치 파일을 설정합니다. | FILE | O | ||
BatchTimeout | 배치 파일의 실행 완료 제한 시간을 지정합니다. | INTEGER | 300초 | O | |
*Failover | 장애로 인한 페일오버가 진행 중인지 나타냅니다. | BOOLEAN | false | X | |
GroupName | 등록한 그룹 이름을 나타냅니다. | NAME | X | ||
Locked | 영구잠금, 그룹을 잠금상태로 만들어 모든 동작과 명령을 제한합니다. | BOOLEAN | false | X | |
MaxDependencyLevel | 그룹 내에서 리소스 간의 의존 관계를 설정할 수 있는 상하의 최대 단계를 지정합니다. | INTEGER | 20단계 | X | |
Monitored | 활성화된 모든 리소스에 대한 감시가 완료되었는지를 나타냅니다. | BOOLEAN | X | ||
OnlineCount | 그룹 내에서 온라인 상태인 리소스의 개수입니다. | INTEGER | X | ||
Parallel | 그룹 병렬 속성입니다. 그룹에 속한 리소스가 하나 이상의 노드에서 동시에 시작될 수 있는지를 나타냅니다. 이 값은 변경할 수 없으며, 최초 그룹을 생성할 때에 한 번만 설정할 수 있습니다. | BOOLEAN | false | X | |
PreActive | 이전에 그룹이 실행되었던 노드 이름을 알려줍니다. | STRING | X | ||
State | 노드의 그룹 상태(온라인, 오프라인, 장애, 미확인 등)를 알려주는 속성입니다. | STRING | X | ||
TargetNodeList | 그룹의 운영 대상이 되는 노드 목록입니다. | STRING | X | ||
TLocked | '임시 잠금' 상태를 알려주는 속성입니다. | BOOLEAN | false | X |
MCCS 는 사용자의 입력필드에 대한 입력값 제한 기능이 존재하며, 사용자가 잘못 입력한 데이터에 대해 자동 점검기능을 제공합니다.
*AutoStart (true/false)
시스템 부팅 단계에서 새롭게 클러스터 연결을 시작할 때 그룹을 자동으로 시작할 것인지를 결정합니다.
(MCCS 서비스를 다시 시작하는 경우이거나 한 노드만 재시작하여 이미 운영중인 MCCS에 연결하는 경우에는 무시됩니다.)
병렬 그룹인 경우는 로컬 노드에서 오프라인 상태이거나 일부 온라인 상태이면 자동으로 시작합니다.
페일오버 그룹은 타깃 노드에서 우선 순위가 가장 높은 노드부터 자동으로 시작합니다. 잠금이나 장애가 발생한 경우에는 그룹이 시작되지 않습니다.
리소스에 따른 그룹 자동 시작 옵션
필수 조건 | DRBD가 있을 경우 | DRBD가 없을 경우 |
---|---|---|
AutoStart 가 true 로 설정되어 있어야 합니다. | 1.모든 원격 노드가 FAULTED 상태가 아니어야 합니다. | 1.양 노드가 부팅 될 경우는 먼저 부팅한 노드로 자동 시작됩니다. |
*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 | 그룹에 내릴 명령을 지정합니다. |
group | 작업의 대상이 되는 그룹을 지정합니다. |
-a | [list] 명령일 경우 속성값을 나열할 속성을 지정합니다. |
-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]] |
link
리소스 간의 의존 관계를 생성합니다.
resource1을 부모로 resource2를 자식으로 의존 관계를 생성합니다.
|
unlink
리소스 의존 관계를 삭제합니다.
|
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)] |