Resolución de problemas de pools en clúster GFS2
Los pools de XenServer® que utilizan GFS2 para el aprovisionamiento ligero de su almacenamiento en bloque compartido están en clúster. Estos pools se comportan de forma diferente a los pools que utilizan almacenamiento basado en archivos compartido o LVM con almacenamiento en bloque compartido. Como resultado, pueden surgir algunos problemas específicos en los pools en clúster de XenServer y en los entornos GFS2.
Utilice la siguiente información para solucionar problemas menores que pueden surgir al utilizar esta función.
Todos mis hosts pueden hacerse ping entre sí, pero no puedo crear un clúster. ¿Por qué?
El mecanismo de clúster utiliza puertos específicos. Si sus hosts no pueden comunicarse a través de estos puertos (incluso si pueden comunicarse a través de otros puertos), no podrá habilitar el clúster para el pool.
Asegúrese de que los hosts del pool puedan comunicarse a través de los siguientes puertos:
- TCP: 8892, 8896, 21064
- UDP: 5404, 5405 (no multidifusión)
Si hay algún firewall o similar entre los hosts del pool, asegúrese de que estos puertos estén abiertos.
Si ha configurado previamente HA en el pool, deshabilite HA antes de habilitar el clúster.
¿Por qué recibo un error cuando intento unir un nuevo host a un pool en clúster existente?
Cuando el clúster está habilitado en un pool, cada cambio de membresía del pool debe ser acordado por cada miembro del clúster antes de que pueda tener éxito. Si un miembro del clúster no es contactable, las operaciones que cambian la membresía del clúster (como agregar host o eliminar host) fallan.
Para agregar su nuevo host al pool en clúster:
-
Asegúrese de que todos sus hosts estén en línea y puedan ser contactados.
-
Asegúrese de que los hosts del pool puedan comunicarse a través de los siguientes puertos:
- TCP: 8892, 8896, 21064
- UDP: 5404, 5405 (no multidifusión)
-
Asegúrese de que el host que se une tenga una dirección IP asignada en la NIC que se une a la red del clúster del pool.
-
Asegúrese de que la agrupación en clúster no esté utilizando una red VLAN que no sea de administración en el pool.
-
Asegúrese de que ningún host del pool esté sin conexión cuando un nuevo host intente unirse al pool en clúster.
-
Si un host sin conexión no se puede recuperar, márquelo como inactivo para eliminarlo del clúster. Para obtener más información, consulte Un host de mi pool en clúster está sin conexión y no puedo recuperarlo. ¿Cómo elimino el host de mi clúster?
¿Qué hago si algunos miembros del pool en clúster no se unen al clúster automáticamente?
Este problema podría deberse a que los miembros del pool en clúster pierdan la sincronización.
Para volver a sincronizar los miembros del pool en clúster, utilice el siguiente comando:
xe cluster-pool-resync cluster-uuid=<cluster_uuid>
Si el problema persiste, puede intentar volver a adjuntar el SR GFS2. Puede realizar esta tarea utilizando la CLI de xe o a través de XenCenter.
Vuelva a adjuntar el SR GFS2 utilizando la CLI de xe:
-
Desconecte el SR GFS2 del pool. En cada host, ejecute el comando de la CLI de xe
xe pbd-unplug uuid=<uuid_of_pbd>. -
Deshabilite el pool en clúster utilizando el comando
xe cluster-pool-destroy cluster-uuid=<cluster_uuid>Si el comando anterior no tiene éxito, puede deshabilitar forzosamente un pool en clúster ejecutando
xe cluster-host-force-destroy uuid=<cluster_host>en cada host del pool. -
Vuelva a habilitar el pool en clúster utilizando el comando
xe cluster-pool-create network-uuid=<network_uuid> [cluster-stack=cluster_stack] [token-timeout=token_timeout] [token-timeout-coefficient=token_timeout_coefficient] -
Vuelva a adjuntar el SR GFS2 ejecutando el comando
xe pbd-plug uuid=<uuid_of_pbd>en cada host.
Alternativamente, para usar XenCenter para volver a adjuntar el SR GFS2:
- En la pestaña Almacenamiento del pool, haga clic con el botón derecho en el SR GFS2 y seleccione Desasociar….
- En la barra de herramientas, seleccione Grupo > Propiedades.
- En la pestaña Clúster, desactive Habilitar clúster.
- Haga clic en Aceptar para aplicar el cambio.
- En la barra de herramientas, seleccione Grupo > Propiedades.
- En la pestaña Clúster, seleccione Habilitar clúster y elija la red que se utilizará para el clúster.
- Haga clic en Aceptar para aplicar el cambio.
- En la pestaña Almacenamiento del pool, haga clic con el botón derecho en el SR GFS2 y seleccione Reparar.
¿Cómo sé si mi host se ha auto-cercado?
Si su host se auto-cercó, es posible que se haya vuelto a unir al clúster al reiniciarse. Para ver si un host se ha auto-cercado y recuperado, puede comprobar el archivo /var/opt/xapi-clusterd/boot-times para ver las horas en que se inició el host. Si hay horas de inicio en el archivo que no esperaba ver, el host se ha auto-cercado.
¿Por qué mi host está sin conexión? ¿Cómo puedo recuperarlo?
Existen muchas razones posibles para que un host se desconecte. Dependiendo de la razón, el host puede recuperarse o no.
Las siguientes razones por las que un host puede estar sin conexión son más comunes y pueden abordarse recuperando el host:
- Apagado limpio
- Apagado forzado
- Fallo temporal de alimentación
- Reinicio
Las siguientes razones por las que un host puede estar sin conexión son menos comunes:
- 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 reemplazando el hardware o marcando los hosts fallidos como inactivos.
Un host de mi pool en clúster está sin conexión y no puedo recuperarlo. ¿Cómo elimino el host de mi clúster?
Puede indicarle al clúster que olvide el host. Esta acción elimina el host del clúster de forma permanente y disminuye el número 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 disminuye el número de hosts activos necesarios para el quórum.
Nota:
Si el host no está desconectado, este comando puede causar pérdida de datos. Se le pedirá que confirme que está seguro antes de continuar con el comando.
Después de que un host es olvidado, no se puede volver a añadir al clúster. Para volver a añadir este host al clúster, debe realizar una instalación limpia de XenServer en el host.
He reparado un host que estaba marcado como inactivo. ¿Cómo lo vuelvo a añadir a mi clúster?
Un host de XenServer que ha sido marcado como inactivo no se puede volver a añadir al clúster. Para volver a añadir este sistema al clúster, debe realizar una instalación limpia de XenServer. Esta instalación limpia aparece en el clúster como un nuevo host.
¿Qué hago si mi clúster sigue perdiendo el quórum y sus hosts siguen haciendo fencing?
Si uno o más de los hosts de XenServer en el clúster entran en un bucle de fencing debido a la pérdida continua de quórum, puede arrancar el host con el argumento de línea de comandos dom0 nocluster. Conéctese a la consola física o serie del host y, en la línea de comandos de dom0, ejecute el siguiente comando: /opt/xensource/libexec/xen-cmdline --set-dom0 nocluster. La próxima vez que el host se reinicie, no intentará unirse al clúster.
Después de diagnosticar y resolver el problema con el host, puede habilitar la agrupación en clúster eliminando el argumento nocluster. Para ello, ejecute el siguiente comando: /opt/xensource/libexec/xen-cmdline --remove-dom0 nocluster. Reinicie su host para que el cambio surta efecto.
Para obtener más información sobre cómo acceder a los hosts a través de la consola serie y editar la línea de comandos de Xen, consulte Solución de problemas avanzada.
¿Qué sucede cuando el coordinador del pool se reinicia en un pool en clúster?
En la mayoría de los casos, el comportamiento cuando el coordinador del pool se apaga o reinicia en un pool en clúster es el mismo que cuando otro miembro del pool se apaga o reinicia.
La forma en que el host se apaga o reinicia puede afectar al quórum del pool en clúster. Para obtener más información sobre el quórum, consulte Quórum.
La única diferencia en el comportamiento depende de si HA está habilitado en su pool:
- Si HA está habilitado, se selecciona un nuevo coordinador y se mantiene el servicio general.
- Si HA no está habilitado, no hay coordinador para el pool. Las máquinas virtuales en ejecución en los hosts restantes continúan funcionando. La mayoría de las operaciones administrativas no están disponibles hasta que el coordinador se reinicie.
¿Por qué ha desaparecido mi pool después de que un host en el pool en clúster se vea obligado a apagarse?
Si apaga un host normalmente (no forzosamente), se elimina temporalmente de los cálculos de quórum hasta que se vuelve a encender. Sin embargo, si apaga un host forzosamente o si pierde energía, ese host sigue contando para los cálculos de quórum. Por ejemplo, si tuviera un grupo de 3 hosts y apagara forzosamente 2 de ellos, el host restante se aísla porque ya no tiene quórum.
Intente apagar siempre los hosts de un grupo en clúster de forma limpia. Para obtener más información, consulte Administrar su grupo en clúster.
¿Por qué se reiniciaron todos los hosts del grupo en clúster al mismo tiempo?
Se considera que todos los hosts de un clúster activo han perdido el quórum cuando el número de hosts contactables en el grupo es inferior a estos valores:
- Para un grupo con un número par de hosts: n/2
- Para un grupo con un número impar de hosts: (n+1)/2
La letra n indica el número total de hosts en el grupo en clúster. Para obtener más información sobre el quórum, consulte Quórum.
En esta situación, todos los hosts se autoaíslan 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, compruebe la sección de Notificaciones para la hora del problema para ver si se produjo un autoaislamiento.
- En los hosts del clúster, compruebe
/var/opt/xapi-clusterd/boot-timespara ver si se produjo un reinicio en un momento inesperado. - En
Crit.log, compruebe si se emiten mensajes de autoaislamiento. -
Revise la salida del comando
dlm_tool statuspara obtener información sobre el aislamiento.Salida de ejemplo de
dlm_tool status: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 solo host se haya autoaislado, es más probable que los otros hosts del clúster tengan información útil.
Recopile informes completos del estado del servidor para los hosts de su pool en clúster. Para obtener más información, consulte Informes de estado del servidor de XenServer.
¿Por qué no puedo recuperar mi pool en clúster cuando tengo quórum?
Si tiene un pool en clúster con un número par de hosts, el número de hosts necesarios para lograr el quórum es uno más que el número de hosts necesarios para mantener el quórum. Para obtener más información sobre el quórum, consulte Quórum.
Si se encuentra en un pool con un número par de hosts y ha recuperado la mitad de los hosts, debe recuperar un host más antes de poder recuperar el clúster.
Puede comprobar si su clúster tiene quórum ejecutando el siguiente comando:
xe cluster-list params=is-quorate uuid=<cluster_id>
¿Por qué veo un error Invalid token al cambiar la configuración del clúster?
Al actualizar la configuración de su clúster, es posible que reciba el siguiente mensaje de error sobre un token no válido ("[[\"InternalError\",\"Invalid token\"]]").
Puede resolver este problema completando los siguientes pasos:
-
(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.
-
Utilice XenCenter para desasociar el SR GFS2 del pool en clúster.
En la pestaña Storage del pool, haga clic con el botón derecho en el SR GFS2 y seleccione Detach….
-
En cualquier host del clúster, ejecute este comando para destruir el clúster de forma forzada:
xe cluster-pool-force-destroy cluster-uuid=<uuid> -
Utilice XenCenter para volver a habilitar el clúster en su pool.
- En la barra de herramientas, seleccione Pool > Properties.
- En la pestaña Clustering, seleccione Enable clustering y elija la red que se utilizará para el clúster.
- Haga clic en Aceptar para aplicar el cambio.
-
Utilice XenCenter para volver a adjuntar el SR GFS2 al pool.
En la pestaña Almacenamiento del pool, haga clic con el botón derecho en el SR GFS2 y seleccione Reparar.
En este artículo
- Todos mis hosts pueden hacerse ping entre sí, pero no puedo crear un clúster. ¿Por qué?
- ¿Por qué recibo un error cuando intento unir un nuevo host a un pool en clúster existente?
- ¿Qué hago si algunos miembros del pool en clúster no se unen al clúster automáticamente?
- ¿Cómo sé si mi host se ha auto-cercado?
- ¿Por qué mi host está sin conexión? ¿Cómo puedo recuperarlo?
- Un host de mi pool en clúster está sin conexión y no puedo recuperarlo. ¿Cómo elimino el host de mi clúster?
- He reparado un host que estaba marcado como inactivo. ¿Cómo lo vuelvo a añadir a mi clúster?
- ¿Qué hago si mi clúster sigue perdiendo el quórum y sus hosts siguen haciendo fencing?
- ¿Qué sucede cuando el coordinador del pool se reinicia en un pool en clúster?
- ¿Por qué ha desaparecido mi pool después de que un host en el pool en clúster se vea obligado a apagarse?
- ¿Por qué se reiniciaron todos los hosts del grupo en clúster al mismo tiempo?
- ¿Por qué no puedo recuperar mi pool en clúster cuando tengo quórum?
- ¿Por qué veo un error Invalid token al cambiar la configuración del clúster?