XenCenter

Alta disponibilidad

La alta disponibilidad de XenServer® permite que las máquinas virtuales se reinicien automáticamente en caso de un fallo de hardware subyacente o la pérdida de cualquier servidor. La alta disponibilidad consiste en garantizar que las máquinas virtuales importantes estén siempre en ejecución en un grupo de recursos. Con la alta disponibilidad habilitada, si uno de sus servidores falla, sus máquinas virtuales se reinician en otros servidores del mismo grupo. Esta capacidad permite restaurar los servicios esenciales con una interrupción mínima del servicio en caso de fallo del sistema o de un componente.

Si el servidor coordinador del grupo falla, la alta disponibilidad de XenServer selecciona un nuevo servidor para que asuma el rol de coordinador del grupo. Cualquier servidor de un grupo puede ser un servidor coordinador del grupo. XenServer replica la base de datos del grupo constantemente en todos los nodos. También realiza una copia de seguridad de la base de datos en el almacenamiento compartido en el SR de latido para mayor seguridad.

Hay dos aspectos clave en la alta disponibilidad de XenServer:

  • Detección fiable de fallos del servidor
  • Cálculo de un plan de fallos para permitir una recuperación rápida

Latidos para la disponibilidad

Detectar fallos del servidor de forma fiable es difícil, ya que es necesario distinguir de forma remota entre un servidor que desaparece por un tiempo y un fallo catastrófico. Si la alta disponibilidad decide incorrectamente que un servidor coordinador de grupo se ha averiado y elige un nuevo coordinador de grupo, podría haber resultados impredecibles si el servidor original regresa. Del mismo modo, si un problema de red hace que el grupo se divida en dos mitades iguales, debemos asegurarnos de que solo una mitad acceda al almacenamiento compartido y no ambas simultáneamente. XenServer resuelve todos estos problemas mediante dos mecanismos: un latido de almacenamiento y un latido de red.

Cuando habilita la alta disponibilidad en un grupo, designa un repositorio de almacenamiento iSCSI, Fibre Channel o NFS para que sea el SR de latido. XenServer crea automáticamente un par de pequeños discos virtuales en este SR. El primer disco es utilizado por cada servidor del grupo de recursos como un disco de quórum compartido. Cada servidor se asigna un bloque único en el disco compartido y escribe regularmente en el bloque para indicar que está activo. Cuando se inicia la alta disponibilidad, todos los servidores intercambian datos a través de los canales de almacenamiento y de red. El latido de red utiliza un transporte UDP a través del puerto 694. Esta acción indica qué servidores pueden ver a través de ambos canales y demuestra qué rutas de E/S funcionan y cuáles no. Esta información se intercambia hasta que se alcanza un punto fijo y todos los servidores del grupo están de acuerdo sobre lo que pueden ver. Cuando se produce este acuerdo, la alta disponibilidad se habilita y el grupo queda protegido. Este proceso de activación de la alta disponibilidad puede tardar unos minutos en estabilizarse para grupos más grandes, pero solo es necesario cuando se habilita la alta disponibilidad por primera vez.

Una vez que la alta disponibilidad está activa, cada servidor escribe regularmente actualizaciones de almacenamiento en el disco virtual de latido y paquetes de red a través de la interfaz de administración. Asegúrese de que los adaptadores de red estén enlazados para mayor resiliencia y de que las interfaces de almacenamiento utilicen rutas múltiples dinámicas donde sea compatible. Esta configuración garantiza que cualquier fallo de un solo adaptador o cableado no resulte en problemas de disponibilidad.

Para obtener más información, consulte:

Aislamiento de servidores

El peor escenario para la alta disponibilidad es aquel en el que se cree que un servidor está fuera de línea, pero sigue escribiendo en el almacenamiento compartido. Este escenario puede provocar la corrupción de datos persistentes. XenServer utiliza el aislamiento de servidores para evitar esta situación. El servidor se apaga automáticamente y se aísla del acceso a cualquier recurso compartido en el grupo. El aislamiento evita que el servidor que falla escriba en los discos compartidos. Este comportamiento evita daños en los datos almacenados durante una conmutación por error automatizada, cuando las máquinas virtuales protegidas se mueven a otros servidores del grupo.

