A.4 Instalación y configuración

En esta sección se proporcionan los pasos de instalación y configuración de Sentinel en un entorno de alta disponibilidad. Cada paso describe el planteamiento general y luego se refiere a una configuración de demostración que detalla una solución de clúster de ejemplo. Puede usar otras opciones o tecnología diferentes de las enumeradas en este documento, en función de las limitaciones descritas en la Sección A.2, Compatibilidad.

El siguiente diagrama representa una arquitectura de alta disponibilidad (HA) activa-pasiva:

A.4.1 Config inicial

Configure el hardware del equipo, el hardware de red, el hardware de almacenamiento, los sistemas operativos, las cuentas de usuario y demás recursos básicos del sistema de acuerdo con los requisitos documentados para los requisitos locales del cliente y de Sentinel. Pruebe los sistemas para garantizar su funcionamiento y estabilidad adecuados.

  • Como práctica óptima, todos los nodos de clúster deben estar sincronizados en el tiempo; utilice NTP o una tecnología similar para este fin.

  • El clúster requerirá una resolución de nombre de host fiable. Como práctica óptima, quizá sea una buena idea introducir todos los nombres de host de clúster internos en el archivo /etc/hosts para garantizar la continuidad del clúster en caso de fallo del DNS. Si algún nodo de clúster no puede resolver otros nodos por nombre, la configuración descrita en este apartado fallará.

  • Las características de CPU, RAM y espacio en el disco para cada nodo del clúster deben cumplir los requisitos del sistema definidos en el Sección 5.0, Cumplimiento de los requisitos del sistema en base al número de eventos esperado.

  • Las características de espacio en el disco y E/S para los nodos de almacenamiento deben cumplir los requisitos del sistema definidos en el Sección 5.0, Cumplimiento de los requisitos del sistema en función del número de eventos esperado y de las directivas de retención de datos del almacenamiento local y/o en red.

  • Si desea configurar cortafuegos en el sistema operativo para limitar el acceso a Sentinel y al clúster, consulte el Sección 7.0, Puertos utilizados para obtener detalles sobre qué puertos deben estar disponibles dependiendo de la configuración local y de los orígenes que enviarán los datos de eventos.

La solución de ejemplo utilizará la siguiente configuración:

  • Dos VM de nodo de clúster SUSE Linux 11 SP2

    • La instalación del SO no necesita instalar X Windows, pero puede hacerlo si se desea la configuración de la interfaz gráfica del usuario. Los guiones de arranque pueden definirse para iniciarse sin X (runlevel 3), que puede iniciarse solamente cuando sea necesario.

    • Los nodos tendrán dos NICS: una para acceso externo y otra para comunicaciones iSCSI.

    • Configure las NIC externas con direcciones IP que permitan el acceso remoto a través de SSH o similar. Para este ejemplo, utilizaremos 172.16.0.1 (node01) y 172.16.0.2 (node02).

    • Cada nodo debe tener suficiente espacio de disco para el sistema operativo, binarios de Sentinel y datos de configuración, software del clúster, espacio temporal, etc. Consulte los requisitos del sistema de SUSE Linux y SLE HAE, y los requisitos de la aplicación Sentinel.

  • Una SUSE Linux 11 SP2 VM configurada con destinos iSCSI Targets para almacenamiento compartido

    • La instalación del SO no necesita instalar X Windows, pero puede hacerlo si se desea la configuración de la interfaz gráfica del usuario. Los guiones de arranque pueden definirse para comenzar sin X (runlevel 3), que puede iniciarse solamente cuando sea necesario.

    • Los nodos tendrán dos NICS: una para acceso externo y otra para comunicaciones iSCSI.

    • Configure las NIC externas con una dirección IP que permita el acceso remoto a través de SSH o similar. Para este ejemplo, utilizaremos 172.16.0.3 (storage03).

    • El sistema debería tener espacio suficiente para el sistema operativo, espacio temporal, un gran volumen para almacenamiento compartido para albergar datos de Sentinel, y una pequeña cantidad de espacio para una partición SBD. Consulte los requisitos del sistema SUSE Linux y los requisitos de almacenamiento de datos de eventos de Sentinel. Para la solución de ejemplo pondremos todos los datos (local, red, SBD) en un solo disco, pero para las implementaciones de producción, esto podría asignarse a diferentes nodos.

