이 절에서는 일반적인 콜백 메소드 구현에 관련된 일부 정보를 제공합니다.
일반적으로 콜백 메소드에는 자원의 등록 정보에 대한 액세스가 필요합니다. 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 메소드는 멱등원일 필요가 없습니다.