...
리소스란 하드웨어 또는 소프트웨어적으로 서비스 운영에 필요한 자원 요소를 말하며 네트워크 인터페이스 카드(Network Interface Card), IP 주소(IP Address), 프로세스(Process), 서비스(Service), 스토리지(Storage) 등을 말합니다.
MCCS에서는 리소스를 고가용성 운영 관리의 최소 단위로 다룹니다.
...
리소스 속성 화면의 속성값에서 수정이 불가능한 값은 회색 바탕으로 나타납니다.
[그림] 리소스 속성 화면
일반적인 속성은 다음과 같습니다.
AgentState
리소스 에이전트는 각 노드에서 해당 리소스의 상태가 어떤 상태인지 표시합니다.
사용자가 임의로 수정할 수 없으며, MCCS엔진에서 모든 노드의 에이전트 상태를 수집한 후에 나타냅니다.
BatchAfterOffline / BatchAfterOnline / BatchBeforeOnline / BatchBeforeOffline
리소스가 종료된 후 혹은 실행되기 전에 추가적으로 실행할 것들을 등록할 수 있는 속성입니다.
배치 스크립트(batch script)를 생성한 후에 그 경로명을 입력하면 적용됩니다.
예를 들면 복수개의 자식 프로세스(child processes)들을 생성하는 응용프로그램을 오프라인 명령으로 종료시켰지만, 자식 프로세스들이 정상적으로 종료되지 않고 남아 있을 가능성이 있다면, 강제로 모두 종료 시킬 수 있는 스크립트 파일을 생성하여 이곳에 적용시켜 활용할 수 있습니다.
이런 배치 스크립트는 엔지니어 혹은 관리자가 적절히 작성하여야 할 사항이며 MCCS에서 기본적으로 제공되지는 않습니다. 이곳에서 실행된 스크립트는 MCCS 그룹이나 리소스 상태 변화에 영향을 주지는 않습니다. 그룹 온라인 중에 해당 리소스에 등록된 배치 스크립트가 실패하더라도 그룹의 온라인은 계속 진행하게 됩니다.
BatchTimeout
추가로 설정한 스크립트를 수행할 때에 스크립트의 실행 시간을 제한합니다.
스크립트 실행 중에 돌발 상황으로 인하여 교착 상태나 또는 중지 상태에 빠져버리면 다른 리소스들을 제어할 수 없는 경우가 발생할 수 있는데 이런 상황을 방지합니다.
타임아웃이 발생하여 스크립트 실행이 실패하면 더 이상 진행하지 않고 관리자의 조치를 기다립니다.
CleanProgram
리소스에 장애가 발생하여 다른 노드로 페일오버 하기 전에, 이 속성에 정의된 프로그램 혹은 스크립트를 실행시켜서 리소스의 완전한 종료처리가 가능하도록 설정할 수 있는 속성입니다.
페일오버 시점에서 추가적인 소멸 처리가 필요할 때에 사용할 수 있습니다.
속성 | 설명 | 타입 | 기본값 | 수정 | 비고 | |
---|---|---|---|---|---|---|
중요속성 | *Critical | 리소스 장애가 발생한 경우, 그룹 전체를 페일오버할 것인지를 나타냅니다. | BOOLEAN | X | ||
*Enabled | 리소스의 사용여부를 결정하는데 사용합니다. | BOOLEAN | X | |||
리소스일반속성 | *AgentState | 리소스의 에이전트 상태를 나타냅니다. | STRING | X | ||
BatchAfterOffline | 이 리소스를 종료한 후에 실행 할 배치 명령입니다. | FILE | O | |||
BatchAfterOnline | 이 리소스를 시작한 후에 실행 할 배치 명령입니다. | FILE | O | |||
BatchBeforeOffline | 이 리소스를 종료하기 전에 실행 할 배치 명령입니다. | FILE | O | |||
BatchBeforeOnline | 이 리소스를 시작하기 전에 실행 할 배치 명령입니다. | FILE | O | |||
BatchTimeout | 배치 파일을 실행하면 완료 될 때까지 대기하는 시간입니다. | INTEGER | 300초 | O | ||
*CleanProgram | 리소스에 장애가 발생하여 다른 노드로 페일오버 하기 전에 | FILE | O | |||
Failoverable | 리소스가 페일 오버 할 수 있는 상태인지를 알려줍니다. | BOOLEAN | X | |||
*Group | 리소스가 속한 그룹입니다. | STRING | X | |||
LastOnline | 마지막으로 온라인이었던 노드명을 알려줍니다. | STRING | ||||
*Monitored | 리소스타입 속성값인 '모니터링 시간 제한'(MonitorTimeout) 설정값에 따라 | BOOLEAN | X | |||
*NoAction | 리소스의 동작(Action) 속성을 나타냅니다. | BOOLEAN | X | |||
*ResName | 리소스 이름입니다. | NAME | X | |||
Restartlimit | 리소스가 장애로 판단되었을 때, | INTEGER | 0회 | O | ||
*State | 리소스 상태입니다. | STRING | X | |||
*Type | 리소스의 에이전트 타입명을 나타냅니다. | STRING | X |
※ 위의 표에서 '네트워크카드 리소스' 는 ' * ' 표시 되어있는 속성값만 사용합니다.
*Critical
장애 발생시에 페일오버 시킬 것인지를 나타내는 속성입니다.
...
Critical 값은 페일오버 전용 그룹에서만 영향이 있으며, 병렬 모드 그룹에서는 별다른 영향이 없습니다. Critical 속성은 단독으로 고려될 수도 있지만 리소스들 간의 종속성이 맺어진 경우에는 고려해야 할 상황이 많습니다.
가령, Critical 속성이 설정이 되지 않은 리소스 일지라도 상위 리소스에 장애가 발생하면 , 보다 상위의 리소스를 중심으로 페일오버를 진행해야 합니다.
보다 많은 경우의 예는 "챕터 7. 의존성 - 의존성에 따른 동작" 편을 참조해 주십시오.
*Enabled
리소스가 활성화 되어 있는지를 알려줍니다.
리소스를 활성화 시킨다는 것은 모니터링, 온라인, 오프라인 같은 동작을 수행 할 수 있다는 것을 의미합니다.
처음 리소스를 생성하면 에이전트는 사용하지 않음(detached) 상태가 되어 있습니다. 이 상태에서는 리소스와 그룹 모두 시작 메뉴가 비활성화되어 리소스를 사용할 수 없습니다.
사용자가 구성을 완료한 후에 리소스 메뉴에서 리소스 활성화 메뉴를 체크하면 에이전트는 리소스가 제대로 구성되어 있는지 감지(probing)하는 작업을 진행합니다.
정상적으로 구성되었다고 판단되면 리소스와 에이전트는 모두 오프라인 상태로 바뀝니다.
Group
리소스가 속한 그룹의 이름입니다.
사용자가 임의로 바꿀 수 없고 리소스를 생성할 때에 자동으로 등록됩니다. 그룹을 변경하고 싶다면 리소스를 제거하고 다른 그룹에서 리소스를 새로 생성해야 합니다.
LastOnline
마지막으로 온라인 상태였던 노드명을 알려줍니다.
병렬 그룹 내의 리소스에는 적용되지 않습니다.
Monitored
각 노드에서 모니터링 시간 제한(MonitorTimeout) 내에 완료 여부를 알려줍니다.
NoAction
리소스의 동작(Action) 속성을 나타냅니다.
이 속성이 true라면 리소스는 온라인, 오프라인 같은 명령을 내릴 수 없고 감시 기능만 가능한 모니터전용리소스 입니다. 네트워크 카드의 경우가 false 입니다.
ResName
리소스 이름입니다.
State
리소스 상태를 나타냅니다.
Type
리소스 타입을 나타냅니다
*BatchAfterOffline / BatchAfterOnline / BatchBeforeOnline / BatchBeforeOffline
리소스가 종료된 후 혹은 실행되기 전에 추가적으로 실행할 것들을 등록할 수 있는 속성입니다.
배치 스크립트(batch script)를 생성한 후에 그 경로명을 입력하면 적용됩니다.
예를 들면 여러 개의 자식 프로세스(child processes)들을 생성하는 응용프로그램을 오프라인 명령으로 종료시켰지만, 자식 프로세스들이 정상적으로 종료되지 않고 남아 있을 가능성이 있다면,
강제로 모두 종료 시킬 수 있는 스크립트 파일을 생성하여 이곳에 적용시켜 활용할 수 있습니다.
이런 배치 스크립트는 엔지니어 혹은 관리자가 적절히 작성하여야 할 사항이며 MCCS에서 기본적으로 제공되지는 않습니다.
이곳에서 실행된 스크립트는 MCCS 그룹이나 리소스 상태 변화에 영향을 주지는 않습니다. 그룹 온라인 중에 해당 리소스에 등록된 배치 스크립트가 실패하더라도 그룹의 온라인은 계속 진행하게 됩니다.
*BatchTimeout
추가로 설정한 배치 스크립트를 수행할 때에 스크립트의 실행 시간을 제한합니다.
스크립트 실행 중에 돌발 상황으로 인하여 교착 상태나 또는 중지 상태에 빠져버리면 다른 리소스들을 제어할 수 없는 경우가 발생할 수 있는데 이런 상황을 방지합니다.
타임아웃이 발생하여 스크립트 실행이 실패하면 더 이상 진행하지 않고 관리자의 조치를 기다립니다.
리소스 상태
[그림] 리소스 상태 화면
왼쪽 뷰에서 그룹, 리소스 타입, 리소스를 선택하면 오른쪽에 리소스 상태가 나타납니다. 리소스를 선택했을 때는 노드간의 리소스 상태를 모두 보여줍니다.
...
Info |
---|
MCCS 는 설치시 최초 사용자 계정으로 id 가 'admin' 암호가 'password'인 계정을 생성합니다. |
Syntax
mcres [-u userid -pw password] [-n node_ip_address] [-p port] -command [ resource ] [ -g group ] [ -n node] mcres [-u userid -pw password] [-n node_ip_address] [-p port] -add [ resource ] [ -t resource_type ] [ -g group ] mcres [-u userid -pw password] [-n node_ip_address] [-p port] -monitor [ group_name ] [ -t interval(seconds)] mcres [-u userid -pw password] [-n node_ip_address] [-p port] -modify [ resource ] [-a attribute attribute_value] [ -g group ] [ -n node] |
...
testGroup그룹에 복합 응용 타입으로 testResource 를 생성합니다.
mcres -u admin -pw password -add testResource -t Application -g testGroup |
delete
testResource 리소스를 삭제합니다.
mcres -u admin -pw password -delete testResource |
...
testResource 리소스를 활성화시킵니다.
mcres -u admin -pw password -enable testResource |
...
testResource 리소스를 비활성화 시킵니다.
mcres -u admin -pw password -disable testResource |
...
testGroup 에 속한 모든 리소스를 interval 간격으로 모니터링 합니다. 주기가 지정되지 않은 경우에는 3초가 기본값으로 지정됩니다.
mcres -u admin -pw password -monitor [testGroup] [-t interval(seconds)] |
testGroup을 10초 간격으로 모니터링 합니다.
mcres -u admin -pw password -monitor testGroup -t 10 |
...
testResource 리소스의 attribute를 value 값으로 수정합니다.
mcres -u admin -pw password -modify testResource -a attribute value [ -n node] |
testGroup의 testResource 리소스의 User속성 값을 administrator로 수정합니다.
mcres -u admin -pw password -modify testResource -a User administrator -n testGroup |
...
resource1을 부모로 resource2를 자식으로 의존 관계를 생성합니다.
mcres -u admin -pw password -link resource1 resource2 |
unlink
리소스 의존 관계를 삭제합니다.
mcres -u admin -pw password -unlink resource1 resource2 |
...
(실제 속성 값 수정은 modify 명령을 통해 수정해 주어야 합니다.)
mcres -u admin -pw password -local testResource -a attribute |
...
testResource 의 속성을 모든 노드들의 속성값에 대하여 공통된 값을 입력할 수 있도록 공용화 합니다.
mcres -u admin -pw password -global testResource -a attribute [value] |
testResource 의 속성 User를 전체 속성으로 값을 administrator로 설정합니다.
mcres -u admin -pw password -global testResource -a User administrator |
...
testNode에 있는 testResource 리소스를 온라인 시킵니다.
mcres -online testResource -n testNode |
...
testNode의 testResource 리소스를 오프라인 시킵니다.
mcres -u admin -pw password -offline testResource -n testNode |
...
testNode의 testResource 리소스의 자식 리소스를 오프라인 시킵니다.
mcres -u admin -pw password -offlineprop testResource -n testNode |
...
testNode의 testResource 리소스를 탐색합니다.
mcres -u admin -pw password -probe testResource -n testNode |
...
testNode의 testResource 리소스의 에러를 제거합니다.
mcres -u admin -pw password -clear testResource [ -n testNode] |
list
현재 리소스 상태를 출력합니다.
mcres -u admin -pw password -list [resource [ -a attribute]] | [-g group [-a attribute]] |