Compartir a través de


Solución de problemas de arranque de máquinas virtuales Linux de Azure debido a un disco del sistema operativo completo

Se aplica a: ✔️ Máquinas virtuales Linux

En determinadas circunstancias y configuraciones, un disco de sistema operativo (SO) completo podría provocar problemas de arranque de máquinas virtuales Linux (VM) de Azure. En este artículo se proporcionan algunas causas y soluciones para los problemas de arranque.

Síntomas

Durante las operaciones normales del sistema, si el disco del sistema operativo o las particiones críticas del sistema se llenan, pueden producirse los siguientes problemas:

  • Una máquina virtual se apaga inesperadamente.
  • Una máquina virtual no arranca correctamente.

Requisitos previos

Para solucionar los problemas de arranque y para completar las reparaciones del sistema, se deben cumplir los siguientes requisitos:

  • Permisos para crear una instantánea de disco o usar algunas herramientas de copia de seguridad y restauración.

    En este artículo, los datos o discos se modifican, por lo que tener la capacidad de revertir la máquina virtual a un estado anterior es un componente crítico de la administración segura del sistema.

  • Diagnósticos de arranque habilitados y configurados.

    Tener esta configuración en vigor permite una revisión futura del almacenamiento del registro de consola y la interacción con la interfaz de consola serie de la máquina virtual.

  • Los permisos para crear una máquina virtual en caso de que se necesite una máquina virtual de rescate en cualquier momento.

  • Se requieren permisos para crear, desasociar y conectar discos en caso de que se cambien los discos.

Nota

No todos los requisitos se aplican a los siguientes escenarios.

Escenario 1: la máquina virtual se cierra inesperadamente y no se inicia

Muchas prácticas de protección de seguridad pueden provocar dificultades en el mantenimiento de sistemas. Si se produce un error al escribir en el registro de auditoría, una configuración común requiere que el sistema se apague inmediatamente. Para comprobar si este escenario es el motivo del apagado del sistema, realice las siguientes acciones:

  • Compruebe los mensajes de apagado del sistema en el registro de la consola serie.

    Si se arranca el sistema, "Iniciar el servicio de auditoría de seguridad..." se muestra el mensaje. Este mensaje no indica que el servicio se inició. En su lugar, la máquina virtual pasa inmediatamente a apagarse y se muestra un mensaje de "Apagado". Si el sistema se está ejecutando y se apaga inesperadamente, la consola serie podría mostrar un proceso de apagado ordenado que termina en un mensaje de "Apagado". Vea las capturas de pantalla siguientes como ejemplo:

    Captura de pantalla del mensaje

    Captura de pantalla del mensaje

  • Monte el disco del sistema operativo mediante los comandos az vm repair, una máquina virtual de recuperación manual o el modo de usuario único. A continuación, examine el uso del disco mediante la df herramienta de línea de comandos y compruebe si el disco que contiene el directorio /var/log/audit está cerca del 100 % de uso.

  • Acceda al sistema de archivos del sistema operativo mediante los comandos az vm repair, una máquina virtual de recuperación manual o el modo de usuario único y compruebe si el archivo /etcetera/audit/auditd.conf contiene las siguientes configuraciones:

    [root@linux /]# grep action /etc/audit/auditd.conf
    admin_space_left_action = HALT
    disk_full_action = HALT
    disk_error_action = HALT
    

Resolución: Deshabilitar la configuración de HALT temporalmente

Nota

Si esta resolución no funciona o no es adecuada para su entorno, vaya a la sección Resolución .

Si la configuración auditada provoca el apagado del sistema en los errores del registro de auditoría, deshabilitar temporalmente la HALT configuración permite que la máquina virtual arranque en el sistema operativo completo para la corrección.

Para corregir este problema común auditado y otros problemas comunes, ejecute la az vm repair extensión automáticamente en la CLI de Azure mediante la acción auditada en la herramienta Reparación automática de Linux (ALAR) de Azure. Para realizar el mismo procedimiento manualmente, siga estos pasos:

  1. Tome una instantánea del disco del sistema operativo para proporcionar un estado de recuperación.

  2. Obtenga acceso al archivo de configuración mediante los comandos az vm repair, una máquina virtual de recuperación manual o el modo de usuario único.

  3. Tome nota de la configuración actual, ya que es posible que el espacio no esté disponible para realizar una copia de seguridad del archivo en la máquina virtual.

  4. Cambie las configuraciones anteriores en el archivo /etcetera/audit/auditd.conf de HALT a cualquier otro valor válido excepto SINGLE. En este escenario, los valores pueden ser IGNORE, SUSPENDo cualquier otro valor enumerado en la página de Linux man para el archivo auditd.conf , que proporciona los parámetros adecuados para las versiones de software usadas en la máquina virtual.

    [root@linux /]# grep action /etc/audit/auditd.conf
    admin_space_left_action = SUSPEND
    disk_full_action = SUSPEND
    disk_error_action = SUSPEND
    
  • Si usa una máquina virtual de recuperación, siga las instrucciones de Desmontar y desasociar el disco duro virtual original para volver a intercambiar el disco del sistema operativo a la máquina virtual problemática e intentar arrancar la máquina virtual con normalidad. Si usa el modo de usuario único, salga y, a continuación, se reinicie la máquina virtual.

  • Una vez que la máquina virtual está completamente arrancada, examine el sistema de archivos y libere espacio mediante herramientas de línea de comandos como df y du. Aproximadamente el 10 % del sistema de archivos que contiene el directorio /var/log/audit debe ser un buen destino inicial.

Una vez resuelto el problema, revierta el contenido del archivo /etcetera/audit/auditd.conf a sus valores originales y reinicie la máquina virtual.

Escenario 2: El disco de máquina virtual se cambia de tamaño en Azure, pero el sistema operativo no se puede cambiar de tamaño y la máquina virtual no arranca completamente

Una vez identificado un disco completo y la máquina virtual se ha apagado para cambiar el tamaño del disco del sistema operativo, es posible que la máquina virtual no arranque correctamente. Este escenario puede resultar confuso en algunas distribuciones en las que el sistema operativo intenta cambiar automáticamente el tamaño del sistema de archivos raíz (/) al reiniciarse. Si el disco está lleno, es posible que se produzca un error en la operación de cambio de tamaño porque el proceso requiere espacio libre para expandir el sistema de archivos. No tener espacio disponible puede provocar un error en cloud-init y, a continuación, la máquina virtual no termina de arrancar.

Para identificar este problema, revise los registros de arranque en la consola serie y compruebe si hay líneas similares al texto siguiente:

[   15.384699] cloud-init[1142]: OSError: [Errno 28] No space left on device
[   15.384742] cloud-init[1142]: Original exception was:
[   15.384784] cloud-init[1142]: OSError: [Errno 28] No space left on device

Dado que es posible que los mensajes de cloud-init específicos no sean el mensaje más visible devuelto, busque otras líneas que contengan el texto "[Errno 28] No queda espacio en el dispositivo" o mensajes similares "sin espacio".

Para resolver este problema, borre los datos innecesarios para liberar una pequeña cantidad de espacio en disco y, a continuación, expanda el sistema de archivos.

Escenario 3: Arranque de máquina virtual, pero no es accesible debido a errores de servicio

Una máquina virtual que parece arrancar completamente podría tener los siguientes problemas:

  • Los problemas de servicio se producen durante el arranque.
  • Es posible que el agente de Azure no aparezca disponible.
  • Es posible que se produzca un error en las conexiones a la máquina virtual.
  • Es posible que la máquina virtual parezca estar sin conexión según las aplicaciones.

Durante el arranque, varios mensajes como "[Errno 28] No queda espacio en el dispositivo" u otros tipos de mensajes indican que el sistema de archivos raíz está lleno.

Si una máquina virtual arranca pero no aparece disponible, compruebe el registro de serie dentro de los diagnósticos de arranque para ver los mensajes de arranque o use la consola serie para interactuar con la máquina virtual. Si el espacio no es suficiente, borre los datos innecesarios para liberar espacio o expanda los discos.

Si el registro de consola contiene muchos mensajes que indican "ERROR ExtHandler /proc/net/route no contiene rutas", es posible que un disco del sistema operativo completo también sea la causa, ya que los servicios de red no se pueden iniciar completamente.

Solución

Las siguientes resoluciones se aplican a cualquiera de los escenarios anteriores.

Resolución 1: Borrar datos innecesarios

  1. Obtenga acceso al disco del sistema operativo y las particiones mediante los comandos az vm repair, una máquina virtual de recuperación manual o el modo de usuario único, ya que el sistema no arranca normalmente.

  2. Identifique archivos y directorios grandes mediante herramientas y comandos estándar de Linux:

    • du -ks /* | sort -n - Busque los archivos o directorios que consumen más espacio en una ubicación. Repita la operación en el directorio notificado más grande hasta que se descubran algunos datos grandes.

    • ls -altSr /var/log - Enumere el contenido de un directorio, ordenado por tamaño, en orden ascendente.

    • find / -size +500M -exec ls -alFh {} \; - Buscar archivos individuales grandes. Ajuste el 500M valor a varios megabytes o gigabytes según sea necesario para localizar los archivos más eficaces que se van a eliminar.

  3. Quite los archivos que se pueden identificar como innecesarios, como registros antiguos, copias de seguridad olvidadas y archivos similares.

  4. Una vez que se borra una cantidad adecuada de espacio, tenga como destino aproximadamente un 10 % de disco libre y reinicie el sistema.

Resolución 2: Expansión del sistema de archivos del sistema operativo

Si no se pueden borrar datos del sistema de archivos del sistema operativo, se recomienda expandir el disco que contiene los volúmenes críticos del sistema operativo. Para más información, consulte Expansión de discos duros virtuales en una máquina virtual Linux.

Pasos siguientes

En caso de que el error de arranque específico no sea un problema de arranque de Linux debido a un disco de sistema operativo completo, consulte Solución de problemas de errores de arranque de máquinas virtuales Linux de Azure para solucionar más problemas.

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.