9.4. 클러스터 데몬 충돌
RGManager에는 주요
rgmanager
프로세스가 예기치 않게 실패하면 호스트를 재부팅하는 워치독 프로세스가 있습니다. 이렇게 하면 클러스터 노드가 차단되어 rgmanager
가 다른 호스트에서 서비스를 복구합니다. 워치독 데몬이 주요 rgmanager
프로세스가 충돌한 것을 감지하면 클러스터 노드를 재부팅하여 활성 클러스터 노드는 클러스터 노드가 이탈한 것을 감지하고 이를 클러스터에서 제거합니다.
프로세스 ID (PID)의 낮은 번호는 워치독 프로세스로 자식 프로세스 (PID 번호가 높은 프로세스)가 충돌한 경우 조치를 취합니다.
gcore
를 사용하여 높은 PID 번호를 갖는 프로세스 코어를 캡처하여 충돌된 데몬의 문제 해결을 지원합니다.
코어를 캡쳐 및 보기에 필요한 패키지를 설치하고
rgmanager
및 rgmanager-debuginfo
가 동일한 버전인지 확인합니다. 그렇지 않으면 캡쳐한 애플리케이션 코어를 사용하지 못 할 수 있습니다.
$ yum -y --enablerepo=rhel-debuginfo install gdb rgmanager-debuginfo
9.4.1. 런타임에서 rgmanager
코어 캡처
시작할 때 실행하는 두 개의
rgmanager
프로세스가 있습니다. 큰 PID를 갖는 rgmanager
프로세스의 코어를 캡처해야 합니다.
다음은
ps
명령의 출력 결과의 예로 rgmanager
의 두 개의 프로세스를 보여주고 있습니다.
$ ps aux | grep rgmanager | grep -v grep root 22482 0.0 0.5 23544 5136 ? S<Ls Dec01 0:00 rgmanager root 22483 0.0 0.2 78372 2060 ? S<l Dec01 0:47 rgmanager
다음 예제에서
pidof
프로그램을 사용하여 코어를 생성하는데 적절한 PID인 큰 PID 번호를 자동으로 지정하게 합니다. 전체 명령은 큰 PID 번호를 갖는 프로세스 22483의 애플리케이션 코어를 캡처합니다.
$ gcore -o /tmp/rgmanager-$(date '+%F_%s').core $(pidof -s rgmanager)