11.3. 리소스 메타 옵션 구성

리소스별 매개 변수 외에도 리소스에 대한 추가 리소스 옵션을 구성할 수 있습니다. 이러한 옵션은 클러스터에서 리소스가 작동하는 방식을 결정하는 데 사용됩니다.

다음 표에서는 리소스 메타 옵션을 설명합니다.

표 11.3. 리소스 메타 옵션

필드기본값설명

priority

0

모든 리소스가 활성 상태가 아닌 경우 우선 순위가 더 높은 리소스를 활성 상태로 유지하기 위해 클러스터에서 우선순위가 낮은 리소스를 중지합니다.

target-role

Started

클러스터가 이 리소스를 유지하려고 시도하는 상태를 나타냅니다. 허용되는 값:

* 중지됨 - 리소스를 중지하도록 강제 시행

* 시작 - 리소스가 시작되도록 허용(및 적절한 경우 승격된 복제의 경우)

* 승격 - 리소스를 시작하고 해당하는 경우 승격 가능

* promoted - 리소스가 승격 가능한 경우에만 지원되지 않는 모드에서만 리소스를 시작할 수 있습니다.

is-managed

true

클러스터가 리소스를 시작하고 중지할 수 있는지 여부를 나타냅니다. 허용되는 값: true,false

resource-stickiness

1

값이 값을 사용하여 리소스가 현재 위치에 남아 있는 것을 선호하는지 지정합니다.

필수 항목

계산된

리소스를 시작할 수 있는 조건을 나타냅니다.

아래에 명시된 조건을 제외하고 펜싱 의 기본값은 기본값입니다. 가능한 값은 다음과 같습니다.

* 아무것도 없음 - 클러스터는 항상 리소스를 시작할 수 있습니다.

쿼럼 - 대부분의 구성된 노드가 활성화된 경우에만 클러스터는 이 리소스를 시작할 수 있습니다. stonith-enabledfalse 이거나 리소스의 표준이 stonith 인 경우 기본값입니다.

* 펜싱 - 클러스터는 구성된 대부분의 노드가 활성 상태이고 실패하거나 알 수 없는 노드가 펜싱된 경우에만 이 리소스를 시작할 수 있습니다.

* Unfencing - 클러스터는 대부분의 구성된 노드가 활성 상태이고 실패하거나 알 수 없는 노드가 펜싱된 경우에만 이 리소스를 시작할 수 있습니다. 이 값은 펜싱 장치에 대해 provides=unfencing stonith meta 옵션이 설정된 경우 기본값입니다.

migration-threshold

INFINITY

이 노드가 이 리소스를 호스팅할 수 없는 것으로 표시되기 전에 노드에서 이 리소스에 대해 이러한 오류가 발생할 수 있습니다. 값 0은 이 기능이 비활성화되어 있음을 나타냅니다(노드는 볼 수 없음). 반면 클러스터는 INFINITY (기본값)를 매우 큰 숫자이지만 한정된 숫자로 처리합니다. 이 옵션은 실패한 작업에 on-fail=restart (기본값)가 있는 경우에만 적용되며 클러스터 속성 start-failure-is-is-fatalfalse 인 경우 실패한 시작 작업에도 적용됩니다.

failure-timeout

0 (비활성화)

migration-threshold 옵션과 함께 사용되며 오류가 발생하지 않은 것처럼 작동하기 전에 대기할 시간(초)을 나타내며 리소스가 실패한 노드로 다시 허용할 수 있습니다.

multiple-active

stop_start

둘 이상의 노드에서 액티브 리소스를 발견하면 클러스터에서 수행해야 하는 작업을 나타냅니다. 허용되는 값:

블록 - 관리되지 않는 리소스로 표시

* stop_only - 활성 인스턴스를 모두 중지하고 해당 인스턴스를 종료합니다.

* stop_start - 활성 인스턴스를 모두 중지하고 한 위치에서만 리소스를 시작합니다.

* stop_unexpected - (RHEL 9.1 이상)는 전체 재시작 없이 예기치 않은 리소스 인스턴스만 중지합니다. 서비스 및 해당 리소스 에이전트가 전체 재시작 없이 추가 활성 인스턴스와 함께 작동할 수 있는지 확인하는 것은 사용자의 책임입니다.

심각

true

리소스가 리소스 그룹의 일부일 때 생성된 암시적 공동 배치 제약 조건으로 리소스를 종속 리소스(target_resource)로 포함하는 모든 공동 배치 제한 조건에 대한 influence 옵션에 대한 기본값을 설정합니다. 영향 공동 배치 제약 조건 옵션은 종속 리소스가 실패의 마이그레이션 임계값에 도달하면 클러스터가 기본 및 종속 리소스를 다른 노드로 이동할지 또는 서비스 전환을 유발하지 않고 클러스터가 종속 리소스를 오프라인으로 유지할지 여부를 결정합니다. 중요 리소스 메타 옵션에는 기본값인 true 또는 false 가 있을 수 있습니다.

allow-unhealthy-nodes

false

