Citrix Hypervisor

Solucionar problemas de grupos agrupados

Los grupos de Citrix Hypervisor que utilizan GFS2 para aprovisionar de forma ligera su almacenamiento en bloques compartido están agrupados en clústeres. Estos grupos se comportan de forma diferente a los grupos que utilizan almacenamiento compartido basado en archivos o LVM con almacenamiento en bloques compartido. Como resultado, hay algunos problemas específicos que pueden producirse en los grupos agrupados en clústeres de Citrix Hypervisor y en los entornos GFS2.

Utilice la siguiente información para solucionar problemas menores que pueden producirse al utilizar esta función.

Todos mis hosts pueden hacer ping entre sí, pero no puedo crear un clúster. ¿Por qué?

El mecanismo de agrupamiento utiliza puertos específicos. Si sus hosts no pueden comunicarse en estos puertos (incluso si pueden comunicarse en otros puertos), no puede habilitar la agrupación en clústeres para el grupo.

Asegúrese de que los hosts del grupo puedan comunicarse en los siguientes puertos:

  • TCP: 8892, 8896, 21064
  • UDP: 5404, 5405 (no multidifusión)

Si hay firewalls o similares entre los hosts del grupo, asegúrese de que estos puertos estén abiertos.

Si ya configuró HA en el grupo, deshabilite la HA antes de habilitar la agrupación en clústeres.

¿Por qué aparece un error cuando intento unir un nuevo host a un grupo agrupado en clústeres existente?

Cuando se habilita la agrupación en clústeres en un grupo, todos los miembros del clúster deben acordar cada cambio en la membresía del grupo antes de que pueda realizarse correctamente. Si no se puede contactar con un miembro del clúster, se produce un error en las operaciones que cambian la pertenencia al clúster (como agregar o eliminar un host).

Para añadir tu nuevo host al grupo agrupado:

  1. Asegúrate de que todos tus anfitriones estén en línea y puedan contactar con ellos.

  2. Asegúrese de que los hosts del grupo puedan comunicarse en los siguientes puertos:

    • TCP: 8892, 8896, 21064
    • UDP: 5404, 5405 (no multidifusión)
  3. Asegúrese de que el host que se une tenga una dirección IP asignada en la NIC que se une a la red de clústeres del grupo.

  4. Asegúrese de que ningún host del grupo esté desconectado cuando un nuevo host intente unirse al grupo agrupado en clústeres.

  5. Si no se puede recuperar un host sin conexión, márquelo como inactivo para eliminarlo del clúster. Para obtener más información, consulte Un host de mi grupo agrupado está desconectado y no puedo recuperarlo. ¿Cómo elimino el host de mi clúster?

¿Qué hago si algunos miembros del grupo agrupado no se unen al clúster automáticamente?

Este problema puede deberse a que los miembros del grupo agrupado pierden la sincronización.

Para volver a sincronizar los miembros del grupo agrupado, utilice el siguiente comando:

xe cluster-pool-resync cluster-uuid=<cluster_uuid>

Si el problema persiste, puede intentar volver a conectar la GFS2 SR. Puede realizar esta tarea mediante la CLI xe o mediante XenCenter.

Vuelva a conectar el GFS2 SR mediante la CLI xe:

  1. Separe la GFS2 SR de la piscina. En cada host, ejecute el comando xe pbd-unplug uuid=<uuid_of_pbd>xe de la CLI.

  2. Deshabilite el grupo agrupado mediante el comando xe cluster-pool-destroy cluster-uuid=<cluster_uuid>

    Si el comando anterior no se ejecuta correctamente, puede deshabilitar forzosamente un grupo agrupado ejecutándolo xe cluster-host-force-destroy uuid=<cluster_host> en todos los hosts del grupo.

  3. Vuelva a habilitar el grupo agrupado mediante el comando xe cluster-pool-create network-uuid=<network_uuid> [cluster-stack=cluster_stack] [token-timeout=token_timeout] [token-timeout-coefficient=token_timeout_coefficient]

  4. Vuelva a conectar el GFS2 SR ejecutando el comando xe pbd-plug uuid=<uuid_of_pbd> en cada host.

Como alternativa, para usar XenCenter para volver a conectar el GFS2 SR:

  1. En la pestañaAlmacenamientodel grupo, haga clic con el botón derecho en la GFS2 SR y seleccione Separar….
  2. En la barra de herramientas, seleccione Grupo > Propiedades.
  3. En la pestaña Clústeres, deselecciona Habilitarclústeres.
  4. Haga clic en Aceptar para aplicar el cambio.
  5. En la barra de herramientas, seleccione Grupo > Propiedades.
  6. En la pestaña Clústeres, selecciona Habilitar clústeres y elige la red que quieres usar para la agrupación en clústeres.
  7. Haga clic en Aceptar para aplicar el cambio.
  8. En la pestañaAlmacenamiento dela piscina, haga clic con el botón derecho en la GFS2 SR y seleccione Reparar.

