21장. 리소스 모니터링 작업

리소스가 정상 상태로 유지되도록 모니터링 작업을 리소스 정의에 추가할 수 있습니다. 리소스에 대한 모니터링 작업을 지정하지 않으면 기본적으로 pcs 명령은 리소스 에이전트에 의해 결정되는 간격과 함께 모니터링 작업을 생성합니다. 리소스 에이전트가 기본 모니터링 간격을 제공하지 않으면 pcs 명령은 60초 간격으로 모니터링 작업을 생성합니다.

다음 표에는 리소스 모니터링 작업의 속성이 요약되어 있습니다.

표 21.1. 작업 속성

필드설명

id

작업의 고유 이름입니다. 시스템이 작업을 구성할 때 이 값을 할당합니다.

name

수행할 작업입니다. 공통 값: monitor,start,stop

간격

0이 아닌 값으로 설정하면 이 빈도에서 반복되는 반복 작업이 생성됩니다. 0이 아닌 값은 작업 이름이 monitor 로 설정된 경우에만 적합합니다. 반복 모니터 작업은 리소스 시작이 완료되면 즉시 실행되고 이후 모니터 작업은 이전 모니터 작업이 완료된 후 시작됩니다. 예를 들어, interval=20s 를 갖는 모니터 작업이 01:00:00에서 실행되는 경우, 다음 모니터 작업은 01:00:20에서 발생하지 않지만 첫 번째 모니터 작업이 완료된 후 20초 후에 수행됩니다.

기본값인 0으로 설정하면 이 매개변수를 사용하여 클러스터에서 생성한 작업에 사용할 값을 제공할 수 있습니다. 예를 들어 간격이 0으로 설정되면 작업 이름이 start 로 설정되고 시간제한 값이 40으로 설정된 경우 Pacemaker에서 이 리소스를 시작할 때 40초의 시간 초과를 사용합니다. 0 간격을 사용하는 모니터 작업을 사용하면 기본값이 필요하지 않은 경우 모든 리소스의 현재 상태를 가져오기 위해 Pacemaker에서 시작 시 Pacemaker에서 수행하는 프로브의 시간 초과/on-fail/enabled 값을 설정할 수 있습니다.

timeout

이 매개변수로 설정된 시간 내에 작업이 완료되지 않으면 작업을 중단하여 실패한 것으로 간주합니다. pcs resource op defaults 명령으로 설정된 경우 기본값은 timeout 값이며 설정되지 않은 경우 20초입니다. 시스템에 작업을 수행할 수 있는 시간보다 더 많은 시간이 필요한 리소스가 포함되어 있는 경우(예: start,stop 또는 monitor), 원인을 조사하고 장기간 실행 시간이 예상되면 이 값을 늘릴 수 있습니다.

시간 초과 값은 모든 종류의 지연이 아니며 시간 초과 기간이 완료되기 전에 작업이 반환되는 경우 전체 시간 초과 기간을 대기하지 않습니다.

On-fail

이 작업이 실패하면 수행할 작업입니다. 허용되는 값:

* Ignore - 리소스가 실패하지 않았습니다.

* block - 리소스에서 추가 작업을 수행하지 마십시오.

* stop - 리소스를 중지하고 다른 곳에서 시작하지 마십시오.

* 재시작 - 리소스를 중지하고 다시 시작합니다(다른 노드에서).

* fence - 리소스가 실패한 노드를 대기합니다.

* standby - 리소스가 실패한 노드에서 모든 리소스를 이동합니다.

데모 - 리소스에 대한 승격 작업이 실패하면 리소스가 데모되지만 완전히 중지되지는 않습니다. 리소스에 대한 모니터 작업이 실패하면 간격이 0이 아닌 값으로 설정되고 role 이 Promoted(승격)로 설정된 경우 리소스 가 강등되지만 완전히 중지되지는 않습니다.

STONITH가 활성화되어 있으면 중지 작업의 기본값은 fence 입니다. 그렇지 않으면 차단 됩니다. 다른 모든 작업은 기본적으로 다시 시작됩니다.

enabled

false 인 경우 작업이 존재하지 않는 것처럼 처리됩니다. 허용되는 값: true,false

21.1. 리소스 모니터링 작업 구성

다음 명령을 사용하여 리소스를 생성할 때 모니터링 작업을 구성할 수 있습니다.

pcs resource create resource_id standard:provider:type|type [resource_options] [op operation_action operation_options [operation_type operation_options]...]

예를 들어 다음 명령은 모니터링 작업을 사용하여 IPaddr2 리소스를 생성합니다. 새 리소스는 IP 주소가 192.168.0.99이고 넷마스크가 eth2 에서 24인 VirtualIP 라고 합니다. 모니터링 작업은 30초마다 수행됩니다.

# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2 op monitor interval=30s

또는 다음 명령을 사용하여 기존 리소스에 모니터링 작업을 추가할 수 있습니다.

pcs resource op add resource_id operation_action [operation_properties]

다음 명령을 사용하여 구성된 리소스 작업을 삭제합니다.

pcs resource op remove resource_id operation_name operation_properties
참고

기존 작업을 제대로 제거하려면 정확한 작업 속성을 지정해야 합니다.

모니터링 옵션 값을 변경하려면 리소스를 업데이트할 수 있습니다. 예를 들어 다음 명령을 사용하여 VirtualIP 를 생성할 수 있습니다.

# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2

기본적으로 이 명령은 이러한 작업을 생성합니다.

Operations: start interval=0s timeout=20s (VirtualIP-start-timeout-20s)
            stop interval=0s timeout=20s (VirtualIP-stop-timeout-20s)
            monitor interval=10s timeout=20s (VirtualIP-monitor-interval-10s)

중지 시간 제한 작업을 변경하려면 다음 명령을 실행합니다.

# pcs resource update VirtualIP op stop interval=0s timeout=40s

# pcs resource config VirtualIP
 Resource: VirtualIP (class=ocf provider=heartbeat type=IPaddr2)
  Attributes: ip=192.168.0.99 cidr_netmask=24 nic=eth2
  Operations: start interval=0s timeout=20s (VirtualIP-start-timeout-20s)
              monitor interval=10s timeout=20s (VirtualIP-monitor-interval-10s)
              stop interval=0s timeout=40s (VirtualIP-name-stop-interval-0s-timeout-40s)