Citrix Hypervisor

Alta disponibilidad

La alta disponibilidad es un conjunto de funciones automáticas diseñadas para planificar y recuperarse de manera segura de problemas que afectan a los servidores de Citrix Hypervisor o los hacen inaccesibles. Por ejemplo, durante fallos de hardware de host o redes interrumpidas físicamente.

Información general

La alta disponibilidad garantiza que, cuando un host se vuelve inaccesible o inestable, las VM que se ejecutan en ese host se apaguen y se reinicien en otro host. Apagar y reiniciar las VM en otro host evita que las VM se inicien (manual o automáticamente) en un host nuevo. En algún momento posterior, se recupera el huésped original. Este caso puede provocar que dos instancias de la misma máquina virtual se ejecuten en diferentes hosts, y una alta probabilidad correspondiente de daños en el disco de la máquina virtual y pérdida de datos.

Cuando el maestro del grupo se vuelve inaccesible o inestable, la alta disponibilidad también puede recuperar el control administrativo de un grupo. La alta disponibilidad garantiza que el control administrativo se restaure automáticamente sin ninguna intervención manual.

De manera opcional, la alta disponibilidad también puede automatizar el proceso de reinicio de las máquinas virtuales en hosts que se sabe que están en buen estado sin intervención manual. Estas máquinas virtuales se pueden programar para que se reinicien en grupos para dar tiempo a iniciar los servicios. Permite que las VM de infraestructura se inicien antes que sus VM dependientes (por ejemplo, un servidor DHCP antes que su servidor SQL dependiente).

Advertencias:

Utilice la alta disponibilidad junto con el almacenamiento de rutas múltiples y las redes conectadas. Configure el almacenamiento de rutas múltiples y las redes conectadas antes de intentar configurar la alta disponibilidad. Los clientes que no configuran el almacenamiento de rutas múltiples y las redes conectadas pueden ver un comportamiento inesperado de reinicio del host (autodelimitación) cuando hay una inestabilidad en la infraestructura.

Todas las soluciones gráficas (NVIDIA vGPU, Intel GVT-d, Intel GVT-G, AMD MxGPU y transferencia de vGPU) se pueden utilizar en un entorno que utiliza alta disponibilidad. Sin embargo, las máquinas virtuales que usan estas soluciones de gráficos no se pueden proteger con alta disponibilidad. Estas máquinas virtuales se pueden reiniciar según el mejor esfuerzo mientras haya hosts con los recursos gratuitos adecuados.

Comprometerse en exceso

Un grupo se compromete en exceso cuando las máquinas virtuales que se están ejecutando actualmente no se pueden reiniciar en otro lugar después de una cantidad de errores de host definida por el usuario.

La sobreasignación puede ocurrir si no hay suficiente memoria libre en el grupo para ejecutar esas máquinas virtuales después de un error. Sin embargo, también hay cambios más sutiles que pueden hacer que las garantías de alta disponibilidad sean insostenibles: Los cambios en dispositivos virtuales de bloque (VBD) y redes pueden afectar a qué máquinas virtuales se pueden reiniciar en qué hosts. Citrix Hypervisor no puede comprobar todas las acciones posibles y determinar si provocan una infracción de las demandas de alta disponibilidad. Sin embargo, se envía una notificación asíncrona si la alta disponibilidad se vuelve insostenible.

Citrix Hypervisor mantiene dinámicamente un plan de conmutación por error que detalla qué hacer cuando un conjunto de hosts de un grupo falla en un momento dado. Un concepto importante que se debe entender son las fallas del host para tolerar el valor, que se define como parte de la configuración de alta disponibilidad. El valor de las fallas de host que se deben tolerar determina la cantidad de fallas que se permiten sin ninguna pérdida de servicio. Por ejemplo, considere una agrupación de recursos que consta de 64 hosts y los errores tolerados se establecen en 3. En este caso, el grupo calcula un plan de conmutación por error que permite que tres hosts cualesquiera fallen y reinicien las máquinas virtuales en otros hosts. Si no se puede encontrar un plan, se considera que el grupo está comprometido en exceso. El plan se recalcula dinámicamente en función de las operaciones y el movimiento del ciclo de vida de la VM Si los cambios, por ejemplo, la adición de nuevas VM al grupo, hacen que el grupo se comprometa en exceso, se envían alertas (ya sea a través de XenCenter o por correo electrónico).

Aviso de sobrecompromiso

Si algún intento de iniciar o reanudar una VM provoca que el grupo se comprometa en exceso, se muestra una alerta de advertencia. Esta advertencia aparece en XenCenter y también está disponible como instancia de mensaje a través de la API de administración. Si ha configurado una dirección de correo electrónico, también se puede enviar un mensaje a la dirección de correo electrónico. A continuación, puede cancelar la operación o continuar de todos modos. Proceder hace que el grupo se comprometa en exceso. La cantidad de memoria que utilizan las máquinas virtuales de diferentes prioridades se muestra en los niveles de host y grupo.

Esgrima host

A veces, un servidor puede fallar debido a la pérdida de conectividad de red o cuando se encuentra un problema con la pila de control. En tales casos, el servidor de Citrix Hypervisor se autocerca para asegurarse de que las máquinas virtuales no se ejecutan en dos servidores simultáneamente. Cuando se realiza una acción de delimitación, el servidor se reinicia de forma inmediata y abrupta, lo que provoca que se detengan todas las máquinas virtuales que se ejecutan en él. Los demás servidores detectan que las VM ya no se están ejecutando y las VM se reinician de acuerdo con las prioridades de reinicio que se les han asignado. El servidor delimitado entra en una secuencia de reinicio y, cuando se ha reiniciado, intenta volver a unirse al fondo de recursos.

Nota:

Los hosts de los grupos agrupados también pueden autocercarse cuando no pueden comunicarse con más de la mitad de los demás hosts del grupo de recursos. Para obtener más información, consulte Grupos agrupados.

Requisitos de configuración

Para utilizar la función de alta disponibilidad, necesita:

  • Grupo de Citrix Hypervisor (esta función proporciona alta disponibilidad a nivel de servidor dentro de un único grupo de recursos).

    Nota:

    Se recomienda habilitar la alta disponibilidad solo en grupos que contengan al menos tres servidores de Citrix Hypervisor. Para obtener más información, consulte CTX129721: Comportamiento de alta disponibilidad cuando se pierde el latido en un grupo.

  • Almacenamiento compartido, que incluye al menos un LUN iSCSI, NFS o Fibre Channel de 356 MB o superior: El SR latido. El mecanismo de alta disponibilidad crea dos volúmenes en la SR de latido:

    Volumen de latido cardíaco de 4 MB: se usa para proporcionar latidos cardíacos.

    Volumen de metadatos de 256 MB: Para almacenar metadatos maestros de grupo que se utilizarán si hay una conmutación por error maestra.

    Notas:

    Para obtener la máxima fiabilidad, le recomendamos que utilice un repositorio de almacenamiento NFS o iSCSI dedicado como disco de latido de alta disponibilidad. No utilice este repositorio de almacenamiento para ningún otro propósito.

    Si su grupo es un grupo agrupado, su SR de latido debe ser un SR GFS2.

    El almacenamiento conectado mediante SMB o iSCSI cuando se autentica mediante CHAP no se puede usar como SR de latido.

    Al usar una SR de NetApp o EqualLogic, aprovisione manualmente un LUN NFS o iSCSI en el arreglo para usarlo como SR de latido.

  • Direcciones IP estáticas para todos los hosts.

    Advertencia:

    Si la dirección IP de un servidor cambia mientras la alta disponibilidad está habilitada, la alta disponibilidad supone que la red del host ha fallado. El cambio en la dirección IP puede cercar el host y dejarlo en un estado de no arranque. Para remediar esta situación, inhabilite la alta disponibilidad mediante el comando host-emergency-ha-disable, restablezca el maestro de grupo mediante pool-emergency-reset-master y, a continuación, vuelva a habilitar la alta disponibilidad.

  • Para obtener la máxima fiabilidad, le recomendamos que utilice una interfaz de enlace dedicada como red de administración de alta disponibilidad.

Para que una VM esté protegida por una alta disponibilidad, debe ser ágil. Significa que la VM:

  • Debe tener sus discos vDisk en el almacenamiento compartido. Puede utilizar cualquier tipo de almacenamiento compartido. iSCSI, NFS o LUN Fibre Channel solo se requiere para el latido del almacenamiento y se puede utilizar para el almacenamiento en disco vDisk.

  • Puede usar la migración en vivo

  • No tiene una conexión a una unidad de DVD local configurada

  • Tiene sus interfaces de red virtual en redes de todo el grupo

Nota:

Cuando la alta disponibilidad está habilitada, recomendamos encarecidamente utilizar una interfaz de administración unida en los servidores del grupo y almacenamiento de rutas múltiples para la SR de latido.

Si crea VLAN e interfaces enlazadas desde la CLI, es posible que no estén conectadas y activas a pesar de haber sido creadas. En esta situación, una VM puede parecer que no es ágil y no está protegida por una alta disponibilidad. Puede usar el comando pif-plug de la CLI para hacer aparecer la VLAN y los PIF de enlace, de modo que la VM pueda volverse ágil. También puede determinar con precisión por qué una VM no es ágil mediante el comando xe diagnostic-vm-status de la CLI. Este comando analiza sus restricciones de posición y puede tomar medidas correctivas si es necesario.

Reiniciar la configuración

Las máquinas virtuales se pueden considerar protegidas, con el mejor esfuerzo o desprotegidas por la alta disponibilidad. El valor de ha-restart-priority define si una VM se trata como protegida, con el mejor esfuerzo o sin protección. El comportamiento de reinicio de las VM en cada una de estas categorías es diferente.

Protegido

La alta disponibilidad garantiza reiniciar una VM protegida que se desconecta o cuyo host se desconecta, siempre que el grupo no se comprometa en exceso y la VM sea ágil.

Si una VM protegida no se puede reiniciar cuando falla un servidor, la alta disponibilidad intenta iniciar la VM cuando hay capacidad adicional en un grupo. Los intentos de iniciar la VM cuando hay capacidad adicional ahora pueden tener éxito.

ha-restart-priority Valor: restart

Mejor esfuerzo

Si el host de una máquina virtual con el mejor esfuerzo se desconecta, la alta disponibilidad intenta reiniciar la máquina virtual con el mejor esfuerzo en otro host. Hace este intento solo después de que todas las VM protegidas se hayan reiniciado correctamente. La alta disponibilidad solo hace un intento de reiniciar una VM con el mejor esfuerzo. Si este intento falla, la alta disponibilidad no hace más intentos de reiniciar la VM.

ha-restart-priority Valor: best-effort

Sin protección

Si se detiene una máquina virtual desprotegida o el host en el que se ejecuta, la alta disponibilidad no intenta reiniciar la máquina virtual.

ha-restart-priority Valor: el valor es una cadena vacía

Nota:

La alta disponibilidad nunca detiene ni migra una VM en ejecución para liberar recursos para que se reinicie una VM protegida o de mejor esfuerzo.

Si el grupo experimenta errores en el servidor y la cantidad de errores tolerables disminuye a cero, no se garantiza que las VM protegidas se reinicien. En tales casos, se genera una alerta del sistema. Si se produce otro error, todas las VM que tienen una prioridad de reinicio establecida se comportan de acuerdo con el comportamiento de mejor esfuerzo.

Comenzar pedido

El orden de inicio es el orden en el que la alta disponibilidad de Citrix Hypervisor intenta reiniciar las máquinas virtuales protegidas cuando se produce un error. Los valores de la propiedad order para cada una de las máquinas virtuales protegidas determinan el orden de inicio.

Laorder propiedad de una máquina virtual se utiliza por la alta disponibilidad y también por otras funciones que inician y cierran máquinas virtuales. Cualquier máquina virtual puede tener la propiedad order establecida, no solo las máquinas virtuales marcadas como protegidas para alta disponibilidad. Sin embargo, la alta disponibilidad utiliza la propiedad order solo para máquinas virtuales protegidas.

El valor de la propiedad order es un entero. El valor predeterminado es 0, que es la prioridad más alta. Las máquinas virtuales protegidas con un valor order de 0 se reinician primero por la alta disponibilidad. Cuanto mayor sea el valor de la propiedad order, más tarde en la secuencia se reiniciará la VM.

Puede establecer el valor de la propiedad order de una máquina virtual mediante la interfaz de línea de comandos:

xe vm-param-set uuid=VM_UUID order=int
<!--NeedCopy-->

O bien, en XenCenter, en el panel Opciones de inicio para una máquina virtual, establezca Orden de inicio en el valor requerido.

Habilite la alta disponibilidad en su grupo de Citrix Hypervisor

Puede habilitar la alta disponibilidad en un grupo mediante XenCenter o la interfaz de línea de comandos. En cualquier caso, se especifica un conjunto de prioridades que determinan qué máquinas virtuales reciben la prioridad de reinicio más alta cuando un grupo está sobrecomprometido.

Advertencias:

  • Cuando habilita la alta disponibilidad, algunas operaciones que ponen en peligro el plan para reiniciar las máquinas virtuales, como quitar un servidor de un grupo, podrían estar inhabilitadas. Puede inhabilitar temporalmente la alta disponibilidad para realizar tales operaciones o, alternativamente, hacer que las máquinas virtuales estén protegidas por alta disponibilidad desprotegidas.

  • Si la alta disponibilidad está habilitada, no puede habilitar la agrupación en clústeres en su grupo. Inhabilite temporalmente la alta disponibilidad para habilitar la agrupación en clústeres. Puede habilitar la alta disponibilidad en su grupo agrupado en clúster. Algunos comportamientos de alta disponibilidad, como la autodelimitación, son diferentes para los grupos agrupados en clúster. Para obtener más información, consulte Grupos agrupados

Habilite la alta disponibilidad mediante la CLI

  1. Compruebe que tiene un repositorio de almacenamiento (SR) compatible conectado a su grupo. Los SR iSCSI, NFS o Fibre Channel son compatibles. Para obtener información sobre cómo configurar dicho repositorio de almacenamiento mediante la CLI, consulte Administrar repositorios de almacenamiento.

  2. Para cada máquina virtual que quiera proteger, establezca una prioridad de reinicio y orden de inicio. Puede establecer la prioridad de reinicio de la siguiente manera:

    xe vm-param-set uuid=vm_uuid ha-restart-priority=restart order=1
    <!--NeedCopy-->
    
  3. Habilite la alta disponibilidad en el grupo y, opcionalmente, especifique un tiempo de espera:

    xe pool-ha-enable heartbeat-sr-uuids=sr_uuid ha-config:timeout=timeout in seconds
    <!--NeedCopy-->
    

    El tiempo de espera es el período durante el cual los hosts de su grupo no pueden acceder a la red o al almacenamiento. Si no especifica un tiempo de espera cuando habilita la alta disponibilidad, Citrix Hypervisor usa el tiempo de espera predeterminado de 60 segundos. Si algún servidor de Citrix Hypervisor no puede acceder a la red o al almacenamiento dentro del período de tiempo de espera, puede autocercarse y reiniciarse.

  4. Ejecute el comando pool-ha-compute-max-host-failures-to-tolerate. Este comando devuelve la cantidad máxima de hosts que pueden fallar antes de que no haya recursos suficientes para ejecutar todas las VM protegidas del grupo.

    xe pool-ha-compute-max-host-failures-to-tolerate
    <!--NeedCopy-->
    

    El número de errores a tolerar determina cuándo se envía una alerta. El sistema vuelve a calcular un plan de conmutación por error a medida que cambia el estado del grupo. Utiliza este cálculo para identificar la capacidad del grupo y cuántos errores más son posibles sin perder la garantía de vida para las VM protegidas. Se genera una alerta del sistema cuando este valor calculado cae por debajo del valor especificado para ha-host-failures-to-tolerate.

  5. Especifique el parámetro ha-host-failures-to-tolerate. El valor debe ser menor o igual que el valor calculado:

    xe pool-param-set ha-host-failures-to-tolerate=2 uuid=pool-uuid
    <!--NeedCopy-->
    

Eliminar la protección de alta disponibilidad de una VM mediante la CLI

Para inhabilitar las funciones de alta disponibilidad para una máquina virtual, ejecute el comando xe vm-param-set para establecer el parámetro ha-restart-priority como una cadena vacía. Al establecer el parámetro ha-restart-priority no se borra la configuración del orden de inicio. Puede volver a habilitar la alta disponibilidad para una máquina virtual configurando el parámetro ha-restart-priority en restart o best-effort según corresponda.

Recuperar un host inalcanzable

Si, por alguna razón, un host no puede acceder al archivo de estado de alta disponibilidad, es posible que un host se vuelva inaccesible. Para recuperar la instalación de Citrix Hypervisor, es posible que tenga que inhabilitar la alta disponibilidad mediante el comando host-emergency-ha-disable:

xe host-emergency-ha-disable --force
<!--NeedCopy-->

Si el host era el maestro del grupo, se inicia como normal con alta disponibilidad inhabilitada. Los miembros del grupo se vuelven a conectar e inhabilitan automáticamente la alta disponibilidad. Si el anfitrión era miembro del grupo y no puede ponerse en contacto con el maestro, es posible que deba realizar una de las siguientes acciones:

  • Obligar al host a reiniciarse como maestro de grupo (xe pool-emergency-transition-to-master)

     xe pool-emergency-transition-to-master uuid=host_uuid
     <!--NeedCopy-->
    
  • Indique al anfitrión dónde está el nuevo maestro (xe pool-emergency-reset-master):

     xe pool-emergency-reset-master master-address=new_master_hostname
     <!--NeedCopy-->
    

Cuando todos los hosts se hayan reiniciado correctamente, vuelva a habilitar la alta disponibilidad:

xe pool-ha-enable heartbeat-sr-uuid=sr_uuid
<!--NeedCopy-->

Apagar un host cuando la alta disponibilidad está habilitada

Tenga especial cuidado al apagar o reiniciar un host para evitar que el mecanismo de alta disponibilidad asuma que el host ha fallado. Para cerrar un host de forma limpia cuando la alta disponibilidad está habilitada, inhabilite el host, evacúe el host y, por último, apague el host mediante XenCenter o la CLI. Para apagar un host en un entorno en el que la alta disponibilidad esté habilitada, ejecute estos comandos:

    xe host-disable host=host_name
    xe host-evacuate uuid=host_uuid
    xe host-shutdown host=host_name
<!--NeedCopy-->

Apagar una VM protegida por alta disponibilidad

Cuando una máquina virtual está protegida por un plan de alta disponibilidad y se configura para que se reinicie automáticamente, no se puede cerrar mientras esta protección está activa. Para apagar una máquina virtual, primero inhabilite su protección de alta disponibilidad y, a continuación, ejecute el comando CLI. XenCenter le ofrece un cuadro de diálogo para automatizar la desactivación de la protección cuando selecciona el botón Apagar de una máquina virtual protegida.

Nota:

Si apaga una VM desde el huésped y la VM está protegida, se reinicia automáticamente en las condiciones de falla de alta disponibilidad. El reinicio automático ayuda a garantizar que el error del operador no provoque que una VM protegida se apague accidentalmente. Si quiere apagar esta máquina virtual, desactive primero su protección de alta disponibilidad.

Alta disponibilidad