Los servidores se auto-cercan (es decir, se apagan y reinician) en caso de cualquier fallo del latido, a menos que se cumpla alguna de las siguientes condiciones:

  • El latido de almacenamiento está presente para todos los servidores, pero la red se ha particionado (de modo que ahora hay dos grupos de servidores). En este caso, todos los servidores que son miembros de la partición de red más grande permanecen en ejecución, y los servidores de la partición de red más pequeña se auto-cercan. La suposición aquí es que la interrupción de la red ha aislado las máquinas virtuales, y deben reiniciarse en un servidor con una red que funcione. Si las particiones de red son del mismo tamaño, solo una de ellas se auto-cerca según una función de selección estable.
  • Si el latido de almacenamiento desaparece pero el latido de red permanece, los servidores comprueban si pueden ver a todos los demás servidores a través de la red. Si esta condición se cumple, los servidores permanecen en ejecución bajo la suposición de que el dispositivo de almacenamiento ha fallado. Esta acción no compromete la seguridad de las máquinas virtuales, pero cualquier pérdida del latido de red resulta en cercado, ya que eso significaría que ambos latidos han desaparecido.

Planificación de capacidad para fallos

El sistema de latido nos proporciona una notificación fiable de fallos del servidor, y así pasamos al segundo paso de la alta disponibilidad: la planificación de capacidad para fallos.

Un grupo de recursos consta de varios servidores (por ejemplo, 32), cada uno con cantidades de memoria potencialmente diferentes y un número diferente de máquinas virtuales en ejecución. La alta disponibilidad de XenServer calcula dinámicamente un plan de fallos que determina las acciones a tomar ante cualquier fallo del servidor. Este plan de fallos garantiza que ningún fallo de un solo servidor imposibilite el reinicio de sus máquinas virtuales en otro servidor (por ejemplo, debido a memoria insuficiente en otros servidores). Además de gestionar el fallo de un solo servidor, la alta disponibilidad de XenServer puede gestionar la pérdida de varios servidores en un grupo. Por ejemplo, la alta disponibilidad puede gestionar cuando el fallo de una partición de red inhabilita un grupo completo de servidores.

Además de calcular las acciones que se toman, el plan de fallos considera el número de fallos de servidor que se pueden tolerar en el grupo. Hay dos consideraciones importantes implicadas en el cálculo del plan de alta disponibilidad para un grupo:

  • Capacidad máxima de fallos. Este valor es el número máximo de servidores que pueden fallar antes de que haya recursos insuficientes para ejecutar todas las máquinas virtuales protegidas en el grupo. Para calcular la capacidad máxima de fallos, XenServer considera:

    • Las prioridades de reinicio de las máquinas virtuales en el grupo
    • El número de servidores en el grupo
    • La capacidad de CPU y memoria del servidor
  • Límite de fallos del servidor. Puede definir este valor como parte de la configuración de alta disponibilidad que especifica el número de fallos de servidor permitidos en el grupo, dentro del plan. Por ejemplo, cuando el límite de fallos del servidor para un grupo es 3, XenServer calcula un plan de conmutación por error que permite que fallen 3 servidores cualesquiera y que todas las máquinas virtuales protegidas sigan ejecutándose en el grupo. Puede configurar el límite de fallos del servidor a un valor inferior a la capacidad máxima de fallos, lo que hace menos probable que el grupo se sobrecargue. Esta configuración puede ser útil en un entorno con RBAC habilitado. Por ejemplo, esta configuración permite a los usuarios de RBAC con permisos inferiores a los de Operador de grupo poner más máquinas virtuales en línea sin romper el plan de alta disponibilidad. Para obtener más información, consulte la sección Alta disponibilidad y control de acceso basado en roles (RBAC).

Se genera una alerta del sistema cuando el valor de la capacidad máxima de fallos cae por debajo del valor especificado para el límite de fallos del servidor.

Protección contra sobrecarga

Cuando la alta disponibilidad se habilita por primera vez en un grupo, se calcula un plan de fallos basado en los recursos disponibles en ese momento. La alta disponibilidad de XenServer calcula dinámicamente un nuevo plan de fallos en respuesta a eventos que afectarían al grupo, por ejemplo, el inicio de una nueva máquina virtual. Si no se puede calcular un nuevo plan debido a recursos insuficientes en todo el grupo, el grupo se sobrecarga. Ejemplos de recursos insuficientes podrían ser la falta de memoria libre o cambios en los discos virtuales y las redes que afectan a qué máquinas virtuales podrían reiniciarse en qué servidores.

La prioridad de reinicio de alta disponibilidad se utiliza para determinar qué máquinas virtuales iniciar cuando un grupo está sobrecargado. Al configurar la prioridad de reinicio para las máquinas virtuales que desea proteger en el cuadro de diálogo Configuración de HA o en el asistente Configurar HA, la capacidad máxima de fallo del grupo se recalcula dinámicamente. Esta información le permite probar varias combinaciones de prioridades de reinicio de máquinas virtuales en función de sus necesidades empresariales. Puede ver si la capacidad máxima de fallo es adecuada para el nivel de protección que necesita para las máquinas virtuales críticas del grupo.

Si intenta iniciar o reanudar una máquina virtual y esa acción provocaría que el grupo se sobrecargara, se mostrará una advertencia en XenCenter. El mensaje también se puede enviar a una dirección de correo electrónico, si está configurado. Se le dará la opción de cancelar la operación o de continuar de todos modos, lo que provocará que el grupo se sobrecargue.

Trabajar con un grupo con HA habilitada

La mejor práctica para la alta disponibilidad es no realizar cambios de configuración en el grupo mientras la alta disponibilidad está habilitada. En su lugar, está diseñada para ser la “salvaguarda de las 2 de la madrugada” que reinicia los servidores en caso de un problema cuando no hay un administrador humano cerca. Si está realizando activamente cambios de configuración en el grupo, como la aplicación de actualizaciones de software, deshabilite la alta disponibilidad durante estos cambios.

  • Si intenta apagar una máquina virtual protegida desde XenCenter, XenCenter ofrece la opción de eliminar la máquina virtual del plan de fallos y luego apagarla. Esta opción garantiza que los apagados accidentales de máquinas virtuales no provoquen tiempo de inactividad, pero que aún pueda detener una máquina virtual protegida si realmente lo desea.
  • Si debe reiniciar un servidor cuando la alta disponibilidad está habilitada, XenCenter utiliza automáticamente las prioridades de reinicio de las máquinas virtuales para determinar si este reinicio invalida el plan de fallos del grupo. Si no afecta al plan, el servidor se apaga normalmente. Si se infringe el plan, pero la capacidad máxima de fallos es superior a 1, XenCenter ofrece la opción de reducir el límite de fallos del servidor del grupo en 1. Esta acción reduce la resiliencia general del grupo, pero siempre garantiza que se tolera al menos un fallo del servidor. Cuando el servidor vuelve a estar en línea, el plan se recalcula automáticamente y el límite original de fallos del servidor se restaura si es apropiado.
  • Cuando instale actualizaciones de software utilizando el asistente Instalar actualizaciones, debe deshabilitar la alta disponibilidad en el grupo seleccionando Desactivar HA. Puede volver a habilitar la alta disponibilidad una vez instalada la actualización. Si no deshabilita la alta disponibilidad, la actualización no continuará. Supervise el grupo manualmente mientras se instalan las actualizaciones para asegurarse de que los fallos del servidor no interrumpan el funcionamiento del grupo.
  • Cuando la alta disponibilidad está habilitada, algunas operaciones que pueden comprometer el plan de reinicio de máquinas virtuales podrían estar deshabilitadas, como la eliminación de un servidor de un grupo. Para realizar estas operaciones, deshabilite temporalmente la alta disponibilidad o puede apagar las máquinas virtuales protegidas antes de continuar.

Alta disponibilidad y control de acceso basado en roles (RBAC)

En entornos XenServer donde se implementa el control de acceso basado en roles (RBAC), no todos los usuarios tienen permiso para cambiar la configuración de alta disponibilidad de un grupo. Por ejemplo, los operadores de máquinas virtuales no tienen permisos suficientes para ajustar la capacidad de conmutación por error de un grupo con HA habilitada. Si el inicio de una máquina virtual reduce el número máximo de fallos de servidor permitidos a un valor inferior al valor actual, un operador de máquinas virtuales no puede iniciar la máquina virtual. Solo los usuarios con nivel de administrador de grupo u operador de grupo pueden configurar el número de fallos de servidor permitidos.

En este caso, el administrador del grupo o el operador del grupo pueden establecer el límite de fallos del servidor en un número inferior al número máximo de fallos permitidos. Esta configuración crea capacidad de holgura y, por lo tanto, garantiza que los usuarios con menos privilegios puedan iniciar nuevas máquinas virtuales. Reduce la capacidad de conmutación por error del grupo sin amenazar el plan de fallos.

Documentación relacionada

XenServer versión actual

Alta disponibilidad