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

Utilización de Agent Builder

Esta sección explica cómo utilizar Agent Builder, incluidas las tareas previas, y cómo usarlo después de haber generado el código del tipo de recurso.

Análisis de la aplicación

Antes de usar Agent Builder debe determinar si la aplicación cumple los criterios para tener una alta disponibilidad y escalabilidad. 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. En Análisis de la validez de la aplicación puede obtener más información sobre este tema.

Es posible que Agent Builder no pueda crear siempre un tipo de recurso completo para una aplicación, aunque en la mayoría de los casos facilitará al menos una solución parcial. Por ejemplo, algunas aplicaciones más complejas pueden requerir un código adicional que Agent Builder no genera de forma predeterminada, como el código para agregar comprobaciones de validación de propiedades adicionales o para ajustar parámetros que Agent Builder no muestra. En esos casos, es necesario realizar cambios en el código fuente generado o el archivo RTR. Agent Builder está diseñado precisamente para permitir esta flexibilidad.

Agent Builder sitúa comentarios en determinados puntos del código fuente generado para que se pueda añadir código del tipo de recurso concreto. 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 aún 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 que se instala de forma predeterminada con la instalación estándar del software Sun Cluster (en Sun Cluster Software Installation Guide for Solaris OS encontrará más información). Antes de utilizar Agent Builder, compruebe la información siguiente:


Nota –

Con Agent Builder puede usar un compilador diferente del compilador cc estándar. Para ello debe crear un vínculo simbólico en $PATH de cc a un compilador diferente, como gcc, o bien cambiar 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=nombre_ruta/gcc. En este caso, no es posible ejecutar directamente Agent Builder. Utilice las órdenes make y make pkg para generar un código de servicio de datos y un paquete.


Ejecución de Agent Builder

Para ejecutar Agent Builder escriba la orden siguiente:


% /usr/cluster/bin/scdsbuilder

Aparece la pantalla inicial de Sun Builder, como muestra la figura siguiente.

Figura 9–1 Pantalla inicial

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


Nota –

Es posible acceder a Agent Builder a través de una interfaz de línea de órdenes (consulte Utilización de la versión de línea de órdenes de Agent Builder) si la versión de la GUI no estuviera accesible.


Agent Builder proporciona dos pantallas que sirven de guía del proceso de creación de un nuevo tipo de recurso:

  1. Creación: en esta pantalla se suministra información básica sobre el tipo de recurso que se va a crear, como el nombre y el directorio de trabajo (es decir, el directorio en el que se crea y configura la plantilla del tipo de recurso) de los archivos generados. También se indica el tipo de recurso que se va a crear (escalable o a prueba de fallos), si la aplicación básica va a estar habilitada para la red (es decir, si utiliza la red para comunicarse con los clientes) y el tipo de código (C, ksh o GDS) que se va a generar. Para obtener información sobre GDS (servicio genérico de datos), consulte el Capítulo 10. Debe introducir la información de esta pantalla y seleccionar Crear para generar la salida correspondiente, antes de poder mostrar la pantalla de configuración.

  2. Configuración: en esta pantalla se le pide que proporcione una orden para iniciar la aplicación. También puede proporcionar órdenes para detener y analizar la aplicación. Si no especifica estas órdenes, la salida generada utiliza señales para detener la aplicación y proporciona un mecanismo de análisis predeterminado (si desea ver la descripción de la orden de análisis, consulte Utilización de la pantalla de configuración). Esta pantalla también permite cambiar los valores de tiempo de espera para las tres siguientes órdenes.


Nota –

Si ejecuta Agent Builder desde el directorio de trabajo de un tipo de recurso, Agent Builder inicializa las pantallas de creación y configuración para incluir los valores del tipo de recurso.


Consulte Desplazamientos por Agent Builder si tiene alguna duda sobre cómo utilizar cualquiera de los botones u órdenes de menú en las pantallas de Agent Builder.

Uso de la pantalla de creación

El primer paso para crear un tipo de recurso consiste en cumplimentar la pantalla de creación que aparece al ejecutar Agent Builder. La figura siguiente muestra la pantalla de creación después de haber introducido la información en los campos.

Figura 9–2 Pantalla de creación

Cuadro de diálogo que muestra la pantalla de creación después de haber introducido 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 está en $PATH, Agent Builder oscurece el botón de la opción de C y selecciona el botón ksh. Para especificar un compilador diferente, consulte la nota al final de Instalación y configuración de Agent Builder.


Después de haber introducido la información solicitada, haga clic en el botón Crear. El registro de salida de la parte inferior de la pantalla muestra las acciones que está realizando Agent Builder. Puede utilizar la orden Guardar registro de salida del menú Editar para guardar la información en el registro.

Al finalizar, Agent Builder muestra un mensaje de realización satisfactoria o de advertencia que indica que no ha sido posible completar esta operación satisfactoriamente y que se debería comprobar el registro de salida para ver los detalles.

Si Agent Builder concluye con éxito, haga clic en el botón Siguiente para que aparezca la pantalla de configuración que permitirá terminar de generar el tipo de recurso.


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 introducida ni el trabajo que ha realizado Agent Builder (consulte Reutilización del trabajo terminado).


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 seleccionado el botón 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

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

La pantalla de configuración contiene los campos siguientes:

Utilización de la variable $hostnames de Agent Builder

Para muchas aplicaciones, especialmente las habilitadas para red, el nombre del sistema en el que la aplicación recibe y sirve las solicitudes del cliente se debe pasar a la aplicación en la línea de órdenes. Por tanto, en muchos casos, el nombre del sistema es un parámetro que se debe especificar para iniciar, detener y analizar órdenes del tipo de recurso de destino (en la pantalla de configuración). Sin embargo, el nombre del sistema en el que la aplicación recibe es específica del clúster; se determina cuando el recurso se ejecuta en un clúster y no se puede determinar cuando Agent Builder genera el código del tipo de recurso.

Para solucionar este problema, Agent Builder proporciona la variable $hostnames que se puede especificar en la línea de órdenes de las órdenes de inicio, parada y análisis. La variable $hostnames se especifica de la misma forma como un nombre de sistema real, por ejemplo:


/opt/network_aware/echo_server -p port_no -l $hostnames

Cuando un recurso del tipo de recurso de destino se ejecuta en un clúster, los nombres de sistema LogicalHostname o SharedAddress configurados para ese recurso (en la propiedad de recurso Network_resources_used) se reemplazan por el valor de la variable $hostnames.

Si configura la propiedad Network_resources_used con múltiples nombres de sistemas, la variable $hostnames los incluye todos, separados por comas.

Creación de tipos de recursos con varios árboles de proceso independientes

Agent Builder puede crear tipos de recursos para aplicaciones con varios árboles de procesos considerados independientes ya que PMF los supervisa e inicia individualmente. PMF inicia cada árbol de procesos con su propia etiqueta.


Nota –

Agent Builder permite crear tipos de recursos con varios árboles de procesos independientes sólo cuando el código fuente generado que se especifique sea C. No es posible utilizar Agent Builder para crear estos tipos de recursos para ksh ni GDS; en estos casos, se 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 órdenes para iniciar la aplicación. En su lugar, es necesario crear un archivo de texto, especificando en cada línea la ruta completa a una orden para iniciar cada uno de los árboles de procesos de la aplicación. Este archivo no debe contener líneas en blanco y se ha de especificar en el campo de texto de la orden de inicio, en la pantalla de configuración.

Al asegurarse de que este archivo no disponga de permisos de ejecución Agent Builder podrá distinguirlo y así será posible iniciar múltiples árboles de procesos desde una secuencia de ejecución simple que contenga varias órdenes. Si se dota al archivo de texto de permisos de ejecución, los recursos se ejecutarían sin problemas ni errores en un clúster, pero todas las órdenes se iniciarían bajo una única etiqueta de PMF, lo que impediría que éste pudiera supervisar y reiniciar individualmente los árboles de procesos.

Reutilización del trabajo terminado

Agent Builder permite aprovechar el trabajo finalizado de varias formas.

Clonación de un tipo de recurso

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

  1. Cargue un tipo de recurso en Agent Builder; puede hacerlo de dos formas:

    1. Ejecute Agent Builder desde el directorio de trabajo (que contiene el archivo rtconfig) para un tipo de recurso creado con Agent Builder. Así, éste carga los valores de ese tipo de recurso en las pantallas de creación y configuración.

    2. Utilice la orden Cargar tipo de recurso del menú Archivo.

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

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

  3. Realice los cambios.

    Este procedimiento se puede utilizar para cambiar el tipo de código generado para el tipo de recurso. Por ejemplo, si inicialmente ha creado una versión en ksh de un tipo de recurso, pero más tarde se da cuenta de que necesita una versión en C, puede cargar el tipo de recurso en ksh, cambiar el lenguaje de salida a C y hacer que Agent Builder cree una versión en C del tipo de recurso.

  4. Cree el tipo de recurso clonado.

    Seleccione Crear para crear el tipo de recurso. Seleccione Siguiente para que aparezca la pantalla de configuración. Seleccione Configurar para configurar el tipo de recurso y Cancelar para terminar.

Edición del código fuente generado

Para simplificar el proceso de creación de un tipo de recurso, Agent Builder limita el número de entradas, lo que reduce el alcance del tipo de recurso generado. Por tanto, para poder agregar funciones más avanzadas, como las comprobaciones de validación para las propiedades adicionales, o para ajustar parámetros que no muestra Agent Builder, es necesario modificar el código fuente generado o el archivo RTR.

Los archivos de origen están en el directorio directorio_instalación/nombre_tr/src. Agent Builder integra comentarios en el código fuente en los lugares donde se puede agregar código que son del tipo siguiente (para el código C):


/* Código agregado por el usuario -- INICIO vvvvvvvvvvvvvvv */
 /* Código agregado por el usuario -- FIN ^^^^^^^^^^^^^^^ */


Nota –

Estos comentarios son iguales en el código del shell Korn, salvo por el hecho de que utilizan el símbolo de la libra esterlina (#) para iniciar la línea de comentario.


Por ejemplo, nombre_tr.h declara todas las rutinas de utilidades que emplean los diferentes programas. Al final de la lista de declaraciones se incluyen comentarios que permiten declarar las rutinas adicionales agregadas a cualquiera de los códigos.

Agent Builder genera también el makefile en el directorio directorio_instalación/nombre_tr/src con los destinos correspondientes. Use las órdenes make para recompilar el codigo fuente y make pkg para regenerar el paquete del tipo de recurso.

El archivo RTR, que se encuentra en el directorio directorio_instalación/nombre_tr/etc, 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 y el Apéndice A para obtener información sobre las propiedades).

Utilización de la versión de línea de órdenes de Agent Builder

La versión de línea de órdenes de Agent Builder sigue el mismo proceso en dos pasos que la versión de interfaz gráfica de usuario, con la diferencia de que en lugar de introducir la información en la interfaz gráfica de usuarios, los parámetros se pasan a las órdenes scdscreate(1HA) y scdsconfig(1HA).

Siga estos pasos para utilizar la versión de línea de órdenes de Agent Builder:

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

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

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

  4. Utilice la orden pkgadd(1M) para instalar los paquetes creados con scdscreate.

  5. Si lo desea, edite el código fuente generado.

  6. Ejecute la secuencia de inicio.