이 절에서는 콜백 메소드 구현에 관련된 일반적인 정보를 제공합니다.
일반적으로 콜백 메소드는 자원 등록 정보 액세스해야 합니다. RMAPI에서는 자원의 시스템 정의 등록 정보와 확장 등록 정보를 액세스하기 위해 콜백 메소드에서 사용할 수 있는 쉘 명령과 C 함수를 모두 제공합니다. scha_resource_get(1HA) 및 scha_resource_get(3HA) 설명서 페이지를 참조하십시오.
DSDL에서는 시스템 정의 등록 정보를 액세스하기 위한 C 함수 세트(각 등록 정보마다 하나의 함수)와 확장 등록 정보를 액세스하기 위한 함수를 제공합니다. scds_property_functions(3HA) 및 scds_get_ext_property(3HA) 설명서 페이지를 참조하십시오.
Status 및 Status_msg 외에는 자원 등록 정보 설정을 위해 사용할 수 있는 API 함수가 없기 때문에 등록 정보 기법을 사용하여 데이터 서비스의 동적 상태 정보를 저장할 수 없습니다. 그보다는 전역 파일에 동적 상태 정보를 저장해야 합니다.
클러스터 관리자는 scrgadm 명령을 사용하거나 사용 가능한 그래픽 관리 명령 또는 인터페이스를 통해 특정한 자원 등록 정보를 설정할 수 있습니다. 그러나 클러스터 재구성 도중, 즉 RGM에서 메소드를 호출할 때 scrgadm이 실패하므로 콜백 메소드에서 scrgadm을 호출하지 마십시오.
일반적으로 RGM은 동일한 인자를 가진 동일한 자원에 연속해서 둘 이상의 메소드를 호출하지 않습니다. 그러나 Start 메소드가 실패할 경우 RGM은 자원이 한 번도 시작되지 않았더라도 자원에 대한 Stop 메소드를 호출할 수 있습니다. 마찬가지로 자원 데몬이 저절로 소멸된 경우에도 RGM은 이 자원 데몬에 대해 Stop 메소드를 실행할 수 있습니다. 동일한 시나리오가 Monitor_start 및 Monitor_stop 메소드에 적용됩니다.
이러한 이유로 Stop 및 Monitor_stop 메소드에 멱등원을 작성해야 합니다. 동일한 인자를 가진 동일한 자원에 대해 Stop 또는 Monitor_stop을 반복해서 호출할 경우 단일 호출과 동일한 결과가 만들어집니다.
멱등원에 함축된 한 가지 의미는 자원 또는 모니터가 이미 중지되고 아무런 작업을 수행하지 않더라도 Stop 및 Monitor_stop에서 0(성공)을 반환해야 한다는 것입니다.
Init, Fini, Boot 및 Update 메소드도 멱등원이어야 합니다. Start 메소드는 멱등원일 필요가 없습니다.