Grupos agrupados
La agrupación en clústeres proporciona características adicionales que son necesarias para los grupos de recursos que utilizan SR GFS2. Para obtener más información sobre GFS2, consulte Configurar almacenamiento.
Un clúster es un grupo de hasta 16 hosts XenServer que están conectados y coordinados más estrechamente que los hosts en grupos no agrupados. 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 cada uno de los hosts del clúster. Esta coordinación de host permite que el clúster controle el acceso al contenido del GFS2 SR.
Nota: No
La función de agrupación en clústeres solo beneficia a los grupos que contienen un SR GFS2. Si el grupo no contiene un SR GFS2, no habilite la agrupación en clústeres en el 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 host que tiene quórum. Si un host no tiene quórum, ese host se autolimita.
El número de hosts que deben estar en comunicación para alcanzar inicialmente el quórum puede ser diferente del número de hosts que requiere un clúster para mantener el quórum.
En la tabla siguiente se resume este comportamiento. El valor de n es el número total de hosts en el grupo agrupado.
| Número de hosts necesarios para alcanzar el quórum | Número de hosts necesarios para mantener el quórum | |
|---|---|---|
| Número impar de anfitriones en el grupo | (n+1)/2 | (n+1)/2 |
| Número par de anfitriones en el grupo | (n/2)+1 | n/2 |
Para un grupo en clúster, puede verificar si el grupo tiene quórum consultando el parámetro is-quorate del clúster:
xe cluster-list params=is-quorate uuid=<cluster_id>
Para ver cuántos hosts del clúster están activos, ejecute el siguiente comando:
xe cluster-list params=live-hosts uuid=<cluster_id>
Para ver cuántos hosts activos se requieren para que el clúster logre el quórum, ejecute el siguiente comando:
xe cluster-list params=quorum uuid=<cluster_id>
Cuando se crea el clúster, la cantidad de hosts activos debe ser mayor o igual a este valor. Para mantener el quórum, la cantidad de hosts requerida puede ser diferente al valor devuelto por este comando dependiendo de si el clúster contiene una cantidad par o impar de hosts.
Grupos impares
Para alcanzar el valor de quórum de un grupo de números impares, necesita 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 que deben permanecer localizables para que el grupo permanezca con quórum.
Por ejemplo, en un grupo agrupado de 5 hosts, se debe poder contactar con 3 hosts para que el clúster se active y permanezca con 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órate.
Grupos pares
Cuando un grupo agrupado de números pares se enciende desde un inicio en frío, (n/2)+1 los 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 activo de números pares puede permanecer con quórum si el número de hosts contactables 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 autodelimita 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 consideró activo antes de la división del clúster permanece activa y la otra mitad del clúster se autodelimita.
Por ejemplo, en un grupo agrupado 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 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 sabe que está activo.
Autovallado
Si un host detecta que no tiene quórum, se autodelimita en unos segundos. Cuando un host se autodelimita, se reinicia inmediatamente. Todas las máquinas virtuales que se ejecutan en el host se detienen inmediatamente porque el host realiza un apagado completo. En un grupo agrupado que utiliza 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 el número de hosts activos en el clúster es inferior al valor de quórum, todos los hosts restantes pierden quórum.
En un escenario ideal, su grupo agrupado siempre tiene más hosts activos de los necesarios para el quórum y XenServer nunca genera barreras. Para que este escenario sea más probable, tenga en cuenta las siguientes recomendaciones al configurar el grupo agrupado:
-
Asegúrese de tener una buena redundancia de hardware.
-
Utilice una red enlazada dedicada para la red del clúster. Asegúrese de que las NIC enlazadas estén en el mismo segmento L2. Para obtener más información, consulte Gestión de redes.
-
Configure las rutas múltiples de almacenamiento entre el grupo y el SR de GFS2. Para obtener más información, consulte Múltiples rutas de almacenamiento.
Creación de un grupo agrupado
Antes de comenzar, asegúrese de que se cumplan los siguientes requisitos previos:
-
Todos los hosts de XenServer del grupo en clúster deben tener al menos 2 GiB de memoria de dominio de control.
Dependiendo de su entorno, sus hosts podrían requerir más memoria de dominio de control que esta. Si no tiene suficiente memoria de dominio de control en los hosts, el grupo puede experimentar inestabilidad de red. La inestabilidad de la red puede causar problemas para un grupo agrupado con SR 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 utilizar direcciones IP estáticas para la red del clúster.
-
Se recomienda utilizar 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 autolimitación de todo el grupo.
-
Los grupos agrupados solo admiten hasta 16 hosts por grupo.
- Si tiene un firewall entre los hosts del 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 va a agrupar en clústeres un grupo existente, asegúrese de que la alta disponibilidad esté deshabilitada. Puede volver a habilitar la alta disponibilidad después de habilitar la agrupación en clústeres.
- Le recomendamos encarecidamente que utilice una red vinculada para su grupo de clústeres que no se utilice para ningún otro tráfico.
Si lo prefiere, puede configurar la agrupación en su grupo mediante XenCenter. Para obtener más información, consulte la Documentación del producto XenCenter.
Para usar la CLI de xe para crear un grupo agrupado:
-
Cree una red enlazada para utilizarla como red de agrupamiento.
Nota: No
Le recomendamos encarecidamente que utilice una red vinculada dedicada para su grupo agrupado. No utilice esta red para ningún otro tráfico.
En el host XenServer que desea que sea el coordinador del grupo, complete los siguientes pasos:
-
Abra una consola en el host de XenServer.
-
Cree una red para su uso con la NIC enlazada mediante el siguiente comando:
xe network-create name-label=bond0 <!--NeedCopy-->Se devuelve el UUID de la nueva red.
-
Busque los UUID de los PIF para usar en el enlace mediante el siguiente comando:
xe pif-list <!--NeedCopy--> -
Cree su red enlazada en modo activo-activo, modo activo-pasivo o modo de enlace LACP. En función del modo de enlace que desee utilizar, realice una de las siguientes acciones:
-
Para configurar el enlace en modo activo-activo (predeterminado), utilice el comando
crear vínculospara crear el vínculo. Usando comas para separar los parámetros, especifique el UUID de red recién creado y los UUID de los PIF que se van a vincular: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 bono se devuelve después de ejecutar el comando.
-
Para configurar el enlace en modo de enlace activo-pasivo o LACP, utilice la misma sintaxis, agregue el atributo opcional
modoy especifiqueLACPocopia de seguridad activa: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 que haya creado su red vinculada en el coordinador del grupo, cuando una otros hosts de XenServer al grupo, la información de la red y del vínculo se replicará automáticamente en el servidor que se une.
Para obtener más información, consulte Gestión de redes.
-
-
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 maestro):
- Abra una consola en el host de XenServer.
-
Únase 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 de la propiedad
dirección-maestradebe establecerse en el nombre de dominio completo del host de XenServer que es el coordinador del grupo. ElcontraseñaDebe ser la contraseña de administrador establecida cuando se instaló el coordinador del grupo.
Para obtener más información, consulte Hosts y grupos de recursos.
-
Para cada PIF que pertenezca a esta red, establezca
disallow-unplug=true.-
Busque los UUID de los PIF que pertenecen a la red mediante el siguiente comando:
xe pif-list <!--NeedCopy--> -
Ejecute el siguiente comando en un host de XenServer del grupo de recursos:
xe pif-param-set disallow-unplug=true uuid=<pif_uuid> <!--NeedCopy-->
-
-
Habilite la agrupación en clústeres en el grupo. Ejecute el siguiente comando en un host de XenServer del 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.
Destrucción de un grupo agrupado
Puede destruir un grupo agrupado. Después de destruir un grupo agrupado, el grupo sigue existiendo, pero ya no está agrupado y ya no puede usar SR GFS2.
Para destruir un grupo agrupado, ejecute el siguiente comando:
xe cluster-pool-destroy cluster-uuid=<uuid>
Administre su grupo agrupado
Al administrar el grupo agrupado, las siguientes prácticas pueden reducir el riesgo de que el grupo pierda quórum.
Agregar o quitar un host en un grupo agrupado
Al agregar o quitar un host en un grupo agrupado, asegúrese de que todos los hosts del clúster estén en línea.
Puede agregar o quitar un host en un grupo agrupado mediante XenCenter. Para obtener más información, consulte Agregar un servidor a un grupo y Quitar un servidor de un grupo.
También puede agregar o quitar un host en un grupo de clústeres mediante la CLI xe. Para obtener más información, consulte Agregar un host a un grupo mediante la CLI de xe y Eliminar hosts de XenServer de un grupo de recursos.
Asegúrese de que los hosts se apaguen correctamente
Cuando un host se apaga limpiamente, se quita temporalmente del clúster hasta que se vuelve a iniciar. Mientras el host está apagado, no cuenta para el quórum del clúster. La ausencia del anfitrión no provoca que los demás anfitriones pierdan quórum. Para obtener más información, consulte Apagar un host XenServer.
Sin embargo, si un host se apaga 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 apagado puede hacer que otros hosts pierdan quórum.
Si es necesario apagar un host a la fuerza, primero verifique cuántos hosts activos hay en el clúster. Puede hacer esto con el comando corosync-quorumtool. En la salida del comando, el número de hosts activos es el valor de Total de votos: y el número de hosts en vivo necesarios para mantener el quórum es el valor de Quórum:.
-
Si el número de hosts activos es el mismo que el número de hosts necesarios para mantener el quórum, no fuerce el apagado del host. Al hacerlo, todo el grupo se cerca.
En su lugar, intente recuperar otros hosts y aumentar el número de hosts activos antes de apagar el host a la fuerza.
-
Si el número de hosts activos es cercano al número de hosts necesarios para mantener el quórum, puede forzar el apagado del host. Sin embargo, esto hace que el clúster sea más vulnerable a la limitación completa si otros hosts del grupo tienen problemas.
Intente siempre reiniciar el host apagado lo antes posible para aumentar la resistencia del clúster.
Usar el modo de mantenimiento
Antes de hacer algo en un host que pueda hacer 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 fuera de él a otro host del grupo. Además, si ese host era el coordinador del grupo, esa función se pasa a un host diferente en el grupo. Si sus acciones hacen que un host en modo de mantenimiento se autodelimite, no perderá ninguna máquina virtual ni perderá su conexión de XenCenter con el 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 de clústeres cuando ese host está en modo de mantenimiento. Cambiar la dirección IP de un host hace que el host abandone el clúster. Cuando la dirección IP se ha cambiado correctamente, el host vuelve a unirse al clúster. Una vez que el host se vuelve a unir al clúster, puede sacarlo del modo de mantenimiento.
Recuperar hosts que se han autocercado o que están sin conexión
Es importante recuperar los hosts que se han autocercado. Mientras estos miembros del clúster están sin conexión, 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 se produzca un error de host posterior, lo que hará que el clúster pierda quórum y se apague por completo.
Tener hosts sin conexión en el clúster también le impide realizar determinadas acciones. En un grupo agrupado, todos los miembros del grupo deben estar de acuerdo con cada cambio de pertenencia al grupo para que el cambio pueda realizarse correctamente. Si no se puede contactar con un miembro del clúster, XenServer evita las operaciones que cambian la membresía del clúster (como agregar o eliminar host).
Marcar hosts como irrecuperables
Si no se pueden recuperar uno o varios hosts sin conexión, puede indicar al grupo agrupado que los olvide. Estos hosts se eliminan permanentemente del grupo. Una vez que se eliminan los hosts del grupo agrupado, 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
Después de que se le dice a un grupo agrupado que olvide un host, el host no se puede volver a agregar al grupo.
Para volver a unirse al grupo en clúster, debe volver a instalar XenServer en el host para que aparezca como un nuevo host en el grupo. A continuación, puede unir el host al grupo agrupado de la manera habitual.
Solución de problemas del grupo agrupado
Si encuentra problemas con su grupo agrupado, consulte Solucionar problemas de grupos agrupados.
Restricciones
- Los grupos agrupados solo admiten hasta 16 hosts por grupo.
- Para habilitar HA en el grupo agrupado, el SR de latido debe ser un SR GFS2.
- Para el tráfico de clúster, se recomienda encarecidamente utilizar 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 del clúster mediante XenCenter, es necesario deshabilitar temporalmente la agrupación en clústeres y GFS2.
- No cambie la vinculación de la red de agrupación en clústeres mientras el clúster esté activo y tenga máquinas virtuales en ejecución. Esta acción puede hacer que los hosts del clúster se reinicien de forma completa (cercado).
- Si tiene un conflicto de direcciones IP (varios hosts que tienen la misma dirección IP) en la red de agrupación en clústeres que involucra al menos a un host con la agrupación en clústeres habilitada, el clúster no se forma correctamente y los hosts no pueden cercar cuando es necesario. Para solucionar este problema, resuelva el conflicto de direcciones IP.