(RHEL 9.1 이상) true 로 설정하면 노드 상태가 성능 저하로 인해 리소스가 노드를 강제 해제하지 않습니다. 상태 리소스에 이 속성이 설정된 경우 노드의 상태가 복구되는지 자동으로 탐지하여 리소스를 다시 이동할 수 있습니다. 노드의 상태는 로컬 조건에 따라 상태 리소스 에이전트가 설정한 상태 특성의 조합과 클러스터가 해당 조건에 대응하는 방법을 결정하는 전략 관련 옵션의 조합에 따라 결정됩니다.

11.3.1. 리소스 옵션의 기본값 변경

pcs resource defaults update 명령을 사용하여 모든 리소스에 대한 리소스 옵션의 기본값을 변경할 수 있습니다. 다음 명령은 resource-stickiness 기본값을 100으로 재설정합니다.

# pcs resource defaults update resource-stickiness=100

이전 릴리스의 모든 리소스에 대한 기본값을 설정하는 원래 pcs resource defaults name=value 명령은 둘 이상의 기본값 집합이 구성된 경우가 아니면 계속 지원됩니다. 그러나 pcs resource defaults 업데이트 는 이제 기본 명령 버전입니다.

11.3.2. 리소스 세트의 리소스 옵션의 기본값 변경

pcs resource defaults set create 명령을 사용하여 여러 리소스 기본값 세트를 생성할 수 있으므로 리소스 식이 포함된 규칙을 지정할 수 있습니다. 이 명령으로 지정하는 규칙에서는 괄호를 포함한 리소스날짜 식만 허용됩니다.

pcs resource defaults set create 명령을 사용하면 특정 유형의 모든 리소스에 대한 기본 리소스 값을 구성할 수 있습니다. 예를 들어 중지 시간이 오래 걸리는 데이터베이스를 실행하는 경우 해당 리소스가 원하는 것보다 더 자주 다른 노드로 이동하지 못하도록 데이터베이스 유형의 모든 리소스에 대한 resource-stickiness 기본값을 늘릴 수 있습니다.

다음 명령은 유형 pqsql 의 모든 리소스에 대해 resource-stickiness 의 기본값을 100으로 설정합니다.

  • 리소스 기본값의 이름을 지정하는 id 옵션은 필수가 아닙니다. 이 옵션을 설정하지 않으면 pcs 가 ID를 자동으로 생성합니다. 이 값을 설정하면 보다 설명적인 이름을 제공할 수 있습니다.
  • 이 예에서 ::pgsql 은 모든 클래스의 리소스, 모든 공급자, pgsql 을 의미합니다.

    • ocf:heartbeat:pgsql 을 지정하면 클래스 ocf, 공급자 하트비트, pgsql,
    • ocf:pacemaker: 를 지정하면 모든 유형의 ocf, 공급자 pacemaker 의 모든 리소스가 표시됩니다.
# pcs resource defaults set create id=pgsql-stickiness meta resource-stickiness=100 rule resource ::pgsql

기존 세트의 기본값을 변경하려면 pcs resource defaults set update 명령을 사용합니다.

11.3.3. 현재 구성된 리소스 기본값 표시

pcs resource defaults 명령은 사용자가 지정한 규칙을 포함하여 현재 구성된 리소스 옵션에 대한 기본값 목록을 표시합니다.

다음 예제에서는 resource-stickiness 기본값을 100으로 재설정한 후 이 명령의 출력을 보여줍니다.

# pcs resource defaults
Meta Attrs: rsc_defaults-meta_attributes
  resource-stickiness=100

다음 예제에서는 pqsql 유형의 모든 리소스에 대해 resource-stickiness 의 기본값을 100으로 재설정한 후 이 명령의 출력을 표시하고 id 옵션을 id=pgsql-stickiness 로 설정합니다.

# pcs resource defaults
Meta Attrs: pgsql-stickiness
  resource-stickiness=100
  Rule: boolean-op=and score=INFINITY
    Expression: resource ::pgsql

11.3.4. 리소스 생성 시 메타 옵션 설정

리소스 메타 옵션의 기본값을 재설정했는지 여부에 관계없이 리소스를 생성할 때 특정 리소스에 대한 리소스 옵션을 기본값 이외의 값으로 설정할 수 있습니다. 다음은 리소스 메타 옵션의 값을 지정할 때 사용하는 pcs resource create 명령의 형식을 보여줍니다.

pcs resource create resource_id [standard:[provider:]]type [resource options] [meta meta_options...]

예를 들어 다음 명령은 resource-stickiness 값이 50인 리소스를 생성합니다.

# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 meta resource-stickiness=50

다음 명령을 사용하여 기존 리소스, 그룹 또는 복제 리소스에 대한 리소스 메타 옵션의 값을 설정할 수도 있습니다.

pcs resource meta resource_id | group_id | clone_id meta_options

다음 예제에서는 dummy_resource 라는 기존 리소스가 있습니다. 이 명령은 리소스가 20초 내에 동일한 노드에서 재시작할 수 있도록 failure-timeout 메타 옵션을 20초로 설정합니다.

# pcs resource meta dummy_resource failure-timeout=20s

이 명령을 실행한 후 리소스 값을 표시하여 failure-timeout=20s 가 설정되었는지 확인할 수 있습니다.

# pcs resource config dummy_resource
 Resource: dummy_resource (class=ocf provider=heartbeat type=Dummy)
  Meta Attrs: failure-timeout=20s
  ...