Section | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
에이전트 상태변화
에이전트 상태
에이전트 상태는 리소스 상태 페이지의 에이전트 상태 값에서 확인하실 수 있습니다.
에이전트 상태 | 상태 설명 |
Detached | 비활성 상태로서 에이전트 스레드가 시작되지 않은, 따라서 리소스 모니터링을 하지 않는 상태입니다. |
Opening | Detached에서 리소스 활성화가 되어 모니터링을 시작할 때의 상태입니다. |
Probing | 리소스 모니터링을 하는 상태이며 모니터링 결과값을 최초로 판단하게 되면 Online 혹은 Offline로 진입하게 됩니다. |
Online | 리소스가 온라인 상태에서 모니터링을 하는 상태입니다. |
Offline | 리소스가 오프라인 상태에서 모니터링 하는 상태입니다. 장애가 발생하여 리소스가 종료되었을 경우에도 에이전트에서는 Offline로 간주합니다. |
GoingOffline | 온라인 상태인 리소스를 오프라인 상태로 만들기 위한 종료 명령이 실행되고 있는 상태입니다. |
GoingOfflineWait | 리소스 종료 명령의 실행이 끝난 뒤에 모니터링 결과, 리소스 상태가 오프라인 되기 전의 상태입니다. |
GoingOnline | 오프라인 상태인 리소스를 온라인 상태로 만들기 위한 시작 명령이 실행되고 있는 상태입니다. |
GoingOnlineWait | 리소스 시작 명령의 실행이 끝난 뒤에 모니터링 결과, 리소스 상태가 온라인 되기 전의 상태입니다. |
에이전트 상태 변화
리소스를 활성화 시키면 Probing에서 모니터링을 시작하게 됩니다.
모니터링 결과에 따라 상태를 결정한 후에 에이전트는 필요한 명령을 받으며 상태가 변화하게 됩니다.
에이전트의 일반적인 상태가 변화하는 흐름은 다음과 같습니다.
[그림] 에이전트 상태 머신
모니터링 결과, 여전히 온라인 상태이면 설정된 모니터링 간격으로 오프라인 상태가 될 때까지 모니터링을 반복합니다.
종료 명령이 시작된 이후에 경과한 시간이 리소스 타입의 OfflineTimeout 속성에 지정된 값을 초과할 경우는 리소스 종료 과정이 취소되고 Online로 재설정됩니다.
모니터링 결과가 온라인이면 에이전트는 Online가 되지만, OnlineWaitLimit 만큼 모니터링을 반복하고도 온라인 상태가 되지 못하면 리소스는 장애 상태로 처리됩니다.
MCCS에서는 리소스 상태를 모니터링하며 명령을 처리할 때는 위의 상태 변화 흐름대로 에이전트 상태가 변화하게 됩니다. MCCS를 통한 변환 과정에는 Going~으로 시작하는 변환 상태를 거치게 되는데, MCCS가 아닌 외부에서 리소스를 변환시킬 경우에는 이런 흐름을 거치지 않습니다.
또한 페일오버 전용 그룹에서 반드시 한 쪽 노드에서만 활성화 되어야 할 리소스인 경우에, 오프라인 되어 있던 노드에서 갑자기 외부 사용자에 의해 온라인 되었다면 이러한 경우도 문제가 발생할 여지가 있습니다.
공유 스토리지 같은 경우에 반드시 한 쪽에서만 쓰기가 보장되어야 하는 리소스이지만 다른 쪽에서도 마운트 되어 쓰기가 가능해진다면 스토리지 내의 데이터는 파손될 우려가 있습니다.
Agent State Change
Agent State
Agent state can be checked from agent state value from resource state view of detailed information panel.
Agent State | State Description |
Detached | It is in disabled state where agent thread hasn't started yet, therefore resource is not monitored yet. |
Opening | Monitoring is started when the resource is activated in Detached. |
Probing | Resource monitoring is in progress. When the monitoring results is determined for the first time, it will go either offline or online. |
Online | Resource is in Online state and is being monitored. |
Offline | Resource is in Offline state and is being monitored. |
GoingOffline | The stop command is running to make the online resource to go offline. |
GoingOfflineWait | After the resource stop command is executed, the monitoring results show that the resource has not yet to go offline. |
GoingOnline | The start command is running to make the offline resource to go online. |
GoingOnlineWait | It is a state command which agent brings online a resource is completed and resource is ready to online. |
Agent State Change
When a resource has been enabled, an agent will start monitor a resource after probing and its state will be changed.
After determining the state based on the results of the monitoring, agent gets the command and
Below is the flow of the change of agent state.
[Figure] Cycle of Agent State
- When a resource is first added, it will be 'Disabled' state and its corresponding agent will be 'Detached' state.
- When a resource is 'Enabled', an agent starts monitoring this after process of ‘Opening’ and ‘Probing’.
- If a resource in online state is taken offline, an agent becomes 'GoingOffine' and when the command is done, it becomes 'GoingOfflineWait'.
- If monitoring result is Offline, agent state is Offline.
If monitoring result is still Online, it repeats monitoring according to the set number interval it becomes Offline.
If the time of offline command has exceeded the time value defined in 'OfflineTimeout' attribute, offline process will be canceled and a resource state will go back to online state. - If a resource in offline state has been brought online, agent becomes ‘GoingOnline.’
- After 'Online' command is done and becomes 'GoingOnlineWait' monitoring begins and will repeat the monitoring according to value of 'OnlineWaitLimit' attribute in value of 'OfflineMonitorInterval' attributes until it comes online.
If the monitoring result is that a resource in online state, agent is also online state, and if it does not become online in value of 'OnlineWaitLimit', it is considered as a failure. An agent state will be changed and cycled as above figure according to result of a resource state. But if a resource state is changed by external reasons not by operation through MCCS, this cycle wasn’t applied. - If a resource state changes straight from Online to Offline without operation by MCCS, it is considered as a failure or abnormal state.
MCCS goes through a change of sending a command and while monitoring, agent state changes as well according to the state. It will go through a state change of 'Going~' and this only applies to MCCS. - For an example, if an online application is terminated due to an external error, it is considered as a failure.
Also, in case that a resource is brought online on a standby node by force even though a group including this resource has been online on a active node in failover mode group, MCCS considers that this is abnormal state and take offline the resource on a standby node. - If there is no change in the state as shown in the diagram above, it is considered as a failure or abnormal state.