Red Hat Training

A Red Hat training course is available for RHEL 8

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에서 기본값이 바람직하지 않은 경우 모든 리소스의 현재 상태를 가져오기 위해 시작하는 프로브에 대한 시간 초과/on-fail/enabled 값을 설정할 수 있습니다.

timeout

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

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

On-fail

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

* 무시 - 리소스가 실패하지 않도록 방지합니다.

* block - 리소스에서 추가 작업을 수행하지 않음

* 중지 - 리소스를 중지하고 다른 곳에서 시작하지 않습니다.

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

* fence - 리소스가 실패한 노드를 STONITH

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

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

중지 작업의 기본값은 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)

stop timeout 작업을 변경하려면 다음 명령을 실행합니다.

# 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)