Hacer frente a fallas de la máquina

Esta sección proporciona detalles sobre cómo recuperarse de varios escenarios de error. Todos los escenarios de recuperación de errores requieren el uso de uno o más de los tipos de copia de seguridad enumerados en Copia de seguridad.

Fallos de miembros

En ausencia de HA, los nodos maestros detectan las fallas de los miembros mediante la recepción de mensajes de latido regulares. Si no se ha recibido ningún latido durante 600 segundos, el maestro asume que el miembro está muerto. Hay dos formas de recuperarse de este problema:

  • Repare el host muerto (por ejemplo, reiniciándolo físicamente). Cuando se restablezca la conexión con el miembro, el maestro marcará al miembro como vivo de nuevo.

  • Cierre el host e indique al maestro que se olvide del nodo miembro mediante el comandoxe host-forget CLI. Una vez que se haya olvidado el miembro, todas las máquinas virtuales que se ejecutaban allí se marcarán como sin conexión y se podrán reiniciar en otros hosts. Tenga en cuenta que es muy importante asegurarse de que el host está realmente fuera de línea; de lo contrario, podrían producirse daños en los datos de VM. Tenga cuidado de no dividir su grupo en varios grupos de un único host mediante el usoxe host-forget, ya que esto podría dar como resultado que todos mapearan el mismo almacenamiento compartido y corrompieran los datos de VM.

Advertencia:

  • Si va a utilizar de nuevo el host olvidado como un host activo, realice una nueva instalación del software.
  • No utilice elxe host-forget comando si HA está habilitado en el grupo. Desactive primero HA, olvide el host y, a continuación, vuelva a habilitar HA.

Cuando se produce un error en un host miembro, es posible que todavía haya máquinas virtuales registradas en estado de ejecución . Si está seguro de que el host miembro está definitivamente inutilizado, utilice el comandoxe vm-reset-powerstate CLI para establecer el estado de alimentación de las máquinas virtuales enhalted . Consulte vm-reset-powerstatepara obtener más detalles.

Advertencia:

El uso incorrecto de este comando puede provocar daños en los datos. Solo use este comando si es absolutamente necesario.

Antes de que pueda iniciar máquinas virtuales en otro host, también debe liberar los bloqueos en el almacenamiento de VM. Cada disco de un SR sólo puede ser utilizado por un host a la vez, por lo que es clave hacer que el disco sea accesible a otros hosts una vez que un host haya fallado. Para ello, ejecute la siguiente secuencia de comandos en el maestro de grupo para cada SR que contenga discos de las máquinas virtuales afectadas:/opt/xensource/sm/resetvdis.py host_UUID SR_UUID maestro

Solo necesita proporcionar la tercera cadena (“maestro”) si el host fallido era el maestro de grupo MMASH maestro SR o el host que utiliza MMASH de almacenamiento local en el momento del bloqueo.

Advertencia:

Asegúrese absolutamente de que el host está caído antes de ejecutar este comando. El uso incorrecto de este comando puede provocar daños en los datos.

Si intenta iniciar una máquina virtual en otro host antes de ejecutar el script anterior, recibirá el siguiente mensaje de error:VDI <UUID> already attached RW.

Fallos maestros

Cada miembro de un fondo de recursos contiene toda la información necesaria para asumir el rol de maestro si es necesario. Cuando se produce un error en un nodo maestro, se produce la siguiente secuencia de eventos:

  1. Si HA está activado, se elige automáticamente otro maestro.

  2. Si HA no está habilitado, cada miembro esperará a que regrese el maestro.

Si el maestro vuelve a aparecer en este punto, restablece la comunicación con sus miembros y la operación vuelve a la normalidad.

Si el maestro está realmente muerto, elija uno de los miembros y ejecute el comandoxe pool-emergency-transition-to-master en él. Una vez que se haya convertido en el maestro, ejecute el comandoxe pool-recover-slaves y los miembros ahora señalarán al nuevo maestro.

Si repara o reemplaza el servidor que era el maestro original, simplemente puede abrirlo, instalar el software host y agregarlo al grupo. Dado que los hosts del grupo se imponen para que sean homogéneos, no hay necesidad real de hacer que el servidor reemplazado sea el maestro.

Cuando un host miembro pasa a ser maestro, también debe comprobar que el repositorio de almacenamiento de agrupación predeterminado esté establecido en un valor adecuado. Esto se puede hacer usando elxe pool-param-list comando y verificando que eldefault-SR parámetro apunta a un repositorio de almacenamiento válido.

Fallas de la agrupación

En el desafortunado caso de que todo el fondo de recursos falle, tendrá que volver a crear la base de datos del grupo desde cero. Asegúrese de realizar regularmente copias de seguridad de sus metadatos pool-utilizando el comandoxe pool-dump-database CLI (consulte pool-dump-database ).

Para restaurar un grupo con errores por completo:

  1. Instale un nuevo conjunto de hosts. No los ponga en común en esta etapa.

  2. Para el host designado como maestro, restaure la base de datos del grupo desde la copia de seguridad mediante elxe pool-restore-database comando (consulte pool-restore-database ).

  3. Conéctese al host maestro utilizando y asegúrese de que todo el almacenamiento compartido y las máquinas virtuales estén disponibles de nuevo.

  4. Realice una operación de unión de grupo en los hosts miembros recién instalados restantes e inicie las máquinas virtuales en los hosts apropiados.

Hacer frente a un fallo debido a errores de configuración

Si el equipo host físico está operativo pero la configuración del software o del host está dañada:

  1. Ejecute el siguiente comando para restaurar el software y la configuración del host:

    xe host-restore host = host file-name = hostbackup
    
  2. Reinicie en el CD de instalación del host y seleccione Restaurar desde copia de seguridad.

Fallo físico de la máquina

Si el equipo host físico ha fallado, utilice el procedimiento apropiado que se indica a continuación para recuperarse.

Advertencia:Las máquinas virtuales

que se ejecuten en un miembro anterior (o en el host anterior) que hayan fallado seguirán marcadas comoRunning``en la base de datos. Esto es por seguridad: iniciar simultáneamente una máquina virtual en dos hosts diferentes podría provocar graves daños en el disco. Si está seguro de que las máquinas (y las máquinas virtuales) están sin conexión, puede restablecer el estado de alimentación de la máquina virtual aHalted:

  xe vm-reset-powerstate vm = vm_uuid — force Las VM se pueden reiniciar mediante  o la CLI.

Para reemplazar un maestro con errores por un miembro aún en ejecución:

  1. Ejecute los siguientes comandos:

    xe pool-emergencia-transition-to-master xe pool-recover-slaves

  2. Si los comandos se ejecutan correctamente, reinicie las máquinas virtuales.

Error al restaurar un grupo con todos los hosts:

  1. Ejecute el comando:

    xe pool-restore-database nombre-archivo = copia de seguridad
    

    Advertencia:

    Este comando sólo tendrá éxito si el equipo de destino tiene un número apropiado de NICs con nombre apropiado.

  2. Si la máquina de destino tiene una vista diferente del almacenamiento (por ejemplo, un espejo de bloque con una dirección IP diferente) que la máquina original, modifique la configuración de almacenamiento mediante elpbd-destroy comando y, a continuación, elpbd-create comando para recrear configuraciones de almacenamiento. Consulte los comandos pbdpara obtener documentación de estos comandos.

  3. Si ha creado una nueva configuración de almacenamiento, utilicepbd-plug o Almacenamiento > Reparar repositorio de almacenamiento en el elemento de menú para utilizar la nueva configuración.

  4. Reinicie todas las máquinas virtuales.

Para restaurar una máquina virtual cuando el almacenamiento de VM no está disponible:

  1. Ejecute el siguiente comando:

    xe vm-import filename = metadatos de copia de seguridad = true
    
  2. Si falla la importación de metadatos, ejecute el comando:

    xe vm-import filename = backup metadata = true — force
    

    Este comando intenta restaurar los metadatos de la máquina virtual sobre la base del ‘mejor esfuerzo’.

  3. Reinicie todas las máquinas virtuales.

Hacer frente a fallas de la máquina