El Gestor de grupos de recursos (RGM) administra los grupos de recursos y, en última instancia, los recursos de un clúster. RGM funciona sobre un modelo de rellamada. Cuando se produce un evento específico, como un fallo en un nodo, RGM llama a los métodos del tipo de recurso de todos los recursos que se están ejecutando en el nodo afectado. Por ejemplo, RGM llama al método Stop para detener un recurso que se esté ejecutando en el nodo afectado y, después, invoca el método Start del recurso para iniciar éste en un nodo diferente. Consulte Modelo del Gestor de grupos de recursos, Métodos de rellamada y la página de comando man rt_callbacks(1HA) para obtener más información sobre este modelo.
Para ser compatible con este modelo, Agent Builder genera ocho secuencias de comando de shell Korn o de programas C en el directorio install-directory/rt-name/bin. Estas secuencias de comandos de shell o programas actúan como métodos de rellamada.
Para ser precisos, el programa rt-name_probe, que implementa un supervisor de fallos, no es un programa de rellamada. RGM no llama directamente a rt-name_probe. En su lugar, llama a rt-name_monitor_start y rt-name_monitor_stop. Estos métodos inician y detienen el supervisor de fallos mediante una llamada a rt-name _probe.
A continuación se muestran los ocho métodos que genera Agent Builder:
rt-name_monitor_check
rt-name_monitor_start
rt-name_monitor_stop
rt-name_probe
rt-name_svc_start
rt-name_svc_stop
rt-name_update
rt-name_validate
Consulte la página de comando man rt_callbacks(1HA) para obtener información específica sobre cada método.
En el directorio install-directory/rt-name/src (salida C), Agent Builder genera los siguientes archivos:
Un archivo de encabezado (rt-name.h)
Un archivo de origen (rt-name.c) que contiene el código común a todos los métodos.
Un archivo objeto (rt-name.o) para el código común.
Archivos de origen (*.c) para cada uno de los métodos.
Archivos objeto (*.o) para cada uno de los métodos.
Agent Builder enlaza el archivo rt-name.o a cada uno de los archivos .o del método para crear archivos ejecutables en el directorio install-directory/rt-name/bin.
En la salida de shell Korn, los directorios install-directory/rt-name/bin y install-directory/rt-name/src son idénticos. Cada directorio contiene las ocho secuencias de comandos ejecutables que corresponden a los siete métodos de rellamadas y al método Probe.
La salida de shell Korn incluye dos programas de utilidad compilados, gettime and gethostnames. Determinados métodos de rellamada requieren estos métodos para obtener la hora y realizar el análisis.
Se puede editar el código fuente, ejecutar el comando makepara volver a compilar el código y, al terminar, ejecutar el comando make pkg para generar un nuevo paquete. Para poder realizar cambios en el código fuente, Agent Builder incluye delimitadores en determinadas ubicaciones del código fuente en donde es posible agregar nuevo código. Consulte Edición del código fuente generado.
Después de generar un tipo de recurso e instalar el paquete correspondiente en un clúster, todavía hay que obtener una instancia (recurso) del tipo de recurso que se ejecuta en un clúster, generalmente mediante comandos administrativos o SunPlex Manager. Normalmente, para obtener una instancia, se deben utilizar comandos administrativos o SunPlex Manager. Sin embargo, para mayor comodidad, Agent Builder genera una secuencia de comandos personalizada de utilidades para este fin, así como secuencias para detener y eliminar un recurso del tipo de recurso de destino. Estas secuencias de comandos, ubicadas en el directorio install-directory/rt-name/util, realizan las siguientes acciones:
Secuencia de inicio. Registra el tipo de recurso y crea los grupos de recursos y recursos necesarios. Esta secuencia también crea el recurso de dirección de red (LogicalHostname o SharedAddress ) que permite que la aplicación establezca comunicación con los clientes de la red.
Secuencia de parada. Detiene el recurso.
Secuencia de eliminación. Deshace el trabajo realizado por la secuencia de inicio. Es decir, esta secuencia de comandos detiene y elimina del sistema los recursos, los grupos de recursos y el tipo de recursos de destino.
Sólo se pueden utilizar secuencias de eliminación con un recurso que se haya iniciado con la secuencia de inicio correspondiente, puesto que estas secuencias utilizan convenciones internas para asignar nombres a los recursos y grupos de recursos.
Agent Builder nombra estas secuencias añadiendo el nombre de la aplicación a los nombres de secuencias. Por ejemplo, si el nombre de la aplicación es ftp, las secuencias se denominarán startftp, stopftp y removeftp.
Agent Builder proporciona páginas de comando man en el directorio install-directory/rt-name/man/man1m para cada secuencia de comandos de utilidades. Es recomendable leer estas páginas de comando man antes de iniciar las secuencias, ya que describen los argumentos necesarios para realizar la transferencia a la secuencia de comandos.
Para consultar estas páginas de comando man, especifique la ruta al directorio man mediante la opción -M con el comando man. Por ejemplo, si SUNW es el proveedor y ftp el nombre de la aplicación, escriba el siguiente comando para ver la página de comando man startftp(1M):
% man -M install-directory/SUNWftp/man startftp |
Las secuencias de utilidades de las páginas de comando man también están disponibles para el administrador del clúster. Una vez instalado el paquete generado por Agent Builder en un clúster, las páginas de comando man de las secuencias de comandos de utilidades se ubican en el directorio /opt/rt-name/man. Por ejemplo, escriba el siguiente comando para ver la página de comando man startftp(1M):
% man -M /opt/SUNWftp/man startftp |
Agent Builder ubica los archivos de compatibilidad como, por ejemplo, pkginfo, postinstall, postremove y preremove en el directorio install-directory/rt-name/etc. Este directorio también contiene el archivo de registro de tipo de recurso (RTR). El archivo RTR declara las propiedades de recursos y tipos de recursos disponibles para el tipo de recurso de destino e inicializa los valores de propiedades al registrar un recurso en un clúster. Consulte Establecimiento del recurso y las propiedades del tipo de recurso para obtener más información. Al archivo RTR se le asigna el nombre de proveedor junto con el nombre de tipo de recurso, vendor-name.resource-type-name; por ejemplo, SUNW.ftp.
Este archivo se puede editar con un editor de texto estándar y no es necesario recompilar el código fuente para realizar los cambios. Sin embargo, es necesario volver a crear el paquete con el comando make pkg.
El directorio install-directory/rt-name/pkg contiene un paquete de Solaris. El nombre del paquete se forma mediante la unión del nombre del proveedor y el de la aplicación, por ejemplo, SUNWftp. El makefile del directorio install-directory/rt-name/src admite la creación de un nuevo paquete. Por ejemplo, si se realizan cambios en los archivos de origen y se vuelve a compilar el código, o se realizan modificaciones en las secuencias de comandos de utilidades, se debe utilizar el comando make pkg para crear un nuevo paquete.
Al eliminar un paquete de un clúster, el comando pkgrm puede fallar si se intenta ejecutar desde más de un nodo. Este problema se puede resolver de una de las dos formas siguientes:
Ejecute la secuencia de comandos remove rt-name desde un nodo del clúster antes de ejecutar el comando pkgrm desde cualquier otro nodo.
Ejecute el comando pkgrm desde un nodo del clúster que se encargue de todas las operaciones de limpieza necesarias. A continuación, ejecute el comando pkgrm desde los restantes nodos, de forma simultánea si es necesario.
Si falla el comando pkgrm al intentar ejecutarlo simultáneamente desde varios nodos, ejecute el comando de nuevo desde uno solo. A continuación, ejecute el comando desde los nodos restantes.
Si genera código fuente en C o en shell Korn en el directorio de trabajo, Agent Builder generará un archivo de configuración denominado rtconfig. Este archivo contiene la información especificada en las pantallas de creación y configuración. Si inicia Agent Builder desde el directorio de trabajo de un tipo de recurso existente, esta herramienta leerá el archivo rtconfig. Agent Builder introduce la información especificada para el tipo de recurso existente en las pantallas de creación y configuración. Agent Builder funciona del mismo modo si se elige la opción Load Resource Type (Cargar tipo de recurso) desde el menú File (Archivo) para cargar un tipo de recurso existente. Esta característica resulta útil para clonar tipos de recursos existentes. Consulte Reutilización del código creado con Agent Builder .