X

News, tips, partners, and perspectives for the Oracle Solaris operating system

Creación de Agentes de Sun Cluster para tareas sencillas.

Guest Author
A menudo escucho preguntas de este tipo en distintos foros:
  • ¿Cómo envío un mensaje de correo electrónico cada vez que se produce una conmutación por error en un grupo de recursos?
  • ¿Cómo automatizo el ajuste de este archivo de configuración antes de que SunCluster inicie mi aplicación?

  • Todas estas preguntas pueden considerarse una variante de la siguiente pregunta: "¿Cómo ejecuto mi propia secuencia de comandos personalizada para realizar esta tarea antes/después de que se inicie un determinado grupo/recurso ?"
    Tal y como los usuarios ya familiarizados con SunCluster saben, para ello, es necesario utilizar un Agente y SunCluster cuenta con herramientas, tales como la GUI de Sun Cluster Agent Builder y el modelo de Servicios de datos genéricos ( GDS) (también admitido por scdsbuilder) para dichas tareas. Estas herramientas se centran más en las "aplicaciones", teniendo en cuenta que habrá un conjunto de procesos/daemon de nivel de usuario en ejecución que constituirán las aplicaciones.
    Hacer frente a distintos tipos de aplicaciones es un tema bastante complejo. En esta entrada del blog, voy a realizar rápidamente un resumen muy básico de lo que me gustaría presentar hoy. Este resumen consta de unos pasos muy sencillos.
    - Cree una secuencia de comandos, que realice la acción específica que desea llevar a cabo como, por ejemplo, #!/bin/ksh logger -p user.notice Start script called with $\* exit 0 Tenga en cuenta que "exit 0" , que aparece al final, comunica a la estructura SC que la operación de inicio se realizó correctamente cada vez que la estructura SunCluster llama a la secuencia de comandos. Sustituya el comando "syslog" por la acción que deseaba llevar a cabo.
    Supongamos que a esta secuencia de comandos le asigna el nombre "startmyscagent".
    - Cree una secuencia de comandos que realice la acción STOP (DETENER) para todas las acciones que ha establecido en la secuencia de comandos de inicio. Si no es necesario, omita este paso. Utilizaríamos /bin/true para la acción STOP.
    - Instale sus secuencias de comandos en una ubicación específica en todos los nodos del clúster. Es recomendable usar una ubicación en /opt como, por ejemplo, /opt/myscagent.
    - Cree un archivo de Registro de tipo de recurso (RTR) para su agente. Denomínelo "myscagent.rtr". Debería presentar el siguiente aspecto (córtelo y péguelo en su editor preferido). RESOURCE_TYPE = "myscagent"; START=/opt/myscagent/startmyscagent; STOP=/bin/true; ¡Y eso es todo! Ya se ha completado el "desarrollo del agente". Ya puede utilizar los comandos de administración de SunCluster para registrar este tipo de recurso y crear más recursos de este tipo. Por ejemplo:
    - scrgadm -at myscagent -f /opt/myscagent/myscagent.rtr - scrgadm -ag RG1 - scrgadm -og RG1 - scrgadm -aj myresource1 -g RG1 -t myscagent - scswitch -ej myresource1
    A partir de este momento, se llamará a la secuencia de comandos de inicio que ha implementado cada vez que se inicie el RG. En ocasiones se recomienda llamar a la secuencia de comandos de inicio de myscagent \*antes que\* a otro recurso existente en el clúster. Por ejemplo, para garantizar que siempre se llame a la secuencia de comandos de inicio ANTES de que se inicie un recurso denominado "resource2" (recurso2): - scrgadm -c -j resource2 -y Resource_dependencies=myresource1 En realidad, este enfoque es muy primitivo. No distingue entre distintos recursos del mismo tipo. La acción que se lleva a cabo es exactamente igual, independientemente del número de recursos distintos que se cree del tipo "myscagent". Por supuesto que puede crear otra llamada de agente "myotherscagent" o cualquier otro elemento que desee, pero si las acciones que llevan a cabo los dos RT son muy similares, se convierte en todo un engorro. Además, no existe ninguna noción de propiedades de recursos o supervisión de recursos ni tampoco le muestra cómo implementar métodos más avanzados como, por ejemplo, VALIDATE y MONITOR_CHECK, etc.
    Para tareas sencillas, este enfoque permite realizar las tareas y, durante el proceso, conocerá de primera mano cómo el Administrador de grupos de recursos de SunCluster (RGM) llama a métodos en implementaciones de tipos de recursos.
    Para obtener información adicional sobre este tema, consulte la guía Sun Cluster Agent Developer Guide en el sitio Sun Docs.
    Ashutosh Tripathi, Ingeniero jefe de software, Departamento de ingeniería de SunCluster

    Be the first to comment

    Comments ( 0 )
    Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.