27.2. Configuración de clusters multisitio con Pacemaker

El siguiente procedimiento proporciona un resumen de los pasos que se siguen para configurar una configuración multisitio que utiliza el gestor de tickets de Booth.

Estos comandos de ejemplo utilizan la siguiente disposición:

  • El clúster 1 está formado por los nodos cluster1-node1 y cluster1-node2
  • El cluster 1 tiene asignada una dirección IP flotante de 192.168.11.100
  • El grupo 2 está formado por cluster2-node1 y cluster2-node2
  • El clúster 2 tiene asignada una dirección IP flotante de 192.168.22.100
  • El nodo árbitro es arbitrator-node con una dirección ip de 192.168.99.100
  • El nombre del ticket de Booth que utiliza esta configuración es apacheticket

Estos comandos de ejemplo asumen que los recursos de cluster para un servicio Apache han sido configurados como parte del grupo de recursos apachegroup para cada cluster. No es necesario que los recursos y los grupos de recursos sean los mismos en cada clúster para configurar una restricción de tickets para esos recursos, ya que la instancia de Pacemaker para cada clúster es independiente, pero ese es un escenario común de conmutación por error.

Tenga en cuenta que en cualquier momento del procedimiento de configuración puede introducir el comando pcs booth config para mostrar la configuración de booth para el nodo o clúster actual o el comando pcs booth status para mostrar el estado actual de booth en el nodo local.

  1. Instale el paquete booth-site Booth ticket manager en cada nodo de ambos clusters.

    [root@cluster1-node1 ~]# yum install -y booth-site
    [root@cluster1-node2 ~]# yum install -y booth-site
    [root@cluster2-node1 ~]# yum install -y booth-site
    [root@cluster2-node2 ~]# yum install -y booth-site
  2. Instale los paquetes pcs, booth-core, y booth-arbitrator en el nodo árbitro.

    [root@arbitrator-node ~]# yum install -y pcs booth-core booth-arbitrator
  3. Si está ejecutando el demonio firewalld, ejecute los siguientes comandos en todos los nodos de ambos clústeres así como en el nodo árbitro para habilitar los puertos requeridos por el complemento de alta disponibilidad de Red Hat.

    # firewall-cmd --permanent --add-service=high-availability`
    # firewall-cmd --add-service=high-availability`

    Es posible que tenga que modificar los puertos que están abiertos para adaptarse a las condiciones locales. Para más información sobre los puertos requeridos por el complemento de alta disponibilidad de Red Hat, consulte Habilitación de puertos para el complemento de alta disponibilidad.

  4. Cree una configuración de Booth en un nodo de un cluster. Las direcciones que especifique para cada clúster y para el árbitro deben ser direcciones IP. Para cada clúster, se especifica una dirección IP flotante.

    [cluster1-node1 ~] # pcs booth setup sites 192.168.11.100 192.168.22.100 arbitrators 192.168.99.100

    Este comando crea los archivos de configuración /etc/booth/booth.conf y /etc/booth/booth.key en el nodo desde el que se ejecuta.

  5. Cree un ticket para la configuración de Booth. Este es el ticket que utilizará para definir la restricción de recursos que permitirá que los recursos se ejecuten solo cuando este ticket se haya concedido al clúster.

    Este procedimiento básico de configuración de la conmutación por error utiliza sólo un ticket, pero puede crear tickets adicionales para escenarios más complicados en los que cada ticket esté asociado a un recurso o recursos diferentes.

    [cluster1-node1 ~] # pcs booth ticket add apacheticket
  6. Sincronizar la configuración de Booth en todos los nodos del clúster actual.

    [cluster1-node1 ~] # pcs booth sync
  7. Desde el nodo del árbitro, extraiga la configuración de Booth al árbitro. Si no lo ha hecho previamente, debe autenticar primero pcs en el nodo desde el que está extrayendo la configuración.

    [arbitrator-node ~] # pcs host auth cluster1-node1
    [arbitrator-node ~] # pcs booth pull cluster1-node1
  8. Extraiga la configuración de Booth al otro clúster y sincronice a todos los nodos de ese clúster. Al igual que con el nodo árbitro, si no lo ha hecho previamente, debe autenticar primero pcs en el nodo del que está tirando la configuración.

    [cluster2-node1 ~] # pcs host auth cluster1-node1
    [cluster2-node1 ~] # pcs booth pull cluster1-node1
    [cluster2-node1 ~] # pcs booth sync
  9. Iniciar y habilitar Booth en el árbitro.

    Nota

    No debe iniciar o habilitar manualmente Booth en ninguno de los nodos de los clusters, ya que Booth se ejecuta como un recurso de Pacemaker en esos clusters.

    [arbitrator-node ~] # pcs booth start
    [arbitrator-node ~] # pcs booth enable
  10. Configure Booth para que se ejecute como un recurso de clúster en ambos sitios de clúster. Esto crea un grupo de recursos con booth-ip y booth-service como miembros de ese grupo.

    [cluster1-node1 ~] # pcs booth create ip 192.168.11.100
    [cluster2-node1 ~] # pcs booth create ip 192.168.22.100
  11. Añade una restricción de ticket al grupo de recursos que has definido para cada clúster.

    [cluster1-node1 ~] # pcs constraint ticket add apacheticket apachegroup
    [cluster2-node1 ~] # pcs constraint ticket add apacheticket apachegroup

    Puede introducir el siguiente comando para mostrar las restricciones de billetes actualmente configuradas.

    pcs constraint ticket [show]
  12. Conceda el ticket que creó para esta configuración al primer clúster.

    Tenga en cuenta que no es necesario haber definido las restricciones de los tickets antes de concederlos. Una vez que haya concedido inicialmente un ticket a un clúster, Booth se encarga de la gestión de los tickets a menos que lo anule manualmente con el comando pcs booth ticket revoke. Para obtener información sobre los comandos de administración de pcs booth, consulte la pantalla de ayuda de PCS para el comando pcs booth.

    [cluster1-node1 ~] # pcs booth ticket grant apacheticket

Es posible añadir o eliminar tickets en cualquier momento, incluso después de completar este procedimiento. Sin embargo, después de añadir o eliminar un ticket, debe sincronizar los archivos de configuración con los otros nodos y clústeres, así como con el árbitro, y conceder el ticket como se muestra en este procedimiento.

Para obtener información sobre otros comandos de administración de Booth que puede utilizar para limpiar y eliminar archivos de configuración, tickets y recursos de Booth, consulte la pantalla de ayuda de PCS para el comando pcs booth.