¿Cómo puedo saber si mi anfitrión tiene autoprotección?

Si el host se autodelimitó, es posible que se haya vuelto a unir al clúster cuando se reinició. Para comprobar si un host se ha autodelimitado y se ha recuperado, puede comprobar el /var/opt/xapi-clusterd/boot-times archivo para ver las horas en que se inició el host. Si hay horas de inicio en el archivo que no esperaba ver, el anfitrión se ha autodelimitado.

¿Por qué mi anfitrión está desconectado? ¿Cómo puedo recuperarlo?

Hay muchas razones posibles para que un anfitrión se desconecte. Dependiendo del motivo, el host puede recuperarse o no.

Los siguientes motivos por los que un host está fuera de línea son más comunes y se pueden solucionar recuperando el host:

  • Cierre limpio
  • Cierre forzado
  • Fallo eléctrico temporal
  • Reiniciar

Los siguientes motivos por los que un host está fuera de línea son menos frecuentes:

  • Fallo permanente del hardware del host
  • Fallo permanente de la fuente de alimentación del host
  • Partición de red
  • Fallo del conmutador de red

Estos problemas se pueden solucionar sustituyendo el hardware o marcando los hosts que han fallado como inactivos.

Un host de mi grupo agrupado está desconectado y no puedo recuperarlo. ¿Cómo elimino el host de mi clúster?

Puede decirle al clúster que olvide el host. Esta acción elimina el host del clúster de forma permanente y reduce la cantidad de hosts activos necesarios para el quórum.

Para eliminar un host irrecuperable, utilice el siguiente comando:

xe host-forget uuid=<host_uuid>

Este comando elimina el host del clúster de forma permanente y reduce la cantidad de hosts activos necesarios para el quórum.

Nota:

Si el host no está desconectado, este comando puede provocar la pérdida de datos. Se te pedirá que confirmes que estás seguro antes de continuar con el comando.

Una vez que un host se marca como inactivo, no se puede volver a agregar al clúster. Para volver a agregar este host al clúster, debe realizar una nueva instalación de Citrix Hypervisor en el host.

He reparado un huésped que estaba marcado como muerto. ¿Cómo lo vuelvo a añadir a mi clúster?

Un host de Citrix Hypervisor marcado como inactivo no se puede volver a agregar al clúster. Para volver a agregar este sistema al clúster, debe realizar una instalación nueva de XenServer. Esta nueva instalación aparece en el clúster como un host nuevo.

¿Qué hago si mi clúster sigue perdiendo quórum y sus anfitriones mantienen el cerco?

Si uno o más de los hosts de Citrix Hypervisor del clúster entran en un bucle cerrado debido a que pierden y ganan quórum de forma continua, puede iniciar el host con el argumento de la línea de comandos del nocluster kernel. Conéctese a la consola física o serie del host y edite los argumentos de arranque en grub.

Ejemplo:

/boot/grub/grub.cfg
menuentry 'XenServer' {
        search --label --set root root-oyftuj
        multiboot2 /boot/xen.gz dom0_mem=4096M,max:4096M watchdog ucode=scan dom0_max_vcpus=1-16 crashkernel=192M,below=4G console=vga vga=mode-0x0311
        module2 /boot/vmlinuz-4.4-xen root=LABEL=root-oyftuj ro nolvm hpet=disable xencons=hvc console=hvc0 console=tty0 quiet vga=785 splash plymouth.ignore-serial-consoles nocluster
        module2 /boot/initrd-4.4-xen.img
}
menuentry 'Citrix Hypervisor (Serial)' {
        search --label --set root root-oyftuj
        multiboot2 /boot/xen.gz com1=115200,8n1 console=com1,vga dom0_mem=4096M,max:4096M watchdog ucode=scan dom0_max_vcpus=1-16 crashkernel=192M,below=4G
        module2 /boot/vmlinuz-4.4-xen root=LABEL=root-oyftuj ro nolvm hpet=disable console=tty0 xencons=hvc console=hvc0 nocluster
        module2 /boot/initrd-4.4-xen.img
}
<!--NeedCopy-->

¿Qué ocurre cuando el maestro de la piscina se reinicia en una piscina agrupada?

En la mayoría de los casos, el comportamiento cuando el maestro del grupo se cierra o reinicia en un grupo agrupado es el mismo que cuando otro miembro del grupo cierra o reinicia.

La forma en que se cierra o reinicia el host puede afectar al quórum del grupo agrupado en clústeres. Para obtener más información sobre el quórum, consulte Quórum.

La única diferencia de comportamiento depende de si la HA está habilitada en su grupo:

  • Si la alta disponibilidad está habilitada, se selecciona un nuevo maestro y se mantiene el servicio general.
  • Si HA no está habilitada, no hay ningún maestro para el grupo. Las máquinas virtuales en ejecución en los hosts restantes siguen ejecutándose. La mayoría de las operaciones administrativas no están disponibles hasta que se reinicie el maestro.

¿Por qué ha desaparecido mi piscina después de que un anfitrión de la piscina agrupada se vea obligado a cerrar?

Si cierra un host de forma normal (no forzosa), se elimina temporalmente de los cálculos de quórum hasta que se vuelva a activar. Sin embargo, si se apaga por la fuerza un host o se queda sin alimentación, ese host seguirá contabilizándose para los cálculos del quórum. Por ejemplo, si tiene un grupo de 3 anfitriones y cierra por la fuerza 2 de ellos, el anfitrión restante se cierra porque ya no tiene quórum.

Intenta cerrar siempre de forma limpia los anfitriones de una piscina agrupada. Para obtener más información, consulte Administrar su grupo agrupado.

¿Por qué se reiniciaron todos los hosts del grupo agrupado al mismo tiempo?

Se considera que todos los hosts de un clúster activo han perdido quórum cuando la cantidad de hosts contactables en el grupo es inferior a estos valores:

  • Para una piscina con un número par de anfitriones: n/2
  • Para una piscina con un número impar de anfitriones: (n+1) /2

La letra n indica el número total de hosts del grupo agrupado. Para obtener más información sobre el quórum, consulte Quórum.

En esta situación, todos los hosts se autocercan y verá que todos los hosts se reinician.

Para diagnosticar por qué el grupo perdió el quórum, la siguiente información puede ser útil:

  • En XenCenter, consulte la sección Notificaciones para ver la hora en que se produjo el problema para ver si se produjo el autobloqueo.
  • En los hosts del clúster, compruebe /var/opt/xapi-clusterd/boot-times si se ha producido un reinicio en un momento inesperado.
  • En Crit.log, compruebe si se emite algún mensaje de autodelimitación.
  • Revise el resultado del dlm_tool status comando para obtener información sobre el vallado.

    Ejemplo dlm_tool status de salida:

     dlm_tool status
    
     cluster nodeid 1 quorate 1 ring seq 8 8
     daemon now 4281 fence_pid 0
     node 1 M add 3063 rem 0 fail 0 fence 0 at 0 0
     node 2 M add 3066 rem 0 fail 0 fence 0 at 0 0
     <!--NeedCopy-->
    

Al recopilar registros para la depuración, recopile información de diagnóstico de todos los hosts del clúster. En el caso de que un único host se autoproteja, es más probable que los demás hosts del clúster dispongan de información útil.

Recopile informes completos sobre el estado de los servidores de los hosts de su grupo agrupado en clústeres. Para obtener más información, consulte los informes de estado del servidor Citrix Hypervisor.

¿Por qué no puedo recuperar mi grupo agrupado cuando tengo quórum?

Si tiene un grupo agrupado en clústeres con un número par de hosts, el número de hosts necesario para lograr el quórum es uno más que el número de hosts necesario para conservar el quórum. Para obtener más información sobre el quórum, consulte Quórum.

Si se encuentra en un grupo de números pares y ha recuperado la mitad de los hosts, debe recuperar un host más antes de poder recuperar el clúster.

¿Por qué aparece un Invalid token error al cambiar la configuración del clúster?

Al actualizar la configuración del clúster, es posible que reciba el siguiente mensaje de error sobre un token no válido ("[[\"InternalError\",\"Invalid token\"]]").

Puede resolver este problema siguiendo los pasos siguientes:

  1. (Opcional) Realice una copia de seguridad de la configuración actual del clúster recopilando un informe de estado del servidor que incluya los registros de xapi-clusterd y del sistema.

  2. Use XenCenter para separar el GFS2 SR del grupo agrupado en clústeres.

    En la pestañaAlmacenamientodel grupo, haga clic con el botón derecho en la GFS2 SR y seleccione Separar….

  3. En cualquier host del clúster, ejecute este comando para destruir el clúster por la fuerza:

    xe cluster-pool-force-destroy cluster-uuid=<uuid>
    
  4. Use XenCenter para volver a habilitar la agrupación en clústeres en su grupo.

    1. En la barra de herramientas, seleccione Grupo > Propiedades.
    2. En la pestaña Clústeres, selecciona Habilitar clústeres y elige la red que quieres usar para la agrupación en clústeres.
    3. Haga clic en Aceptar para aplicar el cambio
  5. Use XenCenter para volver a conectar el GFS2 SR al grupo.

    En la pestañaAlmacenamiento dela piscina, haga clic con el botón derecho en la GFS2 SR y seleccione Reparar.

Solucionar problemas de grupos agrupados