7장. 고가용성 리소스 문제 해결


리소스 오류가 발생하는 경우 문제의 원인과 위치를 조사하고 실패한 리소스를 수정한 다음 선택적으로 리소스를 정리해야 합니다. 배포에 따라 리소스 오류의 가능한 원인이 많으며 리소스를 조사하여 문제를 해결하는 방법을 결정해야 합니다.

예를 들어 리소스 제한 조건을 확인하여 리소스가 서로 중단되지 않고 리소스가 서로 연결할 수 있는지 확인할 수 있습니다. 또한 다른 컨트롤러 노드보다 더 자주 펜싱되는 컨트롤러 노드를 검사하여 가능한 통신 문제를 식별할 수 있습니다.

리소스 문제의 위치에 따라 다음 옵션 중 하나를 선택합니다.

컨트롤러 노드 문제
컨트롤러 노드에 대한 상태 검사에 실패하는 경우 컨트롤러 노드 간 통신 문제를 나타낼 수 있습니다. 조사하려면 컨트롤러 노드에 로그인하고 서비스가 올바르게 시작될 수 있는지 확인합니다.
개별 리소스 문제
컨트롤러의 대부분의 서비스가 올바르게 실행 중인 경우 pcs status 명령을 실행하고 특정 Pacemaner 리소스 오류에 대한 정보를 출력하거나 systemctl 명령을 실행하여 Pacemaker가 아닌 리소스 오류를 조사할 수 있습니다.

7.1. 고가용성 클러스터에서 리소스 제약 조건 보기

리소스 문제를 조사하기 전에 각 리소스가 있는 위치, 리소스 시작 순서 및 리소스를 다른 리소스와 함께 배치해야 하는 여부 등 서비스가 시작되는 방법에 대한 제약 조건을 볼 수 있습니다.

절차

  • 다음 옵션 중 하나를 사용합니다.

    • 모든 리소스 제약 조건을 보려면 컨트롤러 노드에 로그인하고 pcs constraint show 명령을 실행합니다.

      $ sudo pcs constraint show
      Copy to Clipboard Toggle word wrap

      다음 예제에서는 컨트롤러 노드의 pcs constraint show 명령에서 잘린 출력을 보여줍니다.

      Location Constraints:
        Resource: galera-bundle
          Constraint: location-galera-bundle (resource-discovery=exclusive)
            Rule: score=0
              Expression: galera-role eq true
        [...]
        Resource: ip-192.168.24.15
          Constraint: location-ip-192.168.24.15 (resource-discovery=exclusive)
            Rule: score=0
              Expression: haproxy-role eq true
        [...]
        Resource: my-ipmilan-for-controller-0
          Disabled on: overcloud-controller-0 (score:-INFINITY)
        Resource: my-ipmilan-for-controller-1
          Disabled on: overcloud-controller-1 (score:-INFINITY)
        Resource: my-ipmilan-for-controller-2
          Disabled on: overcloud-controller-2 (score:-INFINITY)
      Ordering Constraints:
        start ip-172.16.0.10 then start haproxy-bundle (kind:Optional)
        start ip-10.200.0.6 then start haproxy-bundle (kind:Optional)
        start ip-172.19.0.10 then start haproxy-bundle (kind:Optional)
        start ip-192.168.1.150 then start haproxy-bundle (kind:Optional)
        start ip-172.16.0.11 then start haproxy-bundle (kind:Optional)
        start ip-172.18.0.10 then start haproxy-bundle (kind:Optional)
      Colocation Constraints:
        ip-172.16.0.10 with haproxy-bundle (score:INFINITY)
        ip-172.18.0.10 with haproxy-bundle (score:INFINITY)
        ip-10.200.0.6 with haproxy-bundle (score:INFINITY)
        ip-172.19.0.10 with haproxy-bundle (score:INFINITY)
        ip-172.16.0.11 with haproxy-bundle (score:INFINITY)
        ip-192.168.1.150 with haproxy-bundle (score:INFINITY)
      Copy to Clipboard Toggle word wrap

      이 출력에는 다음과 같은 기본 제약 조건 유형이 표시됩니다.

      위치 제한

      리소스를 할당할 수 있는 위치를 나열합니다.

      • 첫 번째 제한 조건은 galera- role 특성을 true 로 설정하여 노드에서 실행하도록 galera- bundle 리소스를 설정하는 규칙을 정의합니다.
      • 두 번째 위치 제한 조건은 IP 리소스 ip-192.168.24.15haproxy-role 특성이 true 로 설정된 노드에서만 실행되도록 지정합니다. 즉, 클러스터에서 서비스에 연결할 수 있도록 하는 데 필요한 haproxy 서비스와 IP 주소를 연결합니다.
      • 세 번째 위치 제한 조건은 각 컨트롤러 노드에서 ipmilan 리소스가 비활성화되었음을 보여줍니다.
      제한 조건 순서

      리소스를 시작할 수 있는 순서를 나열합니다. 이 예에서는 HAProxy 서비스 전에 시작할 가상 IP 주소 리소스 IPaddr2 를 설정하는 제약 조건을 보여줍니다.

      참고

      순서 제한 조건은 IP 주소 리소스 및 HAproxy에만 적용됩니다. 계산과 같은 서비스는 Galera와 같은 종속 서비스의 중단을 유지할 것으로 예상되기 때문에 systemd는 다른 모든 리소스를 관리합니다.

      공동 배치 제한
      함께 배치해야 하는 리소스를 나열합니다. 모든 가상 IP 주소는 haproxy-bundle 리소스에 연결됩니다.
    • 특정 리소스에 대한 제약 조건을 보려면 모든 컨트롤러 노드에 로그인하고 pcs property show 명령을 실행합니다.

      $ sudo pcs property show
      Copy to Clipboard Toggle word wrap

      출력 예:

      Cluster Properties:
       cluster-infrastructure: corosync
       cluster-name: tripleo_cluster
       dc-version: 2.0.1-4.el8-0eb7991564
       have-watchdog: false
       redis_REPL_INFO: overcloud-controller-0
       stonith-enabled: false
      Node Attributes:
       overcloud-controller-0: cinder-volume-role=true galera-role=true haproxy-role=true rabbitmq-role=true redis-role=true rmq-node-attr-last-known-rabbitmq=rabbit@overcloud-controller-0
       overcloud-controller-1: cinder-volume-role=true galera-role=true haproxy-role=true rabbitmq-role=true redis-role=true rmq-node-attr-last-known-rabbitmq=rabbit@overcloud-controller-1
       overcloud-controller-2: cinder-volume-role=true galera-role=true haproxy-role=true rabbitmq-role=true redis-role=true rmq-node-attr-last-known-rabbitmq=rabbit@overcloud-controller-2
      Copy to Clipboard Toggle word wrap

      이 출력에서는 리소스 제약 조건이 올바르게 설정되었는지 확인할 수 있습니다. 예를 들어 galera-role 특성은 모든 컨트롤러 노드에 적용됩니다. 즉 galera-bundle 리소스는 이러한 노드에서만 실행됩니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat