Share via


Uso de Azure Linux Auto Repair (ALAR) para corregir una máquina virtual Linux

La próxima vez que tenga que ejecutar una reparación en la máquina virtual (VM) Linux de Azure, puede automatizar el trabajo colocando los scripts de Reparación automática de Linux (ALAR) de Azure para que funcionen automáticamente. Ya no tiene que ejecutar el trabajo manualmente. Estos scripts simplifican el proceso de recuperación y permiten incluso a los usuarios inexpertos recuperar fácilmente su máquina virtual Linux.

ALAR utiliza la extensión de reparación de máquinas virtuales que se describe en Reparación de una máquina virtual Linux mediante los comandos de reparación de máquinas virtuales de Azure.

ALAR cubre los siguientes escenarios de reparación:

  • Error de sintaxis de /etc/fstab con formato incorrecto que falta en el disco
  • Initrd dañado o falta línea initrd en /boot/grub/grub.cfg
  • El kernel instalado por última vez no se puede arrancar
  • La consola serie y el serial de GRUB están configurados incorrectamente o faltan
  • Instalación o configuración de GRUB/EFI dañada

Acciones de ALAR

Fstab

Esta acción quita las líneas del archivo /etc/fstab que no son necesarias para arrancar un sistema. En primer lugar, se realiza una copia del archivo original como referencia. Cuando se inicia el sistema operativo, el administrador puede editar fstab para corregir los errores que no permitían un reinicio del sistema antes.

Para obtener más información sobre los problemas con un archivo /etc/fstab con formato incorrecto, consulte Solución de problemas de inicio de máquinas virtuales Linux debido a errores de fstab.

Núcleo

Esta acción cambia el kernel predeterminado. El script reemplaza el kernel roto por la versión instalada anteriormente.

Para obtener más información sobre los mensajes que se pueden registrar en la consola serie para eventos de inicio relacionados con el kernel, consulte Recuperación de una máquina virtual Linux de Azure a partir de problemas de arranque relacionados con el kernel.

Initrd

Esta acción se puede usar para corregir un initrd o initramfs que está dañado o creado incorrectamente.

Para obtener los initrd o initramfs creados correctamente, agregue los módulos hv_vmbus, hv_netvscy hv_storvsc a la imagen.

Los problemas de inicio relacionados con Initrd pueden aparecer como los siguientes síntomas registrados.

No sincronizar VFSNo se encontró ninguna init de trabajo

En ambos casos, se registra la siguiente información antes de que se registren las entradas de error.

Error al desempaquetar

serialconsole

Esta acción corrige una configuración de consola serie incorrecta o incorrecta para el kernel de Linux o GRUB. Se recomienda ejecutar esta acción en los casos siguientes:

  • No se muestra ningún menú GRUB al iniciar la máquina virtual.
  • No se escribe ninguna información relacionada con el sistema operativo en la consola serie.

grubfix

Esta acción se puede usar para volver a instalar GRUB y volver a generar el archivo grub.cfg .

efifix

Esta acción se puede usar para volver a instalar el software necesario para arrancar desde una máquina virtual GEN2. El archivo grub.cfg también se vuelve a generar.

auditada

Si la máquina virtual se apaga inmediatamente después del inicio debido a la configuración del demonio de auditoría, use esta acción. Esta acción modifica la configuración del demonio de auditoría (en el archivo /etc/audit/auditd.conf ) cambiando el HALT valor configurado para los action parámetros a SYSLOG, lo que no obliga al sistema a apagarse. En un entorno del Administrador de volúmenes lógicos (LVM), si el volumen lógico que contiene los registros de auditoría está lleno y hay espacio disponible en el grupo de volúmenes, el volumen lógico también se ampliará en un 10 % del tamaño actual. Sin embargo, si no usa un entorno LVM o no hay espacio disponible, solo se modifica el archivo de configuración.

Uso de ALAR

Los scripts ALAR utilizan el comando de extensión de reparación run y su opción --run-id. El valor de la --run-id opción para la recuperación automatizada es linux-alar2. Para corregir una máquina virtual Linux mediante un script ALAR, siga estos pasos:

  1. Creación de una máquina virtual de rescate:

    az vm repair create --verbose -g RG-NAME -n VM-NAME --repair-username RESCUE-UID --repair-password RESCUE-PASS --copy-disk-name DISK-COPY
    
  2. Ejecute un script con una de las acciones de ALAR en la máquina virtual de rescate:

    az vm repair run --verbose -g RG-NAME -n VM-NAME --run-id linux-alar2 --parameters ACTION --run-on-repair
    
  3. Intercambie los discos del sistema operativo y elimine los recursos temporales:

    az vm repair restore --verbose -g RG-NAME -n VM-NAME 
    

    Nota:

    Los discos original y nuevo no se eliminarán.

Estas son las explicaciones de los parámetros de los comandos anteriores:

  • RG-NAME: nombre del grupo de recursos que contiene la máquina virtual rota.

  • VM-NAME: nombre de la máquina virtual rota.

  • RESCUE-UID: el usuario creado en la máquina virtual de reparación para el inicio de sesión. Es el equivalente del usuario creado en una nueva máquina virtual en el Azure Portal.

  • RESCUE-PASS: la contraseña de RESCUE-UID, entre comillas simples. Por ejemplo: 'password!234'.

  • DISK-COPY: nombre de la copia del disco del sistema operativo que se creará a partir de la máquina virtual rota.

  • ACTION: una tarea con scripts que se va a ejecutar, como initrd o fstab.

    Nota:

    Puede pasar una o varias operaciones de recuperación. Para varias operaciones, des delinearlas mediante comas sin espacios, como fstab,initrd.

Limitación

No se admiten máquinas virtuales clásicas.

Pasos siguientes

Si experimenta un error o desea solicitar una mejora en la herramienta ALAR, publique un comentario en GitHub.

También puede encontrar la información más reciente sobre la herramienta ALAR en GitHub.

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.