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

Update 메소드 작동 방식

RGM은 해당 등록 정보가 변경되었음을 실행 중인 자원에 알리기 위해 Update 메소드를 실행합니다. RGM은 클러스터 관리자가 자원 또는 자원 그룹의 등록 정보를 설정하는 데 성공한 후에 Update를 실행합니다. 이 메소드는 자원이 온라인 상태인 노드에서 호출됩니다.

Update 메소드의 기능

Update 메소드는 등록 정보를 업데이트하지 않으며 이는 RGM에 의해 수행됩니다. Update 메소드는 실행 중인 프로세스에 업데이트가 발생했음을 알립니다. 샘플 데이터 서비스에서 등록 정보 업데이트의 영향을 받는 유일한 프로세스는 오류 모니터이며, 따라서 오류 모니터 프로세스는 Update 메소드에 의해 중지 및 재시작됩니다.

Update 메소드는 오류 모니터가 실행 중인지 확인한 다음 pmfadm 명령을 사용하여 이를 중지해야 합니다. 이 메소드는 오류 모니터를 구현하는 검사 프로그램의 위치를 검색한 다음 pmfadm 명령을 사용하여 오류 모니터를 재시작합니다.

Update를 사용하여 모니터 중지

Update 메소드는 pmfadm -q를 사용하여 모니터가 실행 중인지 확인하고 모니터가 실행 중일 경우 pmfadm -s TERM을 사용하여 이를 중지합니다. 모니터가 성공적으로 종료하면 해당 결과에 대한 메시지가 클러스터 관리자에게 보내집니다. 모니터를 중지할 수 없는 경우 Update는 실패 상태로 종료하고 오류 메시지를 클러스터 관리자에게 보냅니다.

if pmfadm -q $RESOURCE_NAME.monitor; then

# Kill the monitor that is running already
pmfadm -s $PMF_TAG TERM
    if [ $? -ne 0 ]; then
       logger -p ${SYSLOG_FACILITY}.err \
              -t [$SYSLOG_TAG] \
                 "${ARGV0} Could not stop the monitor"
       exit 1
    else
    # could successfully stop DNS. Log a message.
       logger -p ${SYSLOG_FACILITY}.err \
              -t [$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME] \
                 "Monitor for HA-DNS successfully stopped"
    fi

모니터 다시 시작

모니터를 다시 시작하려면 Update 메소드에서 검사 프로그램을 구현하는 스크립트를 찾아야 합니다. 검사 프로그램은 RT_basedir 등록 정보에서 가리키는 데이터 서비스의 기본 디렉토리에 있으므로 Update는 다음과 같이 RT_basedir의 값을 검색하여 RT_BASEDIR 변수에 저장합니다.

RT_BASEDIR=`scha_resource_get -O RT_basedir -R $RESOURCE_NAME -G \
$RESOURCEGROUP_NAME`

그런 다음 Updatepmfadm과 함께 RT_BASEDIR을 사용하여 dns_probe 프로그램을 재시작합니다. 성공할 경우 Update는 성공 상태로 종료하고 해당 결과에 대한 메시지를 클러스터 관리자에게 보냅니다. pmfadm이 검사 프로그램을 시작할 수 없는 경우 Update는 실패 상태로 종료하고 오류 메시지를 기록합니다.

Update 종료 상태

Update 메소드가 실패하면 자원이 “업데이트 실패” 상태가 됩니다. 이 상태는 자원의 RGM 관리에 영향을 주지 않지만 syslog() 함수를 통해 업데이트 작업이 실패했음을 관리 도구에 표시합니다.