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

Capítulo 9 Agent Builder de SunPlex

Este capítulo describe Agent Builder de SunPlex y el módulo Cluster Agent de Agent Builder. Ambas herramientas automatizan la creación de tipos de recursos o servicio de datos que se ejecutarán bajo el control del Gestor de grupos de recursos (RGM). Un tipo de recurso es, básicamente, un envoltorio que rodea una aplicación para que pueda funcionar en un entorno de clúster, bajo el control de RGM.

En este capítulo se tratan los temas siguientes:

Descripción general de Agent Builder

Agent Builder proporciona una interfaz gráfica de usuario (GUI) que permite especificar información sobre la aplicación y el tipo de recurso que se desea crear. Agent Builder admite aplicaciones habilitadas para red y no habilitadas para red. Las aplicaciones habilitadas para red utilizan la red para establecer comunicación con los clientes. Las aplicaciones no habilitadas para red son aplicaciones independientes.


Nota –

Si no puede acceder a la versión de la GUI de Agent Builder, puede utilizar la interfaz de línea de comandos para acceder a esta herramienta. Consulte Utilización de la versión de línea de comandos de Agent Builder .


En función de la información especificada, Agent Builder genera el siguiente software:

Agent Builder también permite generar un tipo de recurso para una aplicación que tenga múltiples árboles de procesos independientes que el recurso del supervisor de procesos (PMF) deba supervisar y reiniciar individualmente.

Antes de usar Agent Builder

Antes de usar Agent Builder, debe saber cómo crear tipos de recursos con varios árboles de procesos independientes.

Agent Builder puede crear tipos de recursos para aplicaciones que tengan más de un árbol de procesos independientes. Estos árboles de procesos se denominan independientes porque PMF los supervisa e inicia individualmente. PMF inicia cada árbol de procesos con su propia etiqueta.


Nota –

Agent Builder le permite crear tipos de recursos con varios árboles de procesos independientes sólo si el código fuente generado que se especifica es C o GDS. No se puede usar Agent Builder para crear estos tipos de recursos para el shell Korn. Para ello, debe escribir el código manualmente.


En el caso de una aplicación básica con varios árboles de procesos independientes, no se puede especificar una única línea de comandos para iniciar la aplicación. En su lugar, es necesario crear un archivo de texto, especificando en cada línea la ruta completa a un comando para iniciar cada uno de los árboles de procesos de la aplicación. Este archivo no debe contener ninguna línea vacía. Debe especificar este texto en el campo de texto del comando de inicio, en la pantalla de configuración de Agent Builder.

Al asegurarse de que este archivo no contenga permisos de ejecución, permite que Agent Builder distinga el archivo. La finalidad de este archivo consiste en iniciar varios árboles de procesos a partir de una secuencia ejecutable simple con varios comandos. Si a este archivo de texto se le conceden permisos de ejecución, no surgirán problemas o errores en los recursos de un clúster. Sin embargo, todos los comandos se iniciarán bajo una etiqueta PMF. Como resultado, PMF no podrá supervisar ni reiniciar individualmente los árboles de procesos.

Utilización de Agent Builder

Esta sección describe cómo utilizar Agent Builder. Además, incluye tareas que deben completarse antes de utilizar Agent Builder. Esta sección también explica cómo usar este programa después de haber generado el código del tipo de recurso.

Se tratan los siguientes temas:

Análisis de la aplicación

Antes de utilizar Agent Builder, debe determinar si la aplicación que desea que ofrezca una alta disponibilidad o escalabilidad cumple los criterios necesarios. Agent Builder no puede realizar este análisis, que se basa únicamente en las características de tiempo de ejecución de la aplicación. Análisis de la validez de la aplicación proporciona más información sobre este tema.

Es posible que Agent Builder no pueda crear siempre un tipo de recurso completo para la aplicación. Sin embargo, en la mayoría de los casos, Agent Builder proporciona al menos una solución parcial. Por ejemplo, las aplicaciones más sofisticadas pueden requerir un código adicional que Agent Builder no genere de forma predeterminada. Entre los ejemplos de este código adicional, se incluye el código que agrega comprobaciones de validación de las propiedades adicionales o que ajusta las propiedades que no muestra Agent Builder. En esos casos, es necesario realizar cambios en el código fuente generado o el archivo RTR. Agent Builder está diseñado para ofrecer este tipo de flexibilidad.

Agent Builder incluye delimitadores en determinados puntos del código fuente generado en los que puede añadir su propio código del tipo de recurso. Después de hacer cambios en el código fuente, se puede usar el makefile generado por Agent Builder para recompilar el código fuente y volver a generar el paquete del tipo de recurso.

Aunque se escriba todo el código del tipo de recurso sin utilizar ningún código generado por Agent Builder, se puede aprovechar el makefile y la estructura que facilita Agent Builder para crear el paquete de Solaris para ese tipo de recurso.

Instalación y configuración de Agent Builder

Agent Builder no requiere ninguna instalación especial. Agent Builder se incluye en el paquete SUNWscdev, instalado de forma predeterminada durante la instalación del software de Sun Cluster. En Software Sun Cluster: Guía de instalación para el sistema operativo Solaris encontrará más información.

Antes de utilizar Agent Builder, compruebe los siguientes requisitos:


Nota –

Puede utilizar un compilador diferente al compilador estándar cc con Agent Builder. Para ello, cree un vínculo simbólico en $PATH desde cc a un compilador diferente como, por ejemplo, gcc. O cambie la especificación del compilador en el makefile (actualmente, CC=cc) a la ruta completa de un compilador diferente. Por ejemplo, en el makefile que genera Agent Builder, cambie CC=cc por CC=pathname/gcc. En este caso, no puede ejecutar directamente Agent Builder. En su lugar, debe utilizar los comandos make y make pkg para generar el código del servicio de datos y del paquete.


Pantallas de Agent Builder

Agent Builder es un asistente que consta de dos pasos con una pantalla para cada uno de ellos. Agent Builder proporciona las dos siguientes pantallas que sirven de guía durante el proceso de creación de un nuevo tipo de recurso:

  1. Pantalla de creación En esta pantalla, se proporciona información básica sobre el tipo de recurso que se va a crear como, por ejemplo, el nombre y el directorio de trabajo de los archivos generados. El directorio de trabajo es donde se crea y se configura la plantilla del tipo de recurso. También puede especificar la siguiente información:

    • El tipo de recurso que se va a crear (escalable o de recuperación ante fallos).

    • Si la aplicación básica está habilitada para red (es decir, si usa la red para establecer comunicación con sus clientes).

    • El tipo de código que se va a generar (shell C o Korn (ksh), o GDS)

    Para obtener información sobre GDS, consulte el Capítulo 10, Servicios genéricos de datos. Debe proporcionar toda la información solicitada en esta pantalla y seleccionar Create (Crear) para generar el resultado correspondiente. A continuación, puede acceder a la pantalla de configuración.

  2. Pantalla de configuración. En esta pantalla, debe especificar toda la línea de comandos que se transferirá al shell UNIX para iniciar la aplicación básica. También puede proporcionar comandos para detener y analizar la aplicación. Si no especifica estos dos comandos, el resultado generado utiliza las señales para detener la aplicación y proporciona un mecanismo de análisis predeterminado. Consulte la descripción del comando de análisis en Utilización de la pantalla de configuración. La pantalla de configuración también permite cambiar los valores de tiempo de espera para cada uno de estos tres comandos: start, stop y probe.

Inicio de Agent Builder


Nota –

Si no puede acceder a la versión de la GUI de Agent Builder, puede utilizar la interfaz de línea de comandos para acceder a esta herramienta. Consulte Utilización de la versión de línea de comandos de Agent Builder .


Si inicia Agent Builder desde el directorio de trabajo de un tipo de recurso existente, la herramienta inicializa las pantallas de creación y configuración con los valores de este tipo de recurso.

Escriba el siguiente comando para iniciar Agent Builder:


% /usr/cluster/bin/scdsbuilder

Aparece la pantalla de creación.

Figura 9–1 Pantalla de creación de Agent Builder

Cuadro de diálogo SunPlex Agent Builder que muestra la pantalla principal de Agent Builder

Desplazamientos por Agent Builder

Para introducir información en las pantallas de creación y configuración, realice las siguientes operaciones:

Los botones de la parte inferior de cada pantalla permiten finalizar la tarea, pasar a la pantalla anterior o siguiente o salir de Agent Builder. Agent Builder resalta u oscurece estos botones según sea pertinente.

Por ejemplo, una vez cumplimentados los campos y seleccionadas las opciones deseadas en la pantalla de creación, haga clic en el botón Create (Crear) de la parte inferior de la pantalla. Los botones Previous (Anterior) y Next (Siguiente) se oscurecen, porque no hay ninguna pantalla anterior y aún no se puede ir al paso siguiente, pues no se ha finalizado el actual.

Panel situado en la parte inferior de la pantalla que muestra los botones Crear, Anterior, Siguiente y Cancelar

Agent Builder muestra mensajes de progreso en el área de registro de salida en la parte inferior de la pantalla. Cuando finaliza Agent Builder, se muestra un mensaje de advertencia o un mensaje que indica que se ha realizado con éxito el proceso. Siguiente aparece resaltado o, si es la última pantalla, sólo estará resaltado Cancelar.

En Agent Builder, puede hacer clic en Cancel (Cancelar) en cualquier momento.

Comando Browse (Examinar)

Algunos campos de Agent Builder permiten la introducción de información. Otros campos le permiten hacer clic en Browse (Examinar) para examinar la estructura de directorios y seleccionar un archivo o directorio.

Botón Examinar

Al hacer clic en Browse (Examinar), aparece una pantalla similar a ésta:

Pantalla Examinar, que muestra una lista de archivos

Haga doble clic en una carpeta para abrirla. Al desplazar el cursor por un archivo, aparece su nombre en el campo File Name (Nombre de archivo). Haga clic en Seleccionar cuando haya localizado el archivo que desee y haya movido el curso hasta él.


Nota –

Si está buscando un directorio, desplace el cursor al directorio que desee y haga clic en Abrir. Si el directorio no contiene ningún subdirectorio, Agent Builder cierra la ventana Browse (Examinar) y pone el nombre del directorio sobre el que ha desplazado el cursor en el campo correspondiente. Si el directorio tiene subdirectorios, haga clic en el botón Cerrar para cerrar la ventana Examinar y volver a la pantalla anterior. Agent Builder pone el nombre del directorio sobre el que ha desplazado el cursor en el campo correspondiente.


Los iconos de la esquina superior derecha de la pantalla Browse (Examinar) realizan las siguientes acciones:

Icono 

Función 

Icono que muestra una flecha hacia arriba

Este icono sube un nivel en el árbol de directorios. 

Icono que muestra la carpeta de inicio

Este icono vuelve a la carpeta de inicio. 

Icono que muestra una carpeta nueva

Este icono crea una carpeta nueva en la carpeta seleccionada actualmente. 

Icono que se usa para cambiar de vista

Ese icono, que sirve para cambiar entre las diferentes vistas, está reservado para usos futuros.  

Menús de Agent Builder

Agent Builder proporciona los menús desplegables File (Archivo) y Edit (Editar).

Menú File (Archivo) de Agent Builder

El menú File (Archivo) tiene dos comandos:

Menú Edit (Editar) de Agent Builder

El menú Edit (Editar) tiene dos comandos:

Uso de la pantalla de creación

El primer paso para crear un tipo de recurso consiste en completar la pantalla de creación que aparece al iniciar Agent Builder. La siguiente figura muestra la pantalla de creación una vez introducida la información en los campos.

Figura 9–2 Pantalla de creación de Agent Builder una vez introducida la información

Cuadro de diálogo que muestra la pantalla de creación una vez introducida la información

La pantalla de creación contiene los campos, botones de selección y casillas de verificación siguientes:


Nota –

Si el compilador cc no se encuentra en la variable $PATH, Agent Builder oscurece el botón de opción de C y le permite seleccionar el botón de opción de ksh. Para especificar un compilador diferente, consulte la nota ubicada al final de Instalación y configuración de Agent Builder.


Una vez seleccionada la información necesaria, haga clic en Create (Crear). El área de registro de salida de la parte inferior de la pantalla muestra las acciones que realiza Agent Builder. Puede elegir Guardar registro de salida en el menú Editar para guardar la información en el registro de salida.

Cuando haya acabado, Agent Builder muestra un mensaje de advertencia o uno que informa del éxito de la operación.


Nota –

Aunque la generación de un tipo de recurso completo es un proceso de dos pasos, es posible salir de Agent Builder después de terminar el primer paso (creación) sin perder la información especificada ni el trabajo que ha realizado Agent Builder. Consulte Reutilización del código creado con Agent Builder .


Utilización de la pantalla de configuración

La pantalla de configuración (figura siguiente) aparece después de que Agent Builder haya terminado de crear el tipo de recurso y de que se haya hecho clic en el botón Next (Siguiente) en la pantalla de creación. No se puede acceder a la pantalla de configuración sin haber creado el tipo de recurso con anterioridad.

Figura 9–3 Pantalla de configuración de Agent Builder

Cuadro de diálogo que muestra la pantalla de configuración

La pantalla de configuración contiene los campos siguientes:

Uso de la variable $hostnames basada en shell Korn de Agent Builder

En muchas aplicaciones, en concreto en aquéllas habilitadas para red, el nombre de host mediante el que la aplicación escucha y atiende las solicitudes de cliente debe pasarse a la aplicación en la línea de comandos. En la mayoría de los casos, el nombre de host es un argumento que se debe especificar para iniciar, detener y analizar comandos del tipo de recurso de destino en la pantalla de configuración. Sin embargo, el nombre de host mediante el que escucha la aplicación es específico para el clúster. El nombre de host se determina cuando el recurso se ejecuta en un clúster, y no puede determinarse cuando Agent Builder genera el código del tipo de recurso.

Para solucionar este problema, Agent Builder permite especificar la variable $hostnames en la línea de comandos para los comandos de inicio, parada y análisis.


Nota –

La variable $hostnames se admite para usarla sólo con servicios basados en shell Korn. La variable $hostnames no se admite para usarla con servicios basados en C ni en GDS.


La variable $hostnames se especifica de la misma forma que se especificaría un nombre de host real, por ejemplo:


% /opt/network_aware/echo_server -p port-no -l $hostnames

Cuando se ejecuta un recurso del tipo de recurso de destino en un clúster, el nombre de host LogicalHostname o SharedAddress configurado para ese recurso se sustituye por el valor de la variable $hostnames. El nombre de host se configura para ese recurso en la propiedad Network_resources_used del mismo.

Si configura la propiedad Network_resources_used con varios nombres de host, la variable $hostnames los incluye todos, separados por comas.

Uso de las variables de propiedades

También puede recuperar los valores de las propiedades del tipo de recurso, recurso y grupo de recurso seleccionados de Sun Cluster desde la estructura RGM mediante las variables de propiedades. Agent Builder examina las cadenas de comandos de inicio, parada o análisis de las variables de propiedades y sustituye dichas variables por los valores antes de que esta herramienta ejecute el comando.


Nota –

Las variables de propiedades no se admiten para usarlas con servicios basados en shells Korn.


Lista de variables de propiedades

Esta sección muestra las variables de propiedades que se pueden utilizar. Las propiedades del tipo de recurso, el recurso y el grupo de recursos de Sun Cluster se describen en Apéndice A, Propiedades estándar.

Variables de propiedades de recursos

Variables de propiedades de tipos de recursos

Variables de propiedades de grupos de recursos

Sintaxis de las variables de propiedades

Puede incluir un símbolo de porcentaje (%) delante de un nombre de propiedad para indicar una variable de propiedad, como se muestra en este ejemplo:

/opt/network_aware/echo_server -t %RS_STOP_TIMEOUT -n %RG_NODELIST

Según el ejemplo anterior, es posible que Agent Builder interprete estas variables de propiedades e inicie la secuencia de comandos echo_server con los siguientes valores:

/opt/network_aware/echo_server -t 300 -n phys-node-1,phys-node-2,phys-node-3

Sustitución que Agent Builder realiza de las variables de propiedades

Agent Builder interpreta los tipos de variables de propiedades de la siguiente forma:

Reutilización del código creado con Agent Builder

Agent Builder permite volver a utilizar el trabajo finalizado de varias formas:

ProcedureClonación de un tipo de recurso existente

Siga este procedimiento para clonar un tipo de recurso existente generado por Agent Builder.

Pasos
  1. Cargue un tipo de recurso existente en Agent Builder usando uno de estos métodos:

    • Inicie Agent Builder desde el directorio de trabajo para un tipo de recurso existente creado con esta herramienta. Asegúrese de que el directorio de trabajo contiene el archivo rtconfig. Agent Builder carga los valores para dicho tipo de recurso en las pantallas de creación y configuración.

    • Utilice la opción Load Resource Type (Cargar tipo de recurso) desde el menú desplegable File (Archivo).

  2. Vaya al directorio de trabajo en la pantalla de creación.

    Debe usar el comando Examinar para seleccionar un directorio. Escribir un nombre nuevo para el directorio no basta. Una vez seleccionado un directorio, Agent Builder vuelve a habilitar el botón Crear.

  3. Realice los cambios que desee en el tipo de recurso existente.

    Puede cambiar el tipo de código generado para el tipo de recurso. Por ejemplo, si crea una versión de un tipo de recurso con el shell Korn y, pasado el tiempo, descubre que necesita una versión C, realice lo siguiente:

    • Cargue el tipo de recurso de shell Korn existente.

    • Cambie el lenguaje de salida a C.

    • Haga clic en Create (Crear) para que Agent Builder genere una versión C del tipo de recurso.

  4. Cree el tipo de recurso clonado.

    1. Seleccione Crear para crear el tipo de recurso.

    2. Haga clic en Siguiente para mostrar la pantalla de configuración.

    3. Haga clic en Configure (Configurar) para configurar el tipo de recurso y en Cancel (Cancelar) para finalizar.

Edición del código fuente generado

Para simplificar el proceso de creación de un tipo de recurso, Agent Builder limita la cantidad de información que se puede especificar, lo que limita necesariamente el ámbito del tipo de recurso generado. Por lo tanto, para añadir funciones más sofisticadas, es nececesario modificar el código fuente generado o el archivo RTR. Entre los ejemplos de estas funciones adicionales, se incluye el código que agrega comprobaciones de validación de las propiedades adicionales o que ajusta las propiedades que no muestra Agent Builder.

Los archivos de origen se encuentran en el directorio install-directory/rt-name/src. Agent Builder incluye delimitadores en el código fuente para que pueda agregar el código adicional. Estos delimitadores son del tipo siguiente (para el código C):

/* User added code -- BEGIN vvvvvvvvvvvvvvv */
/* User added code -- END   ^^^^^^^^^^^^^^^ */

Nota –

Estos delimitadores son idénticos en el código fuente de shell Korn, a excepción de la marca del delimitador (#) que indica el comienzo del mismo.


Por ejemplo, rt-name.h declara todas las funciones de la utilidad que utilizan los diferentes programas. Al final de la lista de declaraciones se incluyen delimitadores que permiten declarar las funciones adicionales agregadas a cualquiera de los códigos.

Agent Builder también genera el makefile en el directorio install-directory/rt-name/src con los destinos correspondientes. Utilice el comando make para volver a compilar el código fuente. Utilice el comando make pkg para volver a generar el paquete del tipo de recurso.

El archivo RTR se encuentra en el directorio install-directory/rt-name/etc. El archivo RTR se puede editar con un editor de texto estándar. Consulte Establecimiento del recurso y las propiedades del tipo de recurso para obtener más información sobre el archivo RTR. Consulte Apéndice A, Propiedades estándar para obtener más información sobre las propiedades.

ProcedureUtilización de la versión de línea de comandos de Agent Builder

La versión de línea de comandos de Agent Builder sigue los mismos procedimientos básicos que la GUI. Sin embargo, en lugar de introducir la información en la interfaz gráfica de usuario, se pasan los argumentos a los comandos scdscreate y scdsconfig. Para obtener más información, consulte las páginas de comando man scdscreate(1HA) y scdsconfig(1HA).

Siga estos pasos para utilizar la versión de línea de comandos de Agent Builder.

Pasos
  1. Utilice scdscreate para crear una plantilla del tipo de recurso de Sun Cluster para hacer que una aplicación tenga una alta disponibilidad o escalabilidad.

  2. Utilice scdsconfig para configurar la plantilla del tipo de recurso creada con scdscreate.

    Puede especificar variables de propiedades. Las variables de propiedades se describen en Uso de las variables de propiedades.

  3. Cambie los directorios al subdirectorio pkg del directorio de trabajo.

  4. Use el comando pkgadd para instalar los paquetes que haya creado en scdscreate.

    • Si utiliza el sistema operativo Solaris 10 en un entorno de zonas, escriba el siguiente comando como administrador global en la zona global:


      # pkgadd -G -d . package-name
      

      El paquete especificado se agrega a la zona global, siempre que el contenido del paquete no afecte a ningún área de la zona global compartida por una zona no global.

    • Si utiliza otra versión de Solaris o la versión 10 en un entorno que no sea de zonas, escriba el siguiente comando:


      # pkgadd -d . package-name
      
  5. (Opcional) Edite el código fuente generado.

  6. Ejecute la secuencia de inicio.

Estructura de directorios creada por Agent Builder

Agent Builder crea una estructura de directorios para contener todos los archivos que genera para el tipo de recurso de destino. Especifique el directorio de trabajo en la pantalla de creación. Se deben especificar directorios de instalación separados para cualquier tipo de recurso adicional que se desarrolle. En el directorio de trabajo, Agent Builder crea un subdirectorio cuyo nombre se forma con la unión de los nombres del proveedor y del tipo de recurso. Por ejemplo, si especifica SUNW como nombre de proveedor y crea un tipo de recurso denominado ftp, Agent Builder creará un directorio llamado SUNWftp en el directorio de trabajo.

A partir de este subdirectorio, Agent Builder creará y rellenará con datos los directorios mostrados en la siguiente tabla.

Nombre del directorio 

Contenido 

bin

Para la salida C, contiene archivos binarios compilados a partir de los archivos de origen. Para la salida del shell Korn, contiene los mismos archivos que el directorio src.

etc

Contiene el archivo RTR. Agent Builder concatena el nombre del proveedor y el nombre de la aplicación, separándolos con un punto (.) para formar el nombre del archivo RTR. Por ejemplo, si el nombre del proveedor es SUNW y el nombre del tipo de recurso es ftp, el nombre del archivo RTR será SUNW.ftp.

man

Contiene páginas de comando man personalizadas para las secuencias de comandos de utilidades start, stop y remove como, por ejemplo, startftp(1M), stopftp(1M) y removeftp(1M).

 

Para ver estas páginas de comando man, especifique la ruta con la opción man -M. Por ejemplo:


% man -M install-directory/SUNWftp/man removeftp

pkg

Contiene el paquete final de Solaris que incluye el servicio de datos creado. 

src

Contiene los archivos de origen generados por Agent Builder. 

util

Contiene las secuencias de comando de utilidades start, stop y remove que genera Agent Builder. Consulte Secuencias de comando de utilidades y páginas de comando man creadas por Agent Builder. Agent Builder añade el nombre de la aplicación a todos los nombres de secuencias de comandos; por ejemplo startftp, stopftp y removeftp.

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 .

Módulo Cluster Agent para Agent Builder

El módulo Cluster Agent para Agent Builder es un módulo NetBeansTM Este módulo proporciona una GUI que permite crear tipos de recursos para el software de Sun Cluster mediante Sun Java Studio (denominado anteriormente Sun ONE Studio).


Nota –

La documentación de Sun Java Studio contiene información sobre cómo configurar, instalar y utilizar este producto. Puede consultarla en el sitio Web, http://wwws.sun.com/software/sundev/jde/documentation/index.html.


ProcedureInstalación y configuración del módulo Cluster Agent

El módulo Cluster Agent se instala al instalar el software de Sun Cluster. La herramienta de instalación de Sun Cluster coloca el archivo del módulo Cluster Agent, scdsbuilder.jar, en /usr/cluster/lib/scdsbuilder. Para utilizar el módulo Cluster Agent con el software Sun Java Studio, es necesario crear un vínculo simbólico a este archivo.


Nota –

Los productos Sun Cluster, Sun Java Studio y Java 1.4 deben estar instalados y ser accesibles para el sistema en el que se va a ejecutar el módulo Cluster Agent.


Pasos
  1. Permitir que todos los usuarios o sólo usted utilicen el módulo Cluster Agent.

    • Para permitir que lo utilicen todos los usuarios, conviértase en superusuario o asuma un papel equivalente y cree el vínculo simbólico en el directorio del módulo global.


      # cd /opt/s1studio/ee/modules
      # ln -s /usr/cluster/lib/scdsbuilder/scdsbuilder.jar
      

      Nota –

      Si ha instalado el software Sun Java Studio en un directorio diferente de /opt/s1studio/ee, cambie esta ruta al directorio por la ruta correspondiente.


    • Para que sólo usted pueda usar el módulo, cree el vínculo simbólico en el subdirectorio modules.


      % cd ~your-home-dir/ffjuser40ee/modules
      % ln -s /usr/cluster/lib/scdsbuilder/scdsbuilder.jar
      
  2. Detenga y reinicie el software Sun Java Studio.

ProcedureInicio del módulo de Cluster Agent

Los pasos siguientes explican cómo iniciar el módulo Cluster Agent desde el software Sun Java Studio.


Nota –

La documentación de Sun Java Studio contiene información sobre cómo configurar, instalar y utilizar este producto. Puede consultarla en el sitio Web, http://wwws.sun.com/software/sundev/jde/documentation/index.html.


Pasos
  1. Desde el menú File (Archivo) de Sun Java Studio, seleccione New (Nuevo) o haga clic en este icono de la barra de herramientas:

    Gráfico que muestra el icono New (Nuevo) en la barra de herramientas del software Sun Java Studio

    Aparece la pantalla New Wizard (Nuevo asistente).

    Cuadro de diálogo que muestra la pantalla New Wizard (Nuevo asistente)
  2. En el panel de selección de plantilla, desplácese hacia abajo (si fuera necesario) y haga clic en la tecla situada al lado de la carpeta Other (Otro).

    Gráfico en línea que muestra la clave para la carpeta Other (Otro)

    Se abre dicha carpeta.

    Figura que muestra el menú de la carpeta Other (Otro) desplegada
  3. En la carpeta Other, seleccione Sun Cluster Agent Builder y haga clic en Next.

    Se inicia el módulo Cluster Agent de Sun Java Studio. Aparece la primera pantalla New Wizard - Sun Cluster Agent Builder.

    Cuadro de diálogo que muestra la pantalla New Wizard Sun Cluster Agent Builder cuando aparece por primera vez

Utilización del módulo Cluster Agent

Utilice el módulo Cluster Agent igual que el software Agent Builder. Las interfaces son idénticas. Por ejemplo, las figuras siguientes muestran que la pantalla de creación del software Agent Builder y la pantalla New Wizard - Sun Cluster Agent Builder del módulo Cluster Agent contienen los mismos campos y selecciones.

Figura 9–4 Pantalla de creación del software Agent Builder

Cuadro de diálogo que muestra la pantalla de creación después de haber introducido información

Figura 9–5 Pantalla New Wizard - Sun Cluster Agent Builder, en el módulo Cluster Agent

Cuadro de diálogo que muestra la pantalla New Wizard Sun Cluster Agent Builder cuando se ha introducido información

Diferencias entre el módulo Cluster Agent y Agent Builder

A pesar de sus semejanzas, existen pequeñas diferencias entre el módulo Cluster Agent y Agent Builder: