XenServer

Agrupaciones en clúster

La agrupación en clústeres proporciona funciones adicionales necesarias para los grupos de recursos que utilizan SRs de GFS2. Para obtener más información sobre GFS2, consulte Configurar el almacenamiento.

Un clúster es un grupo de hasta 16 hosts de XenServer que están más estrechamente conectados y coordinados que los hosts de grupos no agrupados en clústeres. Los hosts del clúster mantienen una comunicación constante entre sí en una red seleccionada. Todos los hosts del clúster conocen el estado de todos los hosts del clúster. Esta coordinación de host permite que el clúster controle el acceso al contenido de GFS2 SR.

Nota:

La función de agrupamiento en clústeres solo beneficia a los grupos que contienen un SR de GFS2. Si su grupo no contiene un SR de GFS2, no habilite la agrupación en clústeres en su grupo.

Quórum

Cada host de un clúster debe estar siempre en comunicación con la mayoría de los hosts del clúster (incluido él mismo). Este estado se conoce como anfitrión que tiene quórum. Si un host no tiene quórum, ese host se autocerca.

La cantidad de hosts que deben estar en comunicación para alcanzar inicialmente el quórum puede ser diferente de la cantidad de hosts que un clúster necesita para mantener el quórum.

En la tabla siguiente se resume este comportamiento. El valor de n es la cantidad total de hosts del grupo agrupado.

  Número de hosts necesarios para lograr el quórum Número de hosts necesarios para mantener el quórum
Número impar de anfitriones en la piscina (n+1) /2 (n+1) /2
Número par de anfitriones en la piscina (n/2) +1 n/2

Grupos de números impares

Para alcanzar el valor de quórum para un grupo de números impares, necesitará la mitad de uno más que el número total de hosts del clúster: (n+1) /2. Este es también el número mínimo de hosts a los que se debe poder contactar para que el grupo mantenga el quórum.

Por ejemplo, en un grupo agrupado en clústeres de 5 hosts, se debe poder contactar con 3 hosts para que el clúster se active y permanezca en quórum [(5+1) /2 = 3].

Siempre que sea posible, se recomienda utilizar un número impar de hosts en un grupo agrupado, ya que esto garantiza que los hosts siempre puedan determinar si tienen un conjunto de quóratos.

Grupos pares

Cuando un grupo agrupado en clúster con número par se enciende desde un inicio en frío, (n/2) +1 hosts deben estar disponibles antes de que los hosts tengan quórum. Una vez que los hosts tienen quórum, el clúster se activa.

Sin embargo, un grupo de números pares activo puede permanecer en quórum si el número de hosts con los que se puede contactar es al menos n/2. Como resultado, es posible que un clúster en ejecución con un número par de hosts se divida exactamente por la mitad. El clúster en ejecución decide qué mitad del clúster se autocierra y qué mitad del clúster tiene quórum. La mitad del clúster que contiene el nodo con el ID más bajo que se consideraba activo antes de la división del clúster permanece activa y la otra mitad del clúster se autocierra.

Por ejemplo, en un grupo agrupado en clústeres de 4 hosts, se debe poder contactar con 3 hosts para que el clúster se active [4/2 + 1 = 3]. Una vez que el clúster esté activo, para mantener el quórum, solo se debe poder contactar con 2 hosts [4/2 = 2] y ese conjunto de hosts debe incluir el host con el ID de nodo más bajo que se sepa que está activo.

Autocercas

Si un host detecta que no tiene quórum, se autocierra en unos segundos. Cuando un host se autocerca, se reinicia inmediatamente. Todas las máquinas virtuales que se ejecutan en el host se detienen inmediatamente porque el host se apaga por completo. En un grupo agrupado que usa alta disponibilidad, XenServer reinicia las máquinas virtuales según su configuración de reinicio en otros miembros del grupo. El host que se autodelimitó se reinicia e intenta volver a unirse al clúster.

Si la cantidad de hosts activos en el clúster es inferior al valor de quórum, todos los hosts restantes pierden el quórum.

