Solaris OS용 Sun Cluster 데이터 서비스 개발 안내서

제어 및 초기화 콜백 메소드

기본 제어 및 초기화 콜백 메소드에서 자원을 시작 및 중지합니다. 다른 메소드는 자원에서 초기화 및 종료 코드를 실행합니다.

Start

자원을 포함하는 자원 그룹이 클러스터 노드에서 온라인 상태로 전환되면 RGM은 해당 노드에서 이 메소드를 실행합니다. 이 메소드는 해당 노드에서 자원을 활성화합니다.

활성화한 자원이 시작되고 로컬 노드에서 사용할 수 있을 때까지 Start 메소드를 종료하면 안 됩니다. 따라서 종료하기 전에 Start 메소드에서 자원을 폴링하여 자원을 시작했는지 확인해야 합니다. 또한 이 메소드에 충분한 시간 초과값을 설정해야 합니다. 예를 들어, 데이터베이스 데몬과 같은 특정 자원은 시작하는 데 시간이 더 걸리기 때문에 메소드에 대한 시간 초과값이 커야 합니다.

RGM에서 Start 메소드의 실패에 응답하는 방법은 Failover_mode 등록 정보의 설정에 따라 다릅니다.

자원의 Start 메소드에 대한 시간 초과값은 자원 유형 등록(RTR) 파일의 Start_timeout 등록 정보에 의해 설정됩니다.

Stop

자원을 포함하는 자원 그룹이 클러스터 노드에서 오프라인 상태로 전환되면 RGM은 해당 노드에서 이 필수 메소드를 실행합니다. 이 메소드는 자원이 활성화된 경우 자원을 비활성화합니다.

메소드에서 제어하는 자원이 로컬 노드에서 모든 활동을 완전히 중지하고 모든 파일 설명자를 닫을 때까지 Stop 메소드를 종료하면 안 됩니다. 그렇지 않으면 RGM에서 실제로 활성 상태인 자원을 중지된 것으로 가정하기 때문에 데이터가 손상될 수 있습니다. 데이터 손상을 방지하는 가장 안전한 방법은 자원과 관련된 로컬 노드에서 모든 프로세스를 종료하는 것입니다.

종료하기 전에 Stop 메소드에서 자원을 폴링하여 중지되었는지 확인해야 합니다. 또한 이 메소드에 충분한 시간 초과값을 설정해야 합니다. 예를 들어, 데이터베이스 데몬과 같은 특정 자원은 중지하는 데 시간이 더 걸리기 때문에 메소드에 대한 시간 초과값이 커야 합니다.

RGM에서 Stop 메소드의 실패에 응답하는 방법은 Failover_mode 등록 정보의 설정에 따라 다릅니다. 자원 등록 정보를 참조하십시오.

자원의 Stop 메소드에 대한 시간 초과값은 RTR 파일의 Stop_timeout 등록 정보에 의해 설정됩니다.

Init

RGM은 자원이 관리 상태가 될 경우, 즉 자원 그룹이 관리 해제에서 관리 상태로 전환되거나 이미 관리 상태인 자원 그룹에 자원이 만들어질 경우 자원의 일회성 초기화를 수행하기 위해 이 선택적인 메소드를 실행합니다. 이 메소드는 Init_nodes 자원 등록 정보로 식별된 노드에서 호출됩니다.

Fini

RGM은 자원이 관리 해제 상태가 될 경우, 즉 자원 그룹이 관리 해제 상태로 전환되거나 관리 상태인 자원 그룹에서 자원이 삭제될 경우 정리를 위해 이 선택적인 메소드를 실행합니다. 이 메소드는 Init_nodes 자원 등록 정보로 식별된 노드에서 호출됩니다.

Boot

RGM은 자원을 포함하는 자원 그룹이 RGM에서 이미 관리되고 있을 때 클러스터에 결합된 노드에서 자원을 초기화하기 위해 Init와 유사한 이 선택적인 메소드를 실행합니다. 이 메소드는 Init_nodes 자원 등록 정보로 식별된 노드에서 실행됩니다. 부트 또는 재부트 결과로 노드가 클러스터에 결합되거나 재결합될 경우 Boot 메소드가 호출됩니다.


주 –

Init, Fini 또는 Boot 메소드가 실패하면 syslog() 함수에서 오류 메시지를 생성하지만 RGM의 자원 관리에는 달리 영향을 주지 않습니다.