56장. 클러스터 리소스 공동 작업
한 리소스의 위치가 다른 리소스의 위치에 따라 달라지도록 지정하려면 공동 배치 제약 조건을 구성합니다.
두 리소스 간에 공동 배치 제약 조건을 생성할 때 중요한 측면이 있습니다. 이는 리소스가 노드에 할당된 순서에 영향을 미칩니다. 이는 리소스 B가 어디에 있는지 모르는 한 리소스 B에 상대적인 리소스를 배치할 수 없기 때문입니다. 따라서 공동 배치 제약 조건을 생성할 때 리소스 B 또는 리소스 B를 리소스 A와 함께 배치해야 하는지 여부를 고려해야 합니다.
공동 배치 제약 조건을 생성할 때 고려해야 할 또 다른 사항은 리소스 A가 리소스 B와 배치된다고 가정할 때 클러스터에서 리소스 B에 대해 선택할 노드를 결정할 때 리소스 A의 기본 설정도 고려해야 한다는 것입니다.
다음 명령은 공동 배치 제약 조건을 생성합니다.
pcs constraint colocation add [master|slave] source_resource with [master|slave] target_resource [score] [options]
pcs constraint colocation add [master|slave] source_resource with [master|slave] target_resource [score] [options]
다음 표에는 공동 배치 제약 조건을 구성하기 위한 속성 및 옵션이 요약되어 있습니다.
매개변수 | 설명 |
---|---|
source_resource | colocation 소스입니다. 제약 조건을 충족할 수 없는 경우 클러스터에서 리소스를 전혀 실행하도록 허용하지 않을 수 있습니다. |
target_resource | colocation 대상입니다. 클러스터는 이 리소스를 먼저 배치할 위치를 결정한 다음 소스 리소스를 배치할 위치를 결정합니다. |
점수 |
양수 값은 리소스가 동일한 노드에서 실행되어야 함을 나타냅니다. 음수 값은 동일한 노드에서 리소스를 실행하지 않아야 함을 나타냅니다. 기본값인 + |
| (RHEL 8.4 이상) 종속 리소스가 실패의 마이그레이션 임계값에 도달하면 클러스터가 기본 리소스(source_resource) 및 종속 리소스(target_resource) 를 모두 다른 노드로 이동할지 또는 클러스터가 서비스 전환을 유발하지 않고 종속 리소스를 오프라인 상태로 둘지 여부를 결정합니다.
이 옵션의 값이
이 옵션의 값이 |
56.1. 리소스의 필수 배치 지정 링크 복사링크가 클립보드에 복사되었습니다!
제약 조건의 점수가 +INFINITY
또는 -INFINITY
일 때마다 필수 배치가 수행됩니다. 이러한 경우 제약 조건을 충족할 수 없는 경우 source_resource 를 실행할 수 없습니다. score=INFINITY
의 경우 target_resource 가 활성 상태가 아닌 경우가 포함됩니다.
myresource1
이 항상 myresource2
와 동일한 머신에서 실행해야 하는 경우 다음 제약 조건을 추가합니다.
pcs constraint colocation add myresource1 with myresource2 score=INFINITY
# pcs constraint colocation add myresource1 with myresource2 score=INFINITY
INFINITY
가 사용되었기 때문에 myresource2
를 클러스터 노드(어떤 이유로든)에서 실행할 수 없는 경우 myresource1
은 실행할 수 없습니다.
또는 반대를 구성해야 할 수 있습니다. myresource1
은 myresource2
와 동일한 시스템에서 실행할 수 없습니다. 이 경우 score=-INFINITY
사용
pcs constraint colocation add myresource1 with myresource2 score=-INFINITY
# pcs constraint colocation add myresource1 with myresource2 score=-INFINITY
다시 말해 -INFINITY
를 지정하면 제약 조건이 바인딩됩니다. 따라서 실행할 유일한 위치가 myresource2
가 이미 있는 경우 myresource1
은 아무데도 실행되지 않을 수 있습니다.