En un escenario ideal, su grupo agrupado en clústeres siempre tiene más hosts activos de los necesarios para el quórum y XenServer nunca lo impide. Para que este caso sea más probable, tenga en cuenta las siguientes recomendaciones al configurar su grupo agrupado en clústeres:

  • Asegúrese de tener una buena redundancia de hardware.

  • Use una red enlazada dedicada para la red de clústeres. Asegúrese de que las NIC enlazadas estén en el mismo segmento L2. Para obtener más información, consulte Redes.

  • Configure las rutas múltiples de almacenamiento entre el grupo y GFS2 SR. Para obtener más información, consulte Múltiples rutas de almacenamiento.

Crea un grupo agrupado

Antes de empezar, asegúrese de que se cumplen los siguientes requisitos previos:

  • Todos los hosts XenServer del grupo agrupado deben tener al menos 2 GiB de memoria en el dominio de control.

    Según el entorno, es posible que los hosts requieran más memoria de dominio de control que esta. Si no tiene suficiente memoria de dominio de control en sus hosts, su agrupación puede experimentar inestabilidad en la red. La inestabilidad de la red puede causar problemas a una agrupación en clústeres con la SR de GFS2. Para obtener información sobre cómo cambiar la cantidad de memoria del dominio de control y supervisar el comportamiento de la memoria, consulte Uso de memoria.

  • Todos los hosts del clúster deben usar direcciones IP estáticas para la red del clúster.

  • Le recomendamos que utilice la agrupación en clústeres solo en grupos que contengan al menos tres hosts, ya que los grupos de dos hosts son sensibles a la posibilidad de que se autoproteja todo el grupo.

  • Los grupos agrupados solo admiten hasta 16 hosts por grupo.

  • Si tiene un firewall entre los hosts de su grupo, asegúrese de que los hosts puedan comunicarse en la red del clúster mediante los siguientes puertos:
    • TCP: 8892, 8896, 21064
    • UDP: 5404, 5405

    Para obtener más información, consulte Puertos de comunicación utilizados por XenServer.

  • Si está agrupando un grupo existente, asegúrese de que la alta disponibilidad esté inhabilitada. Puede volver a habilitar la alta disponibilidad después de habilitar la agrupación en clústeres.

  • Le recomendamos encarecidamente que utilice una red enlazada para su grupo agrupado que no se utilice para ningún otro tráfico.

Si lo prefiere, puede configurar la agrupación en clústeres en su grupo mediante XenCenter. Para obtener más información, consulte la documentación del producto XenCenter.

Para usar la CLI xe para crear un grupo en clúster:

  1. Cree una red enlazada para usarla como red de agrupación en clústeres.

    Nota:

    Le recomendamos encarecidamente que utilice una red enlazada dedicada para su grupo agrupado en clústeres. No utilice esta red para ningún otro tipo de tráfico.

    En el host de XenServer en el que quiere que coordine el grupo, complete los siguientes pasos:

    1. Abra una consola en el host de XenServer.

    2. Cree una red para usarla con la NIC enlazada mediante el siguiente comando:

      xe network-create name-label=bond0
      <!--NeedCopy-->
      

      Se devuelve el UUID de la nueva red.

    3. Encuentre los UUID de los PIF que se van a usar en el enlace mediante el siguiente comando:

      xe pif-list
      <!--NeedCopy-->
      
    4. Cree su red enlazada en modo activo-activo, modo activo-pasivo o modo enlace LACP. Según el modo de enlace que quiera usar, realice una de las siguientes acciones:

      • Para configurar el enlace en modo activo-activo (predeterminado), utilice el comando bond-create para crear el enlace. Con comas para separar los parámetros, especifique el UUID de red recién creado y los UUID de los PIF que se van a unir:

         xe bond-create network-uuid=<network_uuid> /
              pif-uuids=<pif_uuid_1>,<pif_uuid_2>,<pif_uuid_3>,<pif_uuid_4>
         <!--NeedCopy-->
        

        Escriba dos UUID cuando vincule dos NIC y cuatro UUID cuando vincule cuatro NIC. El UUID del enlace se devuelve después de ejecutar el comando.

      • Para configurar el enlace en modo activo-pasivo o enlace LACP, utilice la misma sintaxis, agregue el parámetro mode opcional y especifique lacp o active-backup:

         xe bond-create network-uuid=<network_uuid> pif-uuids=<pif_uuid_1>, /
              <pif_uuid_2>,<pif_uuid_3>,<pif_uuid_4> /
              mode=balance-slb | active-backup | lacp
         <!--NeedCopy-->
        

    Una vez creada la red enlazada en el coordinador del grupo, al unir otros hosts de XenServer al grupo, la información de red y enlace se replica automáticamente en el servidor que se une.

    Para obtener más información, consulte Redes.

  2. Cree un grupo de recursos de al menos tres hosts de XenServer.

    Repita los siguientes pasos en cada host de XenServer que sea miembro del grupo (no principal):

    1. Abra una consola en el host de XenServer.
    2. Une el host de XenServer al grupo en el coordinador del grupo mediante el siguiente comando:

      xe pool-join master-address=master_address master-username=administrators_username master-password=password
      <!--NeedCopy-->
      

      El valor del master-address parámetro debe establecerse en el nombre de dominio completo del host de XenServer que es el coordinador del grupo. password Debe ser la contraseña de administrador establecida cuando se instaló el coordinador de la agrupación.

    Para obtener más información, consulte Hosts y grupos de recursos.

  3. Para cada PIF que pertenezca a esta red, defina disallow-unplug=true.

    1. Busque los UUID de los PIF que pertenecen a la red mediante el siguiente comando:

      xe pif-list
      <!--NeedCopy-->
      
    2. Ejecute el siguiente comando en un host de XenServer de su grupo de recursos:

      xe pif-param-set disallow-unplug=true uuid=<pif_uuid>
      <!--NeedCopy-->
      
  4. Habilite la agrupación en clústeres en su grupo. Ejecute el siguiente comando en un host de XenServer de su grupo de recursos:

    xe cluster-pool-create network-uuid=<network_uuid>
    <!--NeedCopy-->
    

    Proporcione el UUID de la red enlazada que creó en un paso anterior.

Destruye una agrupación agrupada

Puede destruir una agrupación agrupada. Después de destruir un grupo agrupado, el grupo sigue existiendo, pero ya no está agrupado en clústeres y ya no puede usar SR de GFS2.

Para destruir un grupo agrupado, ejecute el siguiente comando:

xe cluster-pool-destroy cluster-uuid=<uuid>

Administre su grupo agrupado

Al administrar su grupo en clúster, las siguientes prácticas pueden disminuir el riesgo de que el grupo pierda quórum.

Agregar o quitar un host en una agrupación en clúster

Al agregar un host a una agrupación en clúster o quitarlo de ella, asegúrese de que todos los hosts del clúster estén en línea.

Puede agregar un host a una agrupación en clúster o quitarlo de ella mediante XenCenter. Para obtener más información, consulte Agregar un servidor a una agrupación y Quitar un servidor de una agrupación.

También puede agregar un host a una agrupación en clúster o quitarlo de ella mediante la CLI xe. Para obtener más información, consulte Agregar un host a un grupo mediante la CLI xe y Quitar los hosts de XenServer de un grupo de recursos.

Asegúrese de que los hosts se cierren de forma limpia

Cuando un host se cierra de forma limpia, se elimina temporalmente del clúster hasta que se inicia de nuevo. Mientras el host está cerrado, no cuenta para el valor de quórum del clúster. La ausencia del anfitrión no provoca que otros anfitriones pierdan quórum.

Sin embargo, si un host se cierra de forma forzada o inesperada, no se elimina del clúster antes de que se desconecte. Este host cuenta para el valor de quórum del clúster. Su cierre puede provocar que otros hosts pierdan quórum.

Si es necesario cerrar un host por la fuerza, compruebe primero cuántos hosts activos hay en el clúster. Puede hacerlo con el comando corosync-quorumtool. En el resultado del comando, la cantidad de hosts en vivo es el valor de Total votes: y la cantidad de hosts en vivo necesarios para retener el quórum es el valor de Quorum:.

  • Si la cantidad de hosts activos es la misma que la cantidad de hosts necesarios para mantener el quórum, no apague el host por la fuerza. Si lo hace, todo el grupo se cercará.

    En su lugar, intente recuperar otros hosts y aumentar el número de hosts activos antes de cerrar el host por la fuerza.

  • Si la cantidad de anfitriones activos se acerca a la cantidad de hosts necesarios para mantener el quórum, puede cerrar el host por la fuerza. Sin embargo, esto hace que el clúster sea más vulnerable a la protección total si otros hosts del grupo tienen problemas.

Intente siempre reiniciar el host apagado lo antes posible para aumentar la resiliencia del clúster.

Usar el modo de mantenimiento

Antes de hacer algo en un host que pueda provocar que ese host pierda quórum, ponga el host en modo de mantenimiento. Cuando un host está en modo de mantenimiento, las máquinas virtuales en ejecución se migran desde él a otro host del grupo. Además, si ese host era el coordinador del grupo, esa función se pasa a otro host del grupo. Si sus acciones hacen que un host en modo de mantenimiento se autobloquee, no pierde ninguna VM ni pierde la conexión de XenCenter al grupo.

Los hosts en modo de mantenimiento siguen contando para el valor de quórum del clúster.

Solo puede cambiar la dirección IP de un host que forma parte de un grupo en clúster cuando ese host está en modo de mantenimiento. Cambiar la dirección IP de un host provoca que el host abandone el clúster. Cuando la dirección IP se ha cambiado correctamente, el host se vuelve a unir al clúster. Cuando el host se vuelva a unir al clúster, puede sacarlo del modo de mantenimiento.

Recuperar hosts que se han cerrado automáticamente o están fuera de línea

Es importante recuperar los hosts que tienen autoprotección. Mientras estos miembros del clúster están desconectados, cuentan para el número de quórum del clúster y disminuyen el número de miembros del clúster con los que se puede contactar. Esta situación aumenta el riesgo de que una falla posterior del host provoque que el clúster pierda el quórum y se cierre por completo.

Tener hosts sin conexión en su clúster también le impide realizar ciertas acciones. En un grupo agrupado, todos los miembros del grupo deben aceptar cada cambio de membresía del grupo antes de que el cambio pueda tener éxito. Si no se puede contactar con un miembro del clúster, XenServer impide las operaciones que cambien la pertenencia al clúster (como agregar o quitar un host).

Marcar los hosts como irrecuperables

Si no se pueden recuperar uno o más hosts sin conexión, puede decirle al grupo agrupado en clústeres que los olvide. Estos anfitriones se eliminan permanentemente del grupo. Una vez que los hosts se eliminan del grupo agrupado en clústeres, ya no cuentan para el valor del quórum.

Para marcar un host como irrecuperable, utilice el siguiente comando:

xe host-forget uuid=<host_uuid>

Recuperar un host olvidado

Cuando se le dice a un grupo agrupado que olvide un anfitrión, este no podrá volver a añadirse al grupo.

Para volver a unirse al grupo agrupado, debe volver a instalar XenServer en el host para que aparezca como un host nuevo en el grupo. A continuación, puede unir al anfitrión al grupo agrupado de la forma habitual.

Solucione los problemas de su grupo agrupado

Si tiene problemas con su grupo agrupado, consulte Solucionar problemas de grupos agrupados.

Limitaciones

  • Los grupos agrupados solo admiten hasta 16 hosts por grupo.
  • Para habilitar la alta disponibilidad en su agrupación en clústeres, la SR de latido debe ser una SR de GFS2.
  • Para el tráfico de clústeres, le recomendamos encarecidamente que utilice una red enlazada que utilice al menos dos conmutadores de red diferentes. No utilice esta red para ningún otro propósito.
  • Para cambiar la dirección IP de la red de clústeres mediante XenCenter, es necesario inhabilitar temporalmente la agrupación en clústeres y GFS2.
  • No cambie la vinculación de la red de clústeres mientras el clúster está activo y tiene máquinas virtuales en ejecución. Esta acción puede provocar que los hosts del clúster se reinicien por completo (valla).
  • Si tiene un conflicto de direcciones IP (varios hosts que tienen la misma dirección IP) en su red de clústeres que implica al menos un host con la agrupación en clústeres habilitada, el clúster no se forma correctamente y los hosts no pueden cercarlo cuando es necesario. Para solucionar este problema, resuelva el conflicto de direcciones IP.
Agrupaciones en clúster