9.4. 클러스터 데몬 충돌

RGManager에는 주요 rgmanager 프로세스가 예기치 않게 실패하면 호스트를 재부팅하는 워치독 프로세스가 있습니다. 이렇게 하면 클러스터 노드가 차단되어 rgmanager가 다른 호스트에서 서비스를 복구합니다. 워치독 데몬이 주요 rgmanager 프로세스가 충돌한 것을 감지하면 클러스터 노드를 재부팅하여 활성 클러스터 노드는 클러스터 노드가 이탈한 것을 감지하고 이를 클러스터에서 제거합니다.
프로세스 ID (PID)의 낮은 번호는 워치독 프로세스로 자식 프로세스 (PID 번호가 높은 프로세스)가 충돌한 경우 조치를 취합니다. gcore를 사용하여 높은 PID 번호를 갖는 프로세스 코어를 캡처하여 충돌된 데몬의 문제 해결을 지원합니다.
코어를 캡쳐 및 보기에 필요한 패키지를 설치하고 rgmanagerrgmanager-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)