Soluciona problemas de inicio de VM de Linux debido a errores fstab


Fstab (tabla de sistema de archivos) es un archivo de configuración que se usa para definir cómo persisten las activaciones de archivos compartidos, sistemas de archivos y discos en la VM de Linux después de los reinicios del sistema.

En este documento, se describen varias condiciones en las que una configuración fstab incorrecta puede dar como resultado un problema de inicio y se ofrecen consejos para solucionar el problema.

A continuación, se enumeran algunos de los problemas habituales con la configuración incorrecta de fstab:

  • Se produjo un error de sintaxis en el archivo de configuración fstab
  • Un UUID incorrecto
  • Existe una entrada para un dispositivo no conectado o no disponible
  • Opciones de activación obsoletas, como nobarrier para el tipo de sistema de archivos xfs en imágenes de SUSE o RHEL.

Antes de comenzar

  • Si deseas registrar la salida del puerto en serie en Cloud Logging, familiarízate con Cloud Logging.
  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Identifica problemas de fstab

Para problemas de inicio, Google recomienda que verifiques los registros de inicio en la consola en serie de la VM de Linux. La VM entra en modo de emergencia con un mensaje de error que sugiere que el problema tiene relación con fstab.

  [K[[1;31m TIME [0m] Timed out waiting for device dev-incorrect.device.
  [[1;33mDEPEND[0m] Dependency failed for /distribution.
  [[1;33mDEPEND[0m] Dependency failed for Local File Systems.
  ...
  Welcome to emergency mode! After logging in, type "journalctl -xb" to viewsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again to boot into default mode.
  Give root password for maintenance
  (or type Control-D to continue)
  

Según el mensaje de error, hay una falla de dependencia del sistema de archivos /distribution. La falla de dependencia para un punto de activación del sistema de archivos variará en función de los nombres de los sistemas de archivos que se usen.

Solución

Usa las siguientes opciones para resolver el error fstab en las VM de Linux alojadas en Google Cloud. Puedes resolver el problema con mayor rapidez mediante la consola en serie que con el método manual.

Para usar los siguientes métodos para resolver el problema de fstab, debes habilitar el acceso al puerto en serie para tu VM.

Opción 1: Usa la consola en serie para acceder a la VM en modo de emergencia

  1. Accede a la consola en serie de la VM desde la consola de Google Cloud.Consola en serie

  2. En el modo de emergencia actual, ingresa la contraseña raíz para acceder a tu VM.

  3. Usa tu editor de texto preferido para abrir el archivo fstab. Realiza los cambios necesarios y guarda los cambios en el archivo fstab. En el siguiente ejemplo, se usa el editor vi.

    vi /etc/fstab

    Archivo Fstab

    En el ejemplo anterior, el dispositivo para /distribution está desconectado de la VM. Comenta la línea que hace referencia al sistema de archivos o quita la entrada fstab del punto de activación /distribution.

    Usa man fstab para obtener más detalles sobre la configuración y la sintaxis de fstab.

  4. Guarda el archivo y sal del editor. Si usas el editor vi, usa ESC + :wq! para guardar y salir del editor.

  5. Para reanudar el proceso de inicio, ingresa reboot cuando se te solicite.

  6. Después de solucionar correctamente el problema, el proceso de inicio de la VM debe completarse, y aparecerá la solicitud de acceso en la consola en serie.

  7. Verifica que puedas volver a acceder a la VM con SSH.

Opción 2: Usa el modo de usuario único en la consola en serie

Esta opción se puede usar si no se establece la contraseña raíz.

Requisito previo: El parámetro GRUB_TIMEOUT en el archivo de configuración de grub debe establecerse en un valor distinto de cero. Por lo general, este archivo está en /etc/default/grub, pero, en algunas distribuciones anteriores, podría estar ubicado en un directorio no estándar.

  1. Ve a la página Instancias de VM en la consola de Google Cloud. Ir a Instancias de VM

  2. Accede a la consola en serie de la máquina virtual desde la consola de Google Cloud.Consola en serie 2

  3. Haz clic en RESTABLECER para la máquina virtual desde la consola de Google Cloud.

    Restablecer archivo

  4. En la ventana de la consola en serie, haz clic en la tecla de flecha para pausar el proceso de inicio en el menú o la pantalla de grub.

  5. En la lista de kernels en la pantalla del cargador de inicio de grub, elige el kernel y presiona e en el teclado.

    archivo bootloader

  6. Agrega el parámetro rd.break al final de la línea del kernel y presiona ctrl+x. Esto ayuda a iniciar la VM en el modo de usuario único.

    Menú de bootloader

  7. Activa el sistema de archivos raíz en modo de escritura de lectura.

  8. Analiza, haz los cambios necesarios y guarda el archivo fstab. Usa man fstab para obtener más detalles sobre la configuración y la sintaxis. Usa tu editor de texto favorito para abrir el archivo fstab. En el siguiente ejemplo, se usa el editor vi.

    vi /etc/fstab

    Archivo Fstab 2

    En este ejemplo, el dispositivo para /distribution está separado de la VM, por lo que debes comentar la línea o quitar la entrada de fstab del punto de activación /distribution.

  9. Guarda el archivo y sal del editor. Si usas el editor vi, usa ESC + :wq! para guardar y salir de fstab.

  10. Para reanudar el proceso de inicio, ingresa reboot cuando se te solicite.

  11. Después de solucionar correctamente el problema, el proceso de inicio de la VM debería completarse y deberías ver el mensaje de acceso en la consola en serie.

  12. Verifica que puedas acceder a la VM mediante SSH.

Opción 3: Recupera la VM

Esta opción se puede usar si no se establece la contraseña raíz o si no puedes usar el modo de usuario único.

Para obtener más información, consulta Recupera una VM inaccesible.