RGM은 해당 등록 정보가 변경되었음을 실행 중인 자원에 알리기 위해 Update 메소드를 호출합니다. RGM은 관리 작업이 자원이나 자원 그룹의 등록 정보를 설정하는 데 성공하면 Update를 호출합니다. 이 메소드는 자원이 온라인 상태인 노드에서 호출됩니다.
Update 메소드는 등록 정보를 업데이트하지 않으며 이는 RGM에 의해 수행됩니다. 대신 이 메소드는 업데이트가 발생했다는 사실을 실행 중인 프로세스에 알립니다. 샘플 데이터 서비스에서 등록 정보 업데이트의 영향을 받는 유일한 프로세스는 오류 모니터이며, 따라서 오류 모니터 프로세스는 Update 메소드에 의해 중지 및 다시 시작됩니다.
Update 메소드는 오류 모니터가 실행 중인지 확인한 다음 pmfadm을 사용하여 이를 중지해야 합니다. 이 메소드는 오류 모니터를 구현하는 검사 프로그램의 위치를 검색한 다음 pmfadm을 사용하여 오류 모니터를 다시 시작합니다.
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` |
그런 다음 Update는 pmfadm과 함께 RT_BASEDIR 값을 사용하여 dns_probe 프로그램을 다시 시작합니다. 성공할 경우 Update는 성공 상태로 종료하고 해당 결과에 대한 메시지를 관리자에게 보냅니다. pmfadm이 검사 프로그램을 시작할 수 없는 경우 Update는 실패 상태로 종료하고 오류 메시지를 기록합니다.
Update 메소드가 실패하면 자원이 “업데이트 실패” 상태가 됩니다. 이 상태는 자원의 RGM 관리에 영향을 주지 않지만 syslog 기능을 통해 업데이트 작업이 실패했음을 관리 도구에 나타냅니다.