7장. 고가용성 리소스 문제 해결
리소스 오류가 발생하는 경우 문제의 원인과 위치를 조사하고 실패한 리소스를 수정한 다음 선택적으로 리소스를 정리해야 합니다. 배포에 따라 리소스 오류의 가능한 원인이 많으며 리소스를 조사하여 문제를 해결하는 방법을 결정해야 합니다.
예를 들어 리소스 제한 조건을 확인하여 리소스가 서로 중단되지 않고 리소스가 서로 연결할 수 있는지 확인할 수 있습니다. 또한 다른 컨트롤러 노드보다 더 자주 펜싱되는 컨트롤러 노드를 검사하여 가능한 통신 문제를 식별할 수 있습니다.
리소스 문제의 위치에 따라 다음 옵션 중 하나를 선택합니다.
- 컨트롤러 노드 문제
- 컨트롤러 노드에 대한 상태 검사에 실패하는 경우 컨트롤러 노드 간 통신 문제를 나타낼 수 있습니다. 조사하려면 컨트롤러 노드에 로그인하고 서비스가 올바르게 시작될 수 있는지 확인합니다.
- 개별 리소스 문제
-
컨트롤러의 대부분의 서비스가 올바르게 실행 중인 경우
pcs status
명령을 실행하고 특정 Pacemaner 리소스 오류에 대한 정보를 출력하거나systemctl
명령을 실행하여 Pacemaker가 아닌 리소스 오류를 조사할 수 있습니다.
7.1. 고가용성 클러스터에서 리소스 제약 조건 보기 링크 복사링크가 클립보드에 복사되었습니다!
리소스 문제를 조사하기 전에 각 리소스가 있는 위치, 리소스 시작 순서 및 리소스를 다른 리소스와 함께 배치해야 하는 여부 등 서비스가 시작되는 방법에 대한 제약 조건을 볼 수 있습니다.
절차
다음 옵션 중 하나를 사용합니다.
모든 리소스 제약 조건을 보려면 컨트롤러 노드에 로그인하고 pcs constraint
show
명령을 실행합니다.sudo pcs constraint show
$ sudo pcs constraint show
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예제에서는 컨트롤러 노드의
pcs constraint show
명령에서 잘린 출력을 보여줍니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 출력에는 다음과 같은 기본 제약 조건 유형이 표시됩니다.
- 위치 제한
리소스를 할당할 수 있는 위치를 나열합니다.
-
첫 번째 제한 조건은 galera-
role 특성을
bundle 리소스를 설정하는 규칙을 정의합니다.true
로 설정하여 노드에서 실행하도록 galera- -
두 번째 위치 제한 조건은 IP 리소스 ip-192.168.24.15 가
haproxy-role
특성이true
로 설정된 노드에서만 실행되도록 지정합니다. 즉, 클러스터에서 서비스에 연결할 수 있도록 하는 데 필요한haproxy
서비스와 IP 주소를 연결합니다. - 세 번째 위치 제한 조건은 각 컨트롤러 노드에서 ipmilan 리소스가 비활성화되었음을 보여줍니다.
-
첫 번째 제한 조건은 galera-
- 제한 조건 순서
리소스를 시작할 수 있는 순서를 나열합니다. 이 예에서는 HAProxy 서비스 전에 시작할 가상 IP 주소 리소스 IPaddr2 를 설정하는 제약 조건을 보여줍니다.
참고순서 제한 조건은 IP 주소 리소스 및 HAproxy에만 적용됩니다. 계산과 같은 서비스는 Galera와 같은 종속 서비스의 중단을 유지할 것으로 예상되기 때문에 systemd는 다른 모든 리소스를 관리합니다.
- 공동 배치 제한
- 함께 배치해야 하는 리소스를 나열합니다. 모든 가상 IP 주소는 haproxy-bundle 리소스에 연결됩니다.
특정 리소스에 대한 제약 조건을 보려면 모든 컨트롤러 노드에 로그인하고
pcs property show
명령을 실행합니다.sudo pcs property show
$ sudo pcs property show
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 출력에서는 리소스 제약 조건이 올바르게 설정되었는지 확인할 수 있습니다. 예를 들어
galera-role
특성은 모든 컨트롤러 노드에적용됩니다
. 즉galera-bundle 리소스는
이러한 노드에서만 실행됩니다.