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 enRespaldo.

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 ha olvidado el miembro, todas las máquinas virtuales que se ejecutaban allí se marcarán como sin conexión y se pueden reiniciar en otros servidores HASH (0x2e68218). Tenga en cuenta que es muy importante asegurarse de que el servidor HASH (0x2e68218) esté realmente fuera de línea, de lo contrario podría producirse corrupción de 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 HASH (0x2c1a078).
  • 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 falla un servidor HASH miembro (0x2e68218), puede haber máquinas virtuales todavía registradas en estado de ejecución . Si está seguro de que el servidor miembro HASH (0x2e68218) está definitivamente inactivo, utilice el comandoxe vm-reset-powerstate CLI para establecer el estado de alimentación de las máquinas virtuales enhalted . Consultevm-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 servidor HASH (0x2e68218), 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 servidores HASH (0x2e68218) una vez que un host ha 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 (“master”) si el host fallido era el maestro de grupo MMASH SR o el servidor HASH (0x2e68218) utilizando el almacenamiento local MMASH 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 servidor HASH (0x2e68218) 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 del servidor HASH (0x2e68218) y agregarlo al grupo. Dado que los servidores HASH (0x2e68218) en el grupo se imponen para ser homogéneos, no hay necesidad real de hacer que el servidor reemplazado sea el maestro.

Cuando un servidor miembro HASH (0x2e68218) se pasa a ser maestro, también debe comprobar que el repositorio de almacenamiento de grupo predeterminado está establecido en un valor apropiado. 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 de grupo mediante el comandoxe pool-dump-database CLI (consultebase de datos de pool-vertedero ).

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 (consultebase de datos pool-restore-pool ).

  3. Conéctese al host maestro mediante HASH (0x2e6c8e8) y asegúrese de que todas las máquinas virtuales y el almacenamiento compartido 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 utilizando HASH (0x2e6c8e8) o la CLI.

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

  1. Ejecute los siguientes comandos:

    xe pool-emergency-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 file-name=backup
    

    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. Consultecomandos pbdla documentación de estos comandos.

  3. Si ha creado una nueva configuración de almacenamiento, utilicepbd-plug o Almacenamiento > Repair Storage Repository elemento de menú en HASH (0x2e6c8e8) 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=backup metadata=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.