XenCenter

Alta disponibilidad

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

Si se produce un error en el servidor coordinador del grupo, la alta disponibilidad de XenServer selecciona un nuevo servidor para que asuma el cargo de coordinador del grupo. Cualquier servidor de un grupo puede ser un servidor coordinador de 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 de la alta disponibilidad de XenServer:

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

Latidos para disponibilidad

Detectar errores del servidor de forma fiable es difícil, ya que es necesario distinguir de forma remota entre un servidor que desaparece durante un tiempo y un error catastrófico. Si la alta disponibilidad decide incorrectamente que un servidor coordinador de grupo se ha averiado y elige un nuevo coordinador de grupo, puede haber resultados impredecibles si se devuelve el servidor original. 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 al tener dos mecanismos: un latido de almacenamiento y un latido de red.

Cuando se habilita la alta disponibilidad en un grupo, se designa un repositorio de almacenamiento iSCSI, Fibre Channel o NFS para que sea el SR de latido. XenServer crea automáticamente un par de discos virtuales pequeños en este SR. Todos los servidores del grupo de recursos utilizan el primer disco como un disco de quórum compartido. Cada servidor se asigna a sí mismo 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 canales de red y almacenamiento. Esta acción indica qué servidores pueden ver en ambos canales y muestra 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 se ponen de acuerdo sobre lo que pueden ver. Cuando se produce este acuerdo, se habilita la alta disponibilidad y se protege el grupo. Este proceso de armado de alta disponibilidad puede tardar unos minutos en conformarse con 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 latido, el disco virtual y los paquetes de red a través de la interfaz de administración. Asegúrese de que los adaptadores de red estén enlazados para garantizar la resistencia y de que las interfaces de almacenamiento utilicen múltiples rutas dinámicas cuando sean compatibles. Esta configuración garantiza que cualquier fallo de adaptador o cableado no provoque ningún problema de disponibilidad.

Para obtener más información, consulte:

Cercado de servidores

El peor de los casos para la alta disponibilidad es aquel en el que se cree que un servidor está fuera de línea, pero todavía está escribiendo en el almacenamiento compartido. Este escenario puede dar lugar a daños en los datos persistentes. XenServer utiliza la barrera de servidores para evitar esta situación. El servidor se apaga automáticamente y se aísla para que no acceda a ningún recurso compartido del grupo. El bloqueo impide que el servidor con errores escriba en 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 autobloquean (es decir, se apagan y se reinician) en caso de que se produzca un error de 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 (por lo 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 autovallan. 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 redes en funcionamiento. Si las particiones de red son del mismo tamaño, entonces solo una de ellas se auto-cercada de acuerdo con una función de selección estable.
  • Si el latido del almacenamiento desaparece pero el latido de la red permanece, los servidores comprueban si pueden ver todos los demás servidores a través de la red. Si esta condición se cumple, los servidores permanecen en ejecución en la suposición de que el servidor de latido de almacenamiento ha desaparecido. Esta acción no pone en peligro la seguridad de la máquina virtual, pero cualquier problema técnico de la red da lugar a una delimitación, ya que eso significaría que ambos latidos han desaparecido.

Planeación de la capacidad para errores

El sistema de latidos nos proporciona una notificación fiable de los fallos del servidor, por lo que pasamos al segundo paso de la alta disponibilidad: la planificación de la capacidad para los fallos de seguridad.

Un grupo de recursos consta de varios servidores (por ejemplo, 32), cada uno con cantidades potencialmente diferentes de memoria y un número diferente de máquinas virtuales en ejecución. La alta disponibilidad de XenServer calcula dinámicamente un plan de error que calcula las acciones que se deben realizar en caso de error del servidor. Este plan de error garantiza que ningún error de servidor único imposibilite reiniciar sus máquinas virtuales en otro servidor (por ejemplo, debido a una memoria insuficiente en otros servidores). Además de hacer frente a los errores de un solo servidor, la alta disponibilidad de XenServer puede hacer frente a la pérdida de varios servidores en un grupo. Por ejemplo, la alta disponibilidad puede manejar cuando el fallo de una partición de red deja fuera de servicio a todo un grupo de servidores.

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

  • Capacidad máxima de fallo. Este valor es el número máximo de servidores que pueden producir un error antes de que no haya recursos suficientes para ejecutar todas las máquinas virtuales protegidas del grupo. Para calcular la capacidad máxima de error, XenServer tiene en cuenta lo siguiente:

    • Las prioridades de reinicio de las máquinas virtuales del grupo
    • El número de servidores en el grupo
    • La CPU del servidor y la capacidad de memoria
  • Límite de errores del servidor. Puede definir este valor como parte de la configuración de alta disponibilidad, que especifica el número de errores de servidor que se permitirán en el grupo, dentro del plan. Por ejemplo, cuando el límite de errores del servidor para un grupo es 3, XenServer calcula un plan de conmutación por error que permite que se produzca un error en 3 servidores y que todas las máquinas virtuales protegidas puedan seguir ejecutándose en el grupo. Puede configurar el límite de errores del servidor en un valor inferior a la capacidad máxima de errores, lo que hace que sea menos probable que el grupo se comprometa en exceso. 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 del operador de grupo poner en línea más máquinas virtuales sin interrumpir el plan de alta disponibilidad. Para obtener más información, consulte la Alta disponibilidad y control de acceso basado en roles (RBAC) sección.

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

Protección contra sobreasignación

Cuando se habilita por primera vez la alta disponibilidad en un grupo, se calcula un plan de error en función de los recursos disponibles en ese momento. La alta disponibilidad de XenServer calcula dinámicamente un nuevo plan de errores 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 que no hay suficientes recursos en el grupo, el grupo se compromete en exceso. Es posible que los ejemplos de recursos insuficientes sean la falta de memoria libre o los cambios en los discos virtuales y las redes que afectan a las máquinas virtuales que se pueden reiniciar en qué servidores.

La prioridad de reinicio de alta disponibilidad se usa para determinar qué máquinas virtuales se iniciarán cuando un grupo está sobrecomprometido. Al configurar la prioridad de reinicio para las máquinas virtuales que desea proteger en el archivo Configuración de alta disponibilidad o en el cuadro de diálogo Configurar alta disponibilidad asistente, la capacidad máxima de error para el grupo se vuelve a calcular dinámicamente. Esta información le permite probar varias combinaciones de prioridades de reinicio de máquinas virtuales en función de las necesidades de su negocio. Puede ver si la capacidad máxima de error 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 hace que el grupo se comprometa en exceso, se muestra una advertencia en XenCenter. El mensaje también se puede enviar a una dirección de correo electrónico, si está configurada. Se le da la opción de cancelar la operación o continuar de todos modos, lo que hace que el grupo se comprometa en exceso.

Trabajar con un grupo habilitado para alta disponibilidad

El procedimiento recomendado para la alta disponibilidad es no realizar cambios de configuración en el grupo mientras la alta disponibilidad está habilitada. En cambio, está destinado a ser la “salvaguarda de las 2 a.m.” que reinicia los servidores en caso de un problema cuando no hay un administrador humano cerca. Si está realizando cambios de configuración activamente 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 errores y, a continuación, apagarla. Esta opción garantiza que los apagados accidentales de la máquina virtual no provoquen tiempo de inactividad, pero que aún puede 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 la máquina virtual para determinar si este reinicio invalida el plan de errores del grupo. Si no afecta al plan, entonces el servidor se apaga normalmente. Si se infringe el plan, pero la capacidad máxima de errores es mayor que 1, XenCenter ofrece la opción de reducir el límite de errores del servidor del grupo en 1. Esta acción reduce la resistencia general del grupo, pero siempre garantiza que se tolere al menos un error del servidor. Cuando el servidor vuelve a funcionar, el plan se vuelve a calcular automáticamente y se restaura el límite de errores del servidor original, si corresponde.
  • Al instalar actualizaciones de software mediante el comando Instalar actualizaciones asistente, debe deshabilitar la alta disponibilidad en el grupo seleccionando Desactivar HA. Puede volver a habilitar la alta disponibilidad después de que se haya instalado 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 errores del servidor no interrumpan el funcionamiento del grupo.
  • Cuando se habilita la alta disponibilidad, es posible que se deshabiliten algunas operaciones que pueden poner en peligro el plan de reinicio de las máquinas virtuales, 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 los entornos de XenServer en los que se implementa el control de acceso basado en funciones (RBAC), no todos los usuarios pueden cambiar los parámetros de configuración de alta disponibilidad de un grupo. Por ejemplo, los operadores de máquina virtual no tienen permisos suficientes para ajustar la capacidad de conmutación por error de un grupo habilitado para alta disponibilidad. Si el inicio de una máquina virtual reduce el número máximo de errores de servidor permitidos a un valor inferior al valor actual, un operador de máquina virtual no puede iniciar la máquina virtual. Solo los usuarios de nivel Administrador de grupo u Operador de grupo pueden configurar el número de errores de servidor permitidos.

En este caso, el administrador del grupo o el operador del grupo pueden establecer el límite de errores del servidor en un número inferior al número máximo de errores 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 error.

Documentación relacionada

XenServer 8

Actualización acumulativa 1 de Citrix Hypervisor 8.2

Alta disponibilidad