RGM(Resource Group Manager)은 자원 그룹과 궁극적으로 클러스터의 자원을 관리합니다. RGM은 콜백 모델에서 작동합니다. 노드 실패와 같은 특정 이벤트가 발생할 경우 RGM은 영향을 받는 노드에서 실행 중인 각 자원에 대해 자원 유형의 메소드를 호출합니다. 예를 들어, RGM은 영향을 받는 노드에서 실행 중인 자원을 중지하기 위해 Stop 메소드를 호출한 다음 자원의 Start 메소드를 호출하여 다른 노드에서 자원을 시작합니다. 이 모델에 대한 자세한 내용은 RGM 모델, 콜백 메소드 및 rt_callbacks(1HA) 설명서 페이지를 참조하십시오.
이 모델을 지원하기 위해 Agent Builder는 8개의 실행 가능 C 프로그램 또는 Korn 쉘 스크립트를 install-directory/rt-name/bin 디렉토리에 생성합니다. 이러한 프로그램 또는 쉘 스크립트는 콜백 메소드 역할을 합니다.
엄격하게 말하자면 오류 모니터를 구현하는 rt-name_probe 프로그램은 콜백 프로그램이 아닙니다. RGM은 rt-name_probe를 직접 호출하지 않고 rt-name_monitor_start 및 rt-name_monitor_stop을 호출합니다. 이러한 메소드는 rt-name _probe를 호출하여 오류 모니터를 시작하고 중지합니다.
Agent Builder에서 생성하는 8개 메소드는 다음과 같습니다.
rt-name_monitor_check
rt-name_monitor_start
rt-name_monitor_stop
rt-name_probe
rt-name_svc_start
rt-name_svc_stop
rt-name_update
rt-name_validate
각 메소드에 대한 자세한 내용은 rt_callbacks(1HA) 설명서 페이지를 참조하십시오.
install-directory/rt-name/src 디렉토리(C 출력)에서 Agent Builder는 다음 파일을 생성합니다.
헤더 파일(rt-name.h)
모든 메소드에 공통된 코드를 포함하는 소스 파일(rt-namec)
공통 코드의 객체 파일(rt-name.o)
각 메소드의 소스 파일(*.c)
각 메소드의 객체 파일(*.o)
Agent Builder는 rt-name.o 파일을 각 메소드 o 파일에 연결하여 install-directory/rt-name/bin 디렉토리에 실행 가능 파일을 만듭니다.
Korn 쉘 출력의 경우 install-directory/rt-name/bin 및 install-directory/rt-name/src 디렉토리가 동일합니다. 각 디렉토리에는 일곱 개의 콜백 메소드와 Probe 메소드에 해당하는 여덟 개의 실행 스크립트가 포함되어 있습니다.
Korn 쉘 출력에는 시간을 가져오고 검사하기 위해 특정 콜백 메소드에 필요한 2개의 컴파일된 유틸리티 프로그램인 gettime 및 gethostnames가 포함됩니다.
소스 코드를 편집하고 make 명령을 실행하여 코드를 다시 컴파일한 다음 작업을 마치면 make pkg 명령을 실행하여 새 패키지를 생성할 수 있습니다. 소스 코드 변경을 지원하기 위해 Agent Builder는 소스 코드의 올바른 위치에 코드를 추가할 수 있는 주석을 포함합니다. 생성된 소스 코드 편집을 참조하십시오.