Capítulo 3. Administración de servicios

Las siguientes secciones describen como mostrar, activar/desactivar, modificar, reubicar y borrar un servicio, así como también como manejar aquellos servicios que fallan al arrancar. Se proporcionan ejemplos sobre como configurar tipos específicos de servicios.

3.1. Configuración de un servicio

Después de configurar el almacenamiento en disco e instalar las aplicaciones que el cluster manejará, puede configurar servicios para que manejen estas aplicaciones y recursos utilizando la Herramienta de configuración del cluster.

Para configurar un servicio, siga los pasos siguientes:

  1. Si aplica, cree un script que arranque, detenga y verifique el estado de la aplicación usada en el servicio. Consulte la Sección 3.1.2 para más información.

  2. Reúna la información sobre los recursos y propiedades del servicio. Consulte la Sección 3.1.1 para más información.

  3. Configure los sistemas de arhivos o dispositivos brutos que el servicio usará. Refiérase a la Sección 3.1.3 para información.

  4. Asegúrese de que el software de la aplicación pueda ser ejecutado en cada miembro cluster (tanto en el cluster como en el dominio de failover, si este se utiliza) y de que el script del servicio, si existe, pueda arrancar y detener la aplicación de servicio. Consulte la Sección 3.1.4 para ver las instrucciones actualizadas.

  5. Si se esta actualizando a partir de un cluster existente, respalde el archivo /etc/cluster.conf. Consulte la Sección 2.2 para ver las instrucciones actualizadas.

  6. Inicie la Herramienta de configuración del cluster y añada servicios, especificando la información sobre los recursos y propiedades de los servicios obtenida en el paso 2.

  7. Guarde su configuración. Al guardar las configuraciones en un miembro cluster, esto se propaga a los demás miembros cluster automáticamente.

Para más información sobre el procedimiento para agregar un servicio cluster, consulte lo siguiente:

3.1.1. Reuniendo información del servicio

Antes de configurar un servicio, reuna toda la información disponible sobre los recursos y propiedades del servicio. En algunos casos, es posible especificar múltiples recursos para un servicio (por ejemplo, direcciones IP múltiples y dispositivos de discos).

Las propiedades y recursos del servicio que un usuario puede especificar utilizando Herramienta de configuración del cluster son descritas en la Tabla 3-1.

PropiedadDescripción
Nombre del servicioCada servicio debe tener un nombre único. Un nombre de servicio puede consistir de uno a 63 caracteres y debe consistir de una combinación de letras (minúsculas o mayúsculas), enteros, rayas, puntos y guiones. Sin embargo, un nombre de servicio debe comenzar con una letra o una raya abajo.
Dominio de failover

Identifique los miembros en los cuales ejecutar el servicio asociando el servicio con un dominio de failover existente.
Cuando se activa un failover ordenado, si el miembro en el cual el servicio se está ejecutando falla, el servicio se reubicará automáticamente en el próximo miembro en la lista ordenada de miembros. (El orden de preferencia es establecido por la secuencia de nombres de miembros en la lista del dominio de failover). Refiérase a la Sección 2.9 para más información al respecto.

Intervalo de verificaciónEspecifica la frecuencia (en segundos) con la que el miembro chequeará la salud de la aplicación asociada con un servicio. Por ejemplo, si usted especifica una verificación de intervalo diferente a cero para un servicio NFS o Samba, el Red Hat Cluster Manager verificará que los demonios NFS o Samba esten corriendo. Para otros tipos de servicio, el Red Hat Cluster Manager verificará el estado retornado luego de llamar la cláusula status del script de servicio de aplicación. Por defecto, el intervalo de chequeo es cero (0), indicando que el monitoreo del servicio está desactivado.
Scripts de usuarioSi aplica, especifique el nombre completo de la ruta para el script que será usado para iniciar y detener el servicio. Consulte la Sección 3.1.2 para más información.
Direcciones IP

Una o más direcciones de protocolo Internet (IP) pueden ser asignadas a un servicio. Esta dirección IP (algunas veces llamada dirección IP "flotante") es diferente de la dirección IP asociada con la interfaz Ethernet del nombre del host para un sistema cluster, porque es automáticamente reubicada con los recursos del servicio cuando ocurre un failover. Si los clientes usan esta dirección IP para accesar el servicio, ellos desconocen cuál sistema cluster está ejecutando el servicio y el failover es transparente para ellos.
Note que los miembros cluster deben tener tarjetas de red configuradas en la sub red IP de cada dirección IP usada en un servicio.
También se pueden especificar la máscara de red y las direcciones de difusión para cada dirección IP; si no se especifican, entonces el cluster usa la máscara y direcciones de difusión de la interconexión de red en la sub red.

Archivo de dispositivo especialEspecifique cada partición de disco compartida usada en un servicio.
Sistema de archivos y opciones de compartir

Si el servicio utiliza un sistema de archivos, especifique el tipo, el punto de montaje y cualquier otra opción de montaje. Puede especificar cualquiera de las opciones de montaje estándar que se describen en la página del manual mount(8). No es necesario proporcionar información de montaje para dispositivos brutos (si se usan en un servicio). Los sistemas de archivos ext2 y ext3 son compatibles con el cluster.
Especifique si desea o no habilitar el desmontaje forzado para un sistema de archivos. El desmontaje forzado permite a la infraestructura de administración del servicio cluster desmontar un sistema de archivos antes de la reubicación o failover, aún si éste está ocupado. Esto se logra mediante la terminación de cualquier aplicación que este accesando el sistema de archivos.
También puede especificar si desea exportar el sistema de archivos a través de permisos de acceso configurados para NFS. Refiérase a la Sección 5.1 para más detalles.
Especifique se desea o no hacer el sistema de archivos accesible a SMB a través de Samba, proporcionando un nombre para el directorio compartido.

Tabla 3-1. Información de propiedades y recursos de servicios

3.1.2. Creando scripts de servicio

La infraestructura del cluster inicia y detiene aplicaciones específicas mediante la ejecución de scripts específicos de servicio. Para ambos servicios NFS y Samba, los scripts asociados están construídos en la infraestructura de servicios del cluster. En consecuencia, cuando se ejecute la Herramienta de configuración del cluster para configurar servicios NFS y Samba, deje el campo para Script de usuario en blanco. Para otros tipos de aplicaciones es necesario designar un script de servicio. Por ejemplo, cuando se configura una aplicación de base de datos, especifique el nombre completo correspondiente a la ruta del script de inicio de la base de datos.

El formato de los scripts de servicio está conforme con las convenciones seguidas por los scriptsinit de System V. Esta convención indica que los scripts deben tener una cláusula start, stop, y status. Estos scripts deben retornar una salida de estado de 0 en caso de éxito.

Si el servicio falla en arrancar en un miembro cluster, el Red Hat Cluster Manager intentará iniciar el servicio en otros miembros cluster. Si los otros miembros cluster fallan en empezar el servicio, el Red Hat Cluster Manager intentará detener el servicio en todos los miembros. Si por alguna razón falla en detener el servicio, la infraestructura del cluster colocará el servicio en el estado Fallido. El administrador debe iniciar la Herramienta de estado del cluster, resaltar el servicio fallido y pulsar en el botón Inhabilitar antes de poder habilitar el servicio.

Además de realizar las funciones de detener y arrancar, los scripts de servicios son también utilizados para propósitos de monitoreo de servicio. Esto se lleva a cabo llamando la cláusula status del script del servicio. Para activar el monitoreo de servicios, especifique un valor diferente de cero en el campo Intervalo de verificación en la Herramienta de configuración del cluster. Si un valor distinto a cero es retornado por la petición de verificación de estado al script de servicio, entonces la infraestructura del cluster intentará primero reiniciar la aplicación en el miembro en el que estaba ejecutándose previamente. Las funciones de estado no tienen que estar completamente implementadas en los scripts de servicio. Si no se realiza ningún monitoreo real por el script, entonces un fragmento de la cláusula status debe estar presente que indique éxito.

Las operaciones realizadas dentro de la cláusula de estado de una aplicación pueden ser adaptadas para satisfacer las necesidades de la aplicación así como también los parámetros específicos del sitio. Por ejemplo, un chequeo simple de estado para una base de datos consistirá en la verificación de que el proceso de base de datos esté todavía ejecutándose. Una verificación más comprensiva podría consistir de un query a una tabla de la base de datos.

El directorio /usr/share/cluster/doc/services/examples contiene una plantilla que puede ser usada para crear scripts de servicio, además de ejemplos de scripts. Consulte la Sección 4.1, la Sección 4.3 y el Capítulo 6 para scripts de ejemplo.

3.1.3. Configurando servicios de almacenamiento en disco

Antes de crear un servicio, establezca el sistema de archivos compartido y dispositivos brutos que el servicio usará. Vea la Sección 1.4.4 para más información.

Si se emplean dispositivos brutos en un servicio cluster, es posible usar el archivo /etc/sysconfig/rawdevices para enlazar los dispositivos en el momento de arranque. Modifique el archivo y especifique los dispositivos brutos de caracteres y de bloque que deben ser enlazados cada vez que el sistema arranque. Vea la Sección 2.5 para más información.

Note que el software RAID y el host basado en RAID no se pueden utilizar para el almacenamiento compartido en disco. Sólo tarjetas adaptadoras SCSI RAID certificadas pueden ser usadas para almacenamiento compartido.

Es recomendable que siga las siguientes recomendaciones de almacenamiento compartido:

  • Para un rendimiento óptimo, use un tamaño de bloque de 4 KB cuando este creando sistemas de archivos. Observe que algunas de las utilidades mkfs del sistema de archivos colocan un tamaño de bloque por defecto a 1 KB, lo cual puede causar tiempos prolongados de fsck.

  • Para facilitar tiempos de failover más rápidos, se recomienda que se usen sistemas de archivos tipo ext3. Refiérase a la Sección 1.4.4.6 para más información.

  • Para sistemas de archivos grandes, utilice la opción nocheck para saltar el código que verifica todos los grupos de bloques en la partición. Especificando la opción nocheck puede disminuir significativamente el tiempo requerido para montar un sistema de archivos grande.

3.1.4. Verificando las aplicaciones de software y los scripts de servicio

Antes de configurar un servicio, instale cualquier aplicación que sea usada en el servicio en cada miembro del cluster (o en cada miembro dentro del dominio de failover, si se utiliza alguno). Después de instalar la aplicación en estos miembros, verifique que la aplicación se ejecuta y puede accesar el almacenamiento de disco compartido. Para prevenir la corrupción de los datos, no ejecute la aplicación simultáneamente en más de un miembro.

Si se esta usando un script para iniciar y detener la aplicación servicio, instale y pruebe el script en todos los sistemas cluster y verifique que puede ser usado para arrancar y detener la aplicación. Vea la Sección 3.1.2 para más información.