NOTA:En un clúster de producción, puede usar IPs internas, no encaminables en tarjetas NIC independientes (posiblemente un par de ellas, para ofrecer redundancia) para las comunicaciones internas del clúster.

A.4.2 Configuración de almacenamiento compartido

Configure su almacenamiento compartido y asegúrese de que pueda montarlo en cada nodo del clúster. Si utiliza FibreChannel y una SAN, esto puede requerir conexiones físicas y otra configuración. El almacenamiento compartido se utilizará para albergar bases de datos y datos de eventos de Sentinel, por lo que su tamaño debe ser acorde con el entorno del cliente en función del número de eventos esperado y de las directivas de retención de datos.

Una implementación típica podría usar una SAN rápida conectada a través de FibreChannel a todos los nodos del clúster, con una matriz RAID para almacenar datos de eventos locales. Se podría utilizar una NAS independiente o un nodo iSCSI para el almacenamiento de red más lento. Siempre que el nodo del clúster pueda montar el almacenamiento local como dispositivo de bloques normal, podrá ser utilizado por la solución. El almacenamiento en red también puede montarse como dispositivo de bloques, o bien podría ser un NFS o volumen CIFS.

NOTA:Debe configurar su almacenamiento compartido y probar el montaje en cada nodo del clúster, pero el montaje real del almacenamiento lo manejará la configuración del clúster.

Para la solución de ejemplo, utilizaremos destinos iSCSI albergados por una SUSE Linux VM:

La solución de ejemplo utilizará destinos iSCSI configurados en una SUSE Linux VM. La VM es storage03 tal como se indica en Config inicial. Los dispositivos iSCSI se pueden crear utilizando cualquier archivo o dispositivo de bloque, pero para simplificar, aquí utilizaremos un archivo creado con este propósito.

Conecte con storage03 e inicie una sesión de consola. Utilice el comando dd para crear un archivo en blanco de cualquier tamaño para el almacenamiento local de Sentinel:

dd if=/dev/zero of=/localdata count=10240000 bs=1024

En ese caso, creamos un archivo de 10 GB lleno de ceros (copiado de /dev/zero pseudo-device). Consulte la información o la página manual de dd para conocer los detalles de las opciones de línea de comandos. Por ejemplo, para crear "discos" de diferente tamaño. El destino iSCSI trata este archivo como si fuera un disco; por supuesto que puede usar un disco real si lo prefiere.

Repita este procedimiento para crear un archivo para almacenamiento en red:

dd if=/dev/zero of=/networkdata count=10240000 bs=1024

Para este ejemplo utilizamos dos archivos ("discos") del mismo tamaño y características de rendimiento. Para una implementación de producción, podría poner el almacenamiento local en una red SAN rápida y el almacenamiento en red en un iSCSI, NFS o volumen CIFS más lentos.

Configure estos archivos como destinos iSCSI:

  1. Ejecute YaST desde la línea de comandos (o bien utilice la interfaz gráfica del usuario, si lo prefiere): /sbin/yast

  2. Seleccione Dispositivos de red > Configuración de red.

  3. Asegúrese de que esté seleccionada la pestaña Descripción general.

  4. Seleccione la NIC secundaria en la lista que aparece y luego desplácese hacia delante para Editar y pulse Intro.

  5. En la pestaña Dirección, asigne la dirección IP estática 10.0.0.3. Esta será la IP de comunicaciones SCSI internas.

  6. Haga clic en Siguiente y después en Aceptar.

  7. En la pantalla principal, seleccione Servicios de red > Destino iSCSI.

  8. Cuando se le indique, instale el software necesario (iscsitarget RPM) del soporte SUSE Linux 11 SP2.

  9. Haga clic en Servicio, seleccione la opciónWhen Booting (En el arranque) para asegurarse de que el servicio se inicia al arrancar el sistema operativo.

  10. Haga clic en Global y después seleccione No Authentication (Sin autenticación) porque el OCF Resource Agent actual para iSCSI no es compatible con autenticación.

  11. Haga clic en Destinos y luego en Añadir para añadir un nuevo destino.

    El destino iSCSI generará automáticamente una ID y después presentará una lista vacía de LUN (unidades) que están disponibles.

  12. Haga clic en Añadir para añadir un nuevo LUN.

  13. Deje el número LUN 0, y después busque en el cuadro de diálogo Vía (en Type=fileio) y seleccione el archivo /localdata que ha creado. Si tiene un disco dedicad para almacenamiento, especifique un dispositivo de bloque, como por ejemplo /dev/sdc.

  14. Repita los pasos 12 y 13, y añada esta vez LUN 1 y /networkdata .

  15. Deje las demás opciones en sus valores por defecto. Haga clic en Aceptar y, a continuación, en Siguiente.

  16. Haga clic de nuevo en Siguiente para seleccionar las opciones de autenticación por defecto, y luego en Finalizar para salir de la configuración. Pulse para Aceptar si se le pide reiniciar iSCSI.

  17. Salga de YaST.

El procedimiento anterior expone dos destinos iSCSI del servidor en la dirección IP 10.0.0.3. En cada nodo del clúster, asegúrese de que pueda montar el dispositivo de almacenamiento compartido de datos locales. También debe formatear los dispositivos (una vez):

  1. Conéctese a uno de los nodos del clúster (node01) e inicie YaST.

  2. Seleccione Dispositivos de red > Configuración de red.

  3. Asegúrese de que esté seleccionada la pestaña Descripción general.

  4. Seleccione la NIC secundaria en la lista que aparece y luego desplácese hacia delante para Editar y pulse Intro.

  5. Haga clic en Dirección, asigne la dirección IP estática 10.0.0.1. Esta será la IP de comunicaciones internas de iSCSI.

  6. Seleccione Siguiente y después Aceptar.

  7. Haga clic en Network Services (Servicios de red) > iSCSI Initiator (Iniciador de iSCSI).

  8. Si se le solicita, instale el software necesario (open-iscsi RPM) desde el soporte SUSE Linux 11 SP2.

  9. Haga clic en Service (Servicio), seleccione When Booting (Al arrancar) para asegurarse de que el servicio iSCSI se inicia durante el arranque.

  10. Haga clic en Discovered Targets (Destinos descubiertos) y seleccione Discovery (Descubrimiento).

  11. Especifique la dirección IP de iSCSI (10.0.0.3), seleccione No Authentication (Sin autenticación) y luego haga clic en Siguiente.

  12. Seleccione el destino iSCSI descubierto con la dirección IP 10.0.0.3 y después seleccioneLog In (Entrar).

  13. Cambie a automático en el cuadro desplegable Startup (Inicio) y seleccione No Authentication (Sin autenticación) y luego haga clic enSiguiente.

  14. Cambie a la pestaña Connected Targets (Destinos conectados) para garantizar que se establezca la conexión con el destino.

  15. Salga de la configuración. Esta acción debería haber montado los destinos iSCSI como dispositivos de bloque en el nodo del clúster.

  16. En el menú principal YaST, seleccione System (Sistema) > Partitioner (Particionador).

  17. En la Vista del sistema, deberá ver nuevos discos duros (por ejemplo /dev/sdb y /dev/sdc) en la lista; tendrá IET-VIRTUAL-DISK como tipo. Desplácese hacia el primero de la lista (que debería ser el almacenamiento local), selecciónelo y pulse Intro.

  18. Seleccione Add(Añadir) para añadir una nueva partición al disco vacío. Dé formato al disco como partición ext3 principal, pero no lo monte. Asegúrese de que esté seleccionada la opción Do not mount partition (No montar partición).

  19. Seleccione Siguiente y luego Finalizar después de revisar los cambios que se realizarán. Dando por supuesto que se crea una sola partición grande en este LUN iSCSI compartido, al final se debe tener /dev/sdb1 o un disco formateado similar (denominado /dev/<SHARED1> a continuación).

  20. Regrese al particionador y repita el proceso de creación de particiones/formato (pasos 16-19) para /dev/sdc o sea cual sea el dispositivo de bloque que corresponda con el almacenamiento en red. Esto debe dar lugar a una partición /dev/sdc1 o disco formateado similar (denominado /dev/<NETWORK1> a continuación).

  21. Salga de YaST.

  22. Por último, cree un punto de montaje y pruebe el montaje de la partición local de la siguiente manera (el nombre exacto del dispositivo dependerá de la implementación específica):

    # mkdir /var/opt/novell
    # mount /dev/<SHARED1> /var/opt/novell
    
  23. Debe poder crear archivos en la nueva partición y verlos siempre que esté montada.

    Para desmontar:

    # umount /var/opt/novell
    

Repita los pasos 1-15 del procedimiento anterior y asegúrese de que cada nodo de clúster pueda montar el almacenamiento compartido local. Sin embargo, reemplace la IP del nodo del paso 5, por una IP diferente (p. ej., node02 > 10.0.0.2).

A.4.3 Instalación de Sentinel

Hay dos opciones para instalar Sentinel: instalar cada uno de los componentes de Sentinel en el almacenamiento compartido (usando la opción de ubicación para redirigir la instalación de Sentinel a donde sea que se haya montado el almacenamiento compartido) o poner solo los datos variables de la aplicación en el almacenamiento compartido.

En esta solución de ejemplo, seguiremos el segundo planteamiento e instalaremos Sentinel en cada nodo que pueda albergarlo. La primera vez que se instala Sentinel, realizaremos una instalación completa que incluye binarios de la aplicación, configuración y todos los almacenes de datos. Las instalaciones posteriores en los demás nodos del clúster solo instalarán la aplicación y darán por supuesto que los datos reales de Sentinel estarán disponibles dentro de cierto tiempo (p. ej., una vez que se monte el almacenamiento compartido).

Solución de ejemplo:

En esta solución de ejemplo, instalaremos Sentinel en cada nodo del clúster, almacenando solo los datos variables de la aplicación en el almacenamiento compartido. Esto conserva los binarios de la aplicación y la configuración en ubicaciones estándar, nos permite verificar los RPM y además nos permite aplicar parches en caliente en determinados escenarios.

Instalación del primer nodo

  1. Conéctese a uno de los nodos de clúster (node01) y abra la ventana de la consola.

  2. Descargue el instalador de Sentinel (un archivo tar.gz) y guárdelo en /tmp en el nodo de clúster.

  3. Ejecute los comandos siguientes:

    mount /dev/<SHARED1> /var/opt/novell
    
    cd /tmp
    
    tar -xvzf sentinel_server*.tar.gz
    
    cd sentinel_server*
    
    ./install-sentinel --record-unattended=/tmp/install.props
    
  1. Ejecute la instalación estándar, configurando el producto como corresponda. El instalador instalará los binarios, la configuración, las bases de datos y configurará los nombres de usuario/contraseñas y los puertos de red.

  2. Inicie Sentinel y pruebe las funciones básicas. Puede usar la dirección IP de nodo de clúster externa estándar para acceder al producto.

  3. Apague Sentinel y desmonte el almacenamiento compartido:

    rcsentinel stop
    
    umount /var/opt/novell
    

    Este paso eliminará los guiones de inicio automático de manera que el clúster pueda gestionar el producto.

    cd /
    
    insserv -r sentinel
    

Instalación de nodos posteriores

Repita la instalación en otros nodos:

El instalador inicial de Sentinel crea una cuenta de usuario para su uso por parte del producto, que utiliza la siguiente ID de usuario disponible en el momento de la instalación. Las instalaciones posteriores en modo sin supervisión tratarán de usar la misma ID para la creación de la cuenta, pero existe la posibilidad de que surjan conflictos (si los nodos del clúster no son idénticos en el momento de la instalación). Se recomienda encarecidamente realizar una de las siguientes acciones:

  • Sincronizar la base de datos de la cuenta en todos los nodos del clúster (manualmente a través de LDAP o similar), asegurándose de que se produzca la sincronización antes de realizar instalaciones posteriores. En ese caso, el instalador detectará la presencia de la cuenta de usuario y utilizará la existente.

  • Observe el resultado de las instalaciones posteriores sin supervisión: se emitirá una advertencia si no fue posible crear la cuenta de usuario con la misma ID de usuario.

  1. Conéctese a cada nodo del clúster adicional (node02) y abra una ventana de consola.

  2. Realice lo siguiente:

    cd /tmp
    
    scp root@node01:/tmp/sentinel_server*.tar.gz
    
    scp root@node01:/tmp/install.props
    
    tar -xvzf sentinel_server*.tar.gz
    
    ./install-sentinel --no-start --cluster-node --unattended=/tmp/install.props
    
    cd /
    
    insserv -r sentinel
    

Al finalizar el proceso, Sentinel deberá estar instalado en todos los nodos, pero es probable que no funcione correctamente en ninguno de ellos salvo el primero hasta que varias claves estén sincronizadas, lo que sucederá cuando se configuren los recursos del clúster.

A.4.4 Instalación del clúster

Instale el software del clúster en cada nodo y registre cada nodo del clúster con el gestor de clústeres. Los procedimientos para realizarlo variarán en función de la implementación del clúster, pero al final del proceso cada nodo del clúster deberá aparecer en la consola de gestión de clústeres.

Para nuestra solución de ejemplo, configuraremos la extensión SUSE Linux High Availability Extension y la superpondremos con los agentes de recursos específicos de Sentinel:

Si no utiliza el OCF Resource Agent para supervisar Sentinel, es probable que desarrolle una solución de supervisión similar para el entorno de clúster local. El OCF Resource Agent para Sentinel es un guión shell sencillo que ejecuta una variedad de comprobaciones para verificar si Sentinel es funcional. Si desea desarrollar el suyo propio, debe examinar el Resource Agent existente para ver ejemplos (el Resource Agent está almacenado en sentinel-ha.rpm en el paquete de descarga de Sentinel).

Existen muchas formas diferentes de configurar el clúster SLE HAE, pero seleccionaremos opciones que simplifican enormemente la configuración. El primer paso consiste en instalar el software central de SLE HAE; el proceso se explica detalladamente en la Documentación de SLE HAE. Para obtener información sobre la instalación de productos complementarios de SLES, consulte la Guía de implementación.

Debe instalar el SLE HAE en todos los nodos del clúster, node01 y node02 en nuestro ejemplo. El producto complementario instalará el software de comunicaciones y gestión de clústeres central, además de cualquier Resource Agent que se utilice para supervisar los recursos del clúster.

Una vez instalado el software del clúster, deberá instalarse un RPM adicional para proporcionar Resource Agents de clúster adicionales específicos de Sentinel. El RPM puede encontrarse en novell-Sentinel-ha-7.1*.rpm incluido en la descarga normal de Sentinel, que desempaquetó para instalar el producto.

En cada nodo del clúster, copie el novell-Sentinel-ha-7.1*.rpm en el directorio /tmp y luego:

cd /tmp
rpm -i novell-Sentinel-ha-7.1*.rpm

A.4.5 Configuración del clúster

Debe configurar el software del clúster para registrar cada nodo del clúster como miembro del clúster. Aparte de esta configuración, también puede configurar los recursos de fencing y STONITH para garantizar la coherencia del clúster.

En nuestra solución de ejemplo, básicamente usamos la configuración más sencilla sin redundancia adicional u otras funciones avanzadas. Además utilizamos dirección de unidifusión (en lugar de la dirección de multidifusión preferida) porque requiere menos interacción con los administradores de red y es suficiente para fines de prueba. Además configuramos un recurso simple de fencing basado en SBD.

Solución de ejemplo:

La solución de ejemplo utilizará direcciones IP privadas para las comunicaciones internas del clúster y utilizará unidifusión para minimizar la necesidad de solicitar direcciones de multidifusión de un administrador de red. La solución utilizará además un destino iSCSI configurado en la misma SUSE Linux VM que alberga el almacenamiento compartido que servirá como dispositivo SBD para fines de fencing. Igual que antes, se pueden crear dispositivos iSCSI utilizando cualquier archivo o dispositivo de bloque, pero para simplificar aquí usaremos un archivo creado para este fin.

Los siguientes pasos de configuración son muy similares a los de la configuración de almacenamiento compartido:

Configuración de SBD

Conéctese a storage03 e inicie una sesión de la consola. Use el comando dd para crear un archivo en blanco de cualquier tamaño:

dd if=/dev/zero of=/sbd count=1024 bs=1024

En este caso, creamos un archivo de 1 MB lleno de ceros (copiado de/dev/zero pseudo-device).

Configure el archivo como destino iSCSI:

  1. Ejecute YaST desde la línea de comandos (o utilice la interfaz gráfica del usuario, si lo prefiere): /sbin/yast

  2. Seleccione Servicios de red > Destino iSCSI.

  3. Haga clic en Destinos y seleccione el destino existente.

  4. SeleccioneEditar. La interfaz del usuario presentará una lista de LUN (unidades) que están disponibles.

  5. Seleccione Añadir para añadir un LUN nuevo.

  6. Deje el número LUN 2. Busque en el cuadro de diálogo Vía y seleccione el archivo /sbd que ha creado.

  7. Deje las demás opciones en sus valores por defecto y luego seleccione Aceptar y después Siguiente; a continuación haga clic de nuevo en Siguiente para seleccionar las opciones de autenticación por defecto.

  8. Haga clic en Finalizar para salir de la configuración. Si es necesario, reinicie los servicios. Salga de YaST.

NOTA:Los pasos siguientes requieren que cada nodo del clúster sea capaz de resolver el nombre de host de todos los demás nodos del clúster (el servicio de sincronización de archivos csync2 fallará si no es el caso). Si no se configura el DNS o no está disponible, añade entradas para cada host en el archivo/etc/hosts que enumera cada IP junto con su nombre de host (tal como lo indica el comando de nombre de host).

Este procedimiento debe exponer un destino iSCSI para el dispositivo SBD en el servidor en la dirección IP 10.0.0.3 (storage03).

Configuración de nodos

Conéctese a un nodo del clúster (node01) y abra una consola:

  1. Ejecute YaST.

  2. Abra Network Services (Servicios de red) > iSCSI Initiator (Iniciador de iSCSI).

  3. Seleccione Connected Targets (Destinos conectados) y luego el destino iSCSI que configuró anteriormente.

  4. Seleccione la opción Log Out (Salir) para salir del destino.

  5. Cambie a la pestaña Discovered Targets (Destinos descubiertos) y seleccione el Destino y vuelva a entrar para actualizar la lista de dispositivos (deje la opción de inicio automático con la opción Sin autenticación).

  6. Seleccione Aceptar para salir de la herramienta del Iniciador de iSCSI.

  7. AbraSystem (Sistema) > Partitioner (Particionador) e identifique el dispositivo SBD como el 1MB IET-VIRTUAL-DISK. Aparecerá como /dev/sdd o similar; observe cuál.

  8. Salga de YaST.

  9. Ejecute el comando ls -l /dev/disk/by-id/ y observe la ID del dispositivo que está vinculada al nombre del dispositivo identificado anteriormente.

  10. Ejecute el comando sleha-init.

  11. Cuando se le pregunte a qué dirección de red desea vincularlo, especifique la IP de NIC externa (172.16.0.1).

  12. Acepte la dirección de multidifusión y el puerto por defecto. Más tarde sobrescribiremos estos valores.

  13. Introduzca 's' para habilitar SBD y luego especifique /dev/disk/by-id/<device id>, donde<device id> es la ID que identificó anteriormente (puede usar el tabulador para completar automáticamente la vía).

  14. Complete el asistente y asegúrese de que no se generen errores.

  15. Inicie YaST.

  16. Seleccione High Availability (Alta disponibilidad) > Cluster (Clúster) (o simplemente Clúster en algunos sistemas).

  17. En el cuadro de la izquierda, asegúrese de que se haya seleccionado Communication Channels (Canales de comunicación).

  18. Desplácese hasta la línea superior de configuración y cambie la selección de udp a udpu (esto inhabilita multidifusión y selecciona unidifusión).

  19. Seleccione la opción para Add a Member Address (Añadir una dirección de miembro) y especifique este nodo (172.16.0.1), luego repita y añada el otro o los otros nodos del clúster: 172.16.0.2.

  20. Seleccione Finalizar para completar la instalación.

  21. Salga de YaST.

  22. Ejecute el comando /etc/rc.d/openais para reiniciar los servicios de clúster con el nuevo protocolo de sincronización.

Conéctese a cada nodo de clúster adicional (node02) y abra una consola:

  1. Ejecute el comando siguiente: sleha-join

  2. Introduzca la dirección IP del primer nodo del clúster.

En algunas circunstancias las comunicaciones del clúster no se inician correctamente. Si el clúster no se inicia (el servicio openais fallará al iniciarse):

  • Copia manualmente corosync.conf de node1 a node02, o ejecute csync2 -x -v en el nodo 1, o bien configure manualmente el clúster en node02 a través de YaST.

  • Ejecute /etc/rc.d/openais start en node02

En algunos casos, el guión de instalación fallará porque el servicio xinetd no añade correctamente el nuevo servicio csync2. Este servicio es necesario para que el otro nodo pueda sincronizar los archivos de configuración del clúster hasta este nodo. Si ve errores como csync2 run failed, podría tener este problema. Para solucionar este problema, ejecute: kill -HUP `cat /var/run/xinetd.init.pid y luego vuelva a ejecutar el guión sleha-join.

En este punto debería poder ejecutar crm_mon en cada nodo del clúster y observar que el clúster se ejecuta correctamente. Alternativamente, puede usar 'hawk', la consola Web; las credenciales de entrada por defecto son 'hacluster / linux'.

Existen dos parámetros adicionales con los que debemos jugar para este ejemplo; si estos se van a aplicar a un clúster de producción del cliente dependerá de su configuración:

  1. Defina la opción global del clúster no-quorum-policy en ignore. Esto se hace porque solo tenemos un clúster de dos nodos, por lo que cualquier fallo en un nodo rompería el quórum e inhabilitaría todo el clúster: crm configure property no-quorum-policy=ignore

    NOTA:Si el clúster tiene más de dos nodos, no defina esta opción.

  2. Defina la opción global del clúster default-resource-stickiness to 1. Esto alentará al administrador de recursos a dejar los recursos en ejecución en su lugar en vez de cambiarlos de sitio: crm configure property default-resource-stickiness=1.

A.4.6 Configuración de recursos

Tal como se mencionó en Instalación de clúster, esta solución proporciona un OCF Resource Agent para supervisar los servicios centrales en SLE HAE, y puede crear alternativas si lo desea. El software también depende de otros recursos varios, para los que se proporcionan Resource Agents por defecto con SLE HAE. Si no utiliza SLE HAE, deberá supervisar estos recursos adicionales utilizando otra tecnología:

  • Un recurso de sistema de archivos correspondiente al almacenamiento compartido que utiliza el software.

  • Un recurso de dirección IP que se corresponde con la IP virtual por la que se accederá a los servicios.

  • El software de base de datos Postgres que utiliza el software para almacenar la configuración y los metadatos de eventos.

Existen recursos adicionales, como MongoDB que se utiliza para Inteligencia de seguridad y el bus de mensajes ActiveMQ; al menos por el momento estos se supervisan dentro de los servicios centrales.

Solución de ejemplo

La solución de ejemplo utiliza versiones simples de los recursos necesarios, como por ejemplo Filesystem Resource Agent. Puede elegir recursos de clúster más sofisticados como cLVM (una versión de volumen lógico del sistema de archivos) si es necesario.

La solución de ejemplo proporciona un guión crm para ayudar en la configuración del clúster. El guión envía variables de configuración relevantes desde el archivo de configuración sin supervisión generado dentro de la instalación de Sentinel. Si no generó el archivo de configuración, o si desea cambiar la configuración de los recursos, puede editar el guión según corresponda.

Conéctese al nodo original en el que instaló Sentinel (debe ser el nodo en el que ejecutó la instalación completa de Sentinel) y realice lo siguiente (<SHARED1> es el volumen compartido que creó anteriormente):

mount /dev/<SHARED1> /var/opt/novell
cd /usr/lib/ocf/resource.d/novell
./install-resources.sh

Podrían surgir problemas con los nuevos recursos que aparecen en el clúster; ejecute /etc/rc.d/openais restart en node02 si experimenta este problema.

El guión install-resources.sh le pedirá algunos valores, principalmente la IP virtual que desea que utilicen las personas para acceder a Sentinel y el nombre del dispositivo del almacenamiento compartido, y luego se crearán automáticamente los recursos de clúster necesarios. Tenga en cuenta que el guión requiere que el volumen compartido ya esté montado y también requiere que esté presente el archivo de instalación sin supervisión que se creó durante la instalación de Sentinel (/tmp/install.props). No es necesario que ejecute este guión en ningún nodo instalado salvo el primero; todos los archivos de configuración relevantes se sincronizarán automáticamente en los otros nodos.

Si el entorno del cliente varía con respecto a esta solución de ejemplo, puede editar el archivo resources.cli (en el mismo directorio) y modificar las definiciones primitivas desde aquí. Por ejemplo, la solución de ejemplo utiliza el recurso de Sistema de archivos; quizá desee usar un recurso cLVM más atento al clúster.

Después de ejecutar el guión shell, puede emitir un comando de estado de crm y el resultado debería ser similar a:

crm status
Last updated: Thu Jul 26 16:34:34 2012
Last change: Thu Jul 26 16:28:52 2012 by hacluster via crmd on node01
Stack: openais
Current DC: node01 - partition with quorum
Version: 1.1.6-b988976485d15cb702c9307df55512d323831a5e
2 Nodes configured, 2 expected votes
5 Resources configured.
Online: [ node01, node02 ]
stonith-sbd    (stonith:external/sbd):    Started node01
 Resource Group: sentinelgrp
     sentinelip    (ocf::heartbeat:IPaddr2):    Started node01
     sentinelfs    (ocf::heartbeat:Filesystem):    Started node01
     sentineldb    (ocf::novell:pgsql):    Started node01
     sentinelserver    (ocf::novell:sentinel):    Started node01

En este punto, los recursos relevantes de Sentinel deben configurarse en el clúster. Puede examinar cómo se configuran y agrupan en la herramienta de gestión del clúster, por ejemplo ejecutando el estado de crm.

A.4.7 Configuración del almacenamiento en red

Como paso final de este proceso, configure el almacenamiento en red de manera que Sentinel puede migrar las particiones de eventos a un almacenamiento menos costoso. Esto es opcional y de hecho el almacenamiento en red no tiene que tener una alta disponibilidad de la misma forma que el resto del sistema; se puede usar cualquier directorio (montado desde una SAN o no), un NFS o volumen CIFS.

Haga clic enAlmacenamiento en la barra de menú superior y luego seleccione Configuración, y a continuación seleccione los botones circulares de Almacenamiento de red no configurado para configurar esta opción.

Solución de ejemplo

La solución de ejemplo usará un destino iSCSI simple como ubicación de almacenamiento compartido en red, con prácticamente la misma configuración que el almacenamiento local. En implementaciones de producción, es probable que se utilicen tecnologías de almacenamiento diferentes.

Utilice el siguiente procedimiento para configurar el almacenamiento en red para su uso en Sentinel:

NOTA:Puesto que utilizaremos un destino iSCSI para esta solución de ejemplo, el destino se montará como directorio para su uso como almacenamiento en red. Por lo tanto, necesitaremos configurar el montaje como recurso de sistema de archivos de forma parecida a como se configuró el sistema de archivos de almacenamiento local. Esto no se configuró automáticamente dentro del guión de instalación de recursos, ya que existen otras variaciones posibles; realizaremos la configuración manualmente.

  1. Revise los pasos anteriores para determinar qué partición se creó para su uso como almacenamiento en red (/dev/<NETWORK1>, o algo parecido a/dev/sdc1). Si es necesario, cree un directorio vacío en el que se pueda montar la partición (por ejemplo /var/opt/netdata).

  2. Configure el sistema de archivos de red como recurso de clúster; utilice la interfaz gráfica del usuario o ejecute el comendo:

    crm configure primitive sentinelnetfs ocf:heartbeat:Filesystem params device="/dev/<NETWORK1>" directory="<PATH>" fstype="ext3" op monitor interval=60s
    

    donde /dev/<NETWORK1> es la partición que se creó en la sección Configuración de almacenamiento compartido anterior, y <PATH> es cualquier directorio local en el que se puede montar.

  3. Añada el nuevo recurso al grupo de recursos gestionados:

     crm resource stop sentinelgrp
     crm configure delete sentinelgrp
     crm configure group sentinelgrp sentinelip sentinelfs sentinelnetfs sentineldb sentinelserver
     crm resource start sentinelgrp
    
  4. Puede conectarse al nodo que alberga actualmente los recursos (utilice estado de crm status o Hawk) y asegúrese de que el almacenamiento en red esté montado correctamente (utilice el comando mount).

  5. Entre en la interfaz Web de Sentinel.

  6. Seleccione Almacenamiento y después Configuración, y a continuación seleccione la SAN (montada localmente) en Almacenamiento de red no configurado.

  7. Introduzca la vía en la que se ha montado el almacenamiento de red, por ejemplo /var/opt/netdata.

La solución de ejemplo utiliza versiones simples de los recursos necesarios, como por ejemplo el Filesystem Resource Agent simple; los clientes pueden elegir usar recursos de clúster más sofisticados como cLVM (una versión de volumen lógico del sistema de archivos) si lo desean.