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

Método Update

RGM invoca el método Update para notificar a un recurso en ejecución que se han modificado sus propiedades. RGM invoca Update después de que una acción administrativa establezca satisfactoriamente las propiedades de un recurso o del grupo al que pertenece. Este método se invoca en los nodos en los que el recurso está en línea.

Información general de Update

El método Update no actualiza las propiedades, de eso se encarga RGM. En su lugar, notifica a los procesos en ejecución que se ha producido una actualización. El único proceso del servicio de datos de ejemplo que está afectado por una actualización de una propiedad es el supervisor de fallos, por lo que es este proceso el que detiene y reinicia el método Update.

El método Update debe comprobar que el supervisor de fallos esté en ejecución y terminarlo con pmfadm. El método obtiene la ubicación del programa de análisis que implementa el supervisor de fallos y lo reinicia otra vez con pmfadm.

Parada del supervisor con Update

El método Update utiliza pmfadm -q para verificar que el supervisor se esté ejecutando y, en caso de que sea así, lo termina con pmfadm -s TERM. Si el supervisor se termina satisfactoriamente, se envía un mensaje para indicárselo al usuario administrativo. Si el supervisor no se puede detener, Update sale con un estado de fallo y envía un mensaje de error al usuario administrativo.


if pmfadm -q $RESOURCE_NAME.monitor; then

# Terminar el supervisor que se está ejecutando
pmfadm -s $PMF_TAG TERM
    if [ $? -ne 0 ]; then
       logger -p ${SYSLOG_FACILITY}.err \
              -t [$SYSLOG_TAG] \
                 "${ARGV0} No se puede detener el supervisor"
       exit 1
    else
    # se ha podido detener satisfactoriamente el DNS. Registrar un
    # mensaje.
       logger -p ${SYSLOG_FACILITY}.err \
              -t [$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME] \
                 "Supervisor para HA-DNS detenido satisfactoriamente"
    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 usa el valor de RT_BASEDIR con pmfadm para reiniciar el programa dns_probe. Si la operación es satisfactoria, Update sale con éxito y envía un mensaje para indicárselo al usuario administrativo. Si pmfadm no puede ejecutar el programa de análisis, Update sale con 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 gestión de RGM del recurso, pero indica el fallo de la acción de actualización a las herramientas de administración, a través del recurso syslog.