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

Evaluación de reinicio frente a recuperación de fallos

Si la variable probefail es distinta de 0 (satisfactorio), significa que la orden nslookup agotó el tiempo de espera o que la respuesta ha provenido de un servidor diferente de DNS del servicio de ejemplo. En ambos casos, el servidor de DNS no funciona como debería y el supervisor de fallos invoca la función decide_restart_or_failover() para determinar si se debe reiniciar el servicio de datos localmente o solicitar que RGM reubique el servicio de datos en otro nodo. Si la variable probefail es 0, se genera un mensaje que indica que el análisis ha sido satisfactorio.


   if [ $probefail -ne 0 ]; then
         decide_restart_or_failover
   else
         logger -p ${SYSLOG_FACILITY}.err\
         -t [$SYSLOG_TAG]\
         "${ARGV0} Análisis del recurso HA-DNS satisfactorio"
   fi

La función decide_restart_or_failover() utiliza una ventana de tiempo (Retry_interval) y un recuento de fallos (Retry_count) para determinar si debe reiniciar el DNS localmente o solicitar que RGM reubique el servicio de datos en otro nodo. Implementa el siguiente código condicional (consulte la lista de códigos para decide_restart_or_failover() en Programa PROBE).

Si el número de reinicios alcanza el límite durante el intervalo de tiempo, la función solicita que RGM reubique el servicio de datos en otro nodo. Si el número de reinicios está dentro del límite o se ha superado el intervalo, por lo que el recuento vuelve a empezar, la función intenta reiniciar DNS en el mismo nodo. Sobre esta función debe tener en cuenta lo siguiente: