Sun Cluster: Guía del desarrollador de los servicios de datos del sistema operativo Solaris

Funcionamiento del método Update

RGM ejecuta el método Update para notificar a un recurso en ejecución que se han modificado sus propiedades. RGM ejecuta Update después de que el administrador del clúster consiga configurar las propiedades de un recurso o su grupo. Este método se invoca en los nodos en los que el recurso esté en línea.

Comportamiento del método Update

El método Update no actualiza las propiedades, sino RGM. El método Update notifica a los procesos que se están ejecutando que se ha realizado una actualización. El único proceso del servicio de datos de ejemplo que se ve afectado por la actualización de propiedades es el supervisor de fallos. Por lo tanto, el único proceso que detiene y reinicia el método Update es el del supervisor.

El método Update debe comprobar que el supervisor de fallos se está ejecutando y, a continuación, desactivarlo con el comando pmfadm. El método obtiene la ubicación del programa de análisis que implementa el supervisor de fallos y lo reinicia con el comando pmfadm.

Parada del supervisor con Update

El método Update utiliza pmfadm -q para comprobar que el supervisor se está ejecutando y, si es así, lo desactiva con el comando pmfadm -s TERM. Si se finaliza con éxito el supervisor, se envía un mensaje en relación con esta acción al administrador del clúster. Si el supervisor no se puede detener, Update sale con un estado de fallo y envía un mensaje de error al administrador del clúster.

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

Reinicio del supervisor

Para reiniciar el supervisor, el método Update debe encontrar la secuencia que implementa el programa de análisis. Éste reside en el directorio básico del servicio de datos, al que señala la propiedad Rt_basedir. Update recupera el valor de RT_basedir y lo guarda en la variable RT_BASEDIR, como se muestra a continuación.

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

Update utiliza el programa RT_BASEDIR con pmfadm para reiniciar el programa dns_probe. Si esta acción se realiza satisfactoriamente, Update sale con éxito y envía un mensaje en relación a esto al administrador del clúster. Si pmfadm no puede iniciar el programa de análisis, Update sale con un estado de fallo y registra un mensaje de error.

Estado de salida de Update

Un fallo del método Update hace que el recurso se ponga en estado de “actualización no satisfactoria”. Este estado no afecta a la administración del recurso por parte de RGM, pero indica el fallo de la actualización a las herramientas de administración mediante la función syslog().