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 que debe realizar 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 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 de SUNWscdev, que se instala de forma predeterminada como parte de una instalación estándar del software de Sun Cluster. En Sun Cluster Software Installation Guide for Solaris OS encontrará más información.

Antes de utilizar Agent Builder, compruebe los siguientes aspectos:


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) por 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 los comandos make y make pkg para generar un código de servicio de datos y un 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 pantallas siguientes que sirven de guía durante el proceso de creación de un nuevo tipo de recurso.

  1. Crear. En esta pantalla se proporciona información básica acerca del tipo de recurso que se va a crear como, por ejemplo, el nombre y el directorio de trabajo para los archivos que se generen. El directorio de trabajo es donde se crea y se configura la plantilla del tipo de recurso. 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 que se va a generar (shells C, Korn [ksh] o GDS). Para obtener información acerca de GDS, consulte Capítulo 10, Servicio de datos genérico. Debe proporcionar toda la información que se solicita en esta pantalla y seleccionar Crear para generar el resultado correspondiente. A continuación, puede acceder a la pantalla de configuración.

  2. Configurar. En esta pantalla debe especificar la línea de comandos completa que se puede pasar a cualquier shell UNIX® para iniciar su aplicación básica. También puede proporcionar comandos para detener y analizar la aplicación. Si no especifica estos comandos, el resultado generado usará señales para detener la aplicación y proporcionará un mecanismo de análisis predeterminado. Consulte la descripción del mecanismo de análisis en Utilización de la pantalla de configuración. Esta pantalla también permite cambiar los valores de tiempo de espera para los tres siguientes comandos.

Ejecución de Agent Builder


Nota –

Si la versión de Agent Builder con interfaz gráfica no está accesible, podrá acceder a Agent Builder mediante una interfaz de línea de comandos. Consulte Utilización de la versión de línea de comandos de Agent Builder.



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.


Para ejecutar Agent Builder, escriba el comando siguiente:


% /usr/cluster/bin/scdsbuilder

Aparece la pantalla de creación.

Figura 9–1 Pantalla de creación

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

Desplazamientos por Agent Builder

La información acerca de las pantallas de creación y configuración se especifica llevando a cabo estas operaciones:

Las opciones 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 o atenúa las opciones según corresponda.

Por ejemplo, una vez cumplimentados los campos y seleccionadas las opciones que desee en la pantalla de creación, haga clic en el botón Crear de la parte inferior de la pantalla. Los botones Anterior y Siguiente se atenúan, 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 de la parte inferior de la pantalla. Cuando termina, Agent Builder muestra bien un mensaje que indica que la operación se ha realizado satisfactoriamente o bien una advertencia para que se mire el registro de salida. Siguiente aparece resaltado o, si es la última pantalla, sólo estará resaltado Cancelar.

Si lo desea, puede pulsar Cancelar en cualquier momento para salir de Agent Builder.

Buscar

Algunos campos de Agent Builder permiten escribir la información, aunque también puede hacer clic en el botón Examinar para recorrer la estructura de directorios y seleccionar un archivo o directorio.

Botón Examinar

Cuando se hace clic en Examinar, aparece una pantalla similar a ésta:

Pantalla Examinar, que muestra una lista de archivos

Haga doble clic en una carpeta para abrirla. Cuando desplaza el cursor a un archivo, el nombre del archivo en cuestión aparece en el cuadro 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 no hay subdirectorios, Agent Builder cierra la ventana Examinar y pone el nombre del directorio seleccionado 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 coloca el nombre del directorio al que ha movido el cursor en el campo correspondiente.


Los iconos de la esquina superior derecha de la pantalla hacen lo siguiente:

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

Agent Builder incluye menús desplegables "Archivo" y "Editar".

Menú Archivo

El menú Archivo tiene dos opciones:

Menú Editar

El menú Editar tiene las siguientes opciones:

Uso de la pantalla de creación

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á incluido en $PATH, Agent Builder atenuará el botón de opción C y sólo le permitirá seleccionar 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 introducir 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 puede realizar 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 introducida ni el trabajo que ha realizado Agent Builder. Consulte Reutilización del trabajo terminado.


Utilización de la pantalla de configuración

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:

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

Para muchas aplicaciones, en concreto las aplicaciones habilitadas para red, el nombre del sistema mediante el que la aplicación escucha y atiende las peticiones de los clientes debe pasarse a la aplicación en la línea de comandos. Por tanto, en muchos casos, el nombre del sistema es un parámetro 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 del sistema mediante el que escucha la aplicación es específico para el clúster. El nombre de sistema se determina cuando el recurso se ejecuta en un clúster y no se puede determinar cuando Agent Builder genera su código de tipo recurso.

Para solucionar este problema, Agent Builder proporciona la variable $hostnames que se puede especificar en la línea de comandos de 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 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.

Variables de propiedades

Puede recuperar los valores de los recursos, los tipos de recursos y las propiedades de los tipos de recursos seleccionados de Sun Cluster desde el marco RGM usando variables de propiedades. Agent Builder analiza la secuencia de comandos de inicio, de análisis o de parada, estudia sus variables de propiedades y sustituye dichas variables por sus valores antes de que Agent Builder ejecute la secuencia de comandos.


Nota –

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


Lista de variables de propiedades

La siguiente lista incluye las variables de propiedades que puede usar con las secuencias de comandos. Las propiedades de los recursos de Sun Cluster, junto con las propiedades del tipo de recursos y las de los grupos de recursos se describen en Apéndice A, Propiedades estándar.

La siguiente lista incluye las variables de las propiedades de recursos:

La siguiente lista incluye las variables de las propiedades de los tipos de recursos:

La siguiente lista incluye las variables de las propiedades de los grupos de recursos:

Sintaxis de las variables de propiedades

Un signo de porcentaje (%) se incluye antes de los nombres de propiedades para indicar que se trata de una variable de propiedad, tal y como se muestra en este ejemplo.


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

En el caso del ejemplo anterior, Agent Builder puede interpretar estas variables de propiedades e iniciar 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

La siguiente lista describe cómo Agent Builder interpreta los tipos de variables de propiedades:

Reutilización del trabajo terminado

Agent Builder permite aprovechar el trabajo finalizado de las siguientes formas.

Clonación de un tipo de recurso existente

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

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

    • Ejecute Agent Builder desde el directorio de trabajo (que contiene el archivo rtconfig) para un tipo de recurso existente (creado con Agent Builder). Agent Builder carga los valores para dicho tipo de recurso en las pantallas de creación y configuración.

    • Use la opción que permite cargar el tipo de recurso en el menú desplegable 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.

    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 de un shell Korn 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 shell Korn existente, 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. Haga clic en Siguiente para mostrar la pantalla de configuración. Haga clic en Configurar para configurar el tipo de recurso y, después, haga clic en Cancelar.

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 idénticos en el código fuente del shell Korn, con excepción del signo #, que indica el inicio de un 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_rt/src con los destinos correspondientes. Use los comandos make para recompilar el código 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, 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 y Apéndice A, Propiedades estándar para obtener información acerca de las propiedades.

Utilizació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 el mismo proceso básico que la versión de interfaz gráfica de usuario, No obstante, en lugar de especificar información en la interfaz gráfica de usuario, los parámetros se pasan a los comandos scdscreate y scdsconfig. Consulte las páginas de comando man de scdscreate(1HA) y scdsconfig(1HA).

Siga estos pasos para utilizar la versión de línea de comandos 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 o escalabilidad.

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

    Puede especificar variables de propiedad. Las variables de propiedad se describen en 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.

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

  6. Ejecute la secuencia de inicio.