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

Salida de Agent Builder

Archivos binario y de origen

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.


Nota –

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:

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:

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.


Nota –

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.

Secuencias de comando de utilidades y páginas de comando man creadas por Agent Builder

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:


Nota –

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

Archivos de compatibilidad creados por Agent Builder

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.

Directorio del paquete creado por Agent Builder

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:

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.

Archivo rtconfig

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 .