Risolvere i problemi di avvio delle VM Linux dovuti a errori fstab

Fstab (tabella del file system) è un file di configurazione utilizzato per definire come la partizione del disco, il file system e la condivisione file vengono montati nella VM Linux tra i riavvii di sistema.

Questo documento descrive le varie condizioni in cui un file FStab non è corretto potrebbe causare un problema di avvio e risolvere i problemi per risolvere il problema.

Di seguito sono elencati alcuni dei problemi comuni relativi all'errata configurazione di fstab:

  • Errore di sintassi nel file di configurazione fstab
  • Un UUID errato
  • Esiste una voce per un dispositivo scollegato/non disponibile
  • Opzioni di montaggio deprecate come nobarrier per il file system xfs digita SUSE o RHEL in formato Docker.

Prima di iniziare

  • Se vuoi registrare l'output della porta seriale in Cloud Logging, con Cloud Logging.
  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è Il processo di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

    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

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

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

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Identificare i problemi relativi a FStab

Per i problemi di avvio, Google consiglia vivamente di controllare i log di avvio nella console seriale della VM Linux. La VM passa alla modalità di emergenza con un messaggio di errore che suggerisce che il problema riguarda 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)
  

In base al messaggio di errore, si è verificato un errore delle dipendenze per /distribution file system in-app. L'errore delle dipendenze per un punto di montaggio del file system sarà diverso in base ai nomi del file system utilizzati.

Risoluzione

Utilizza le seguenti opzioni per risolvere l'errore fstab nelle VM Linux ospitate in Google Cloud. Puoi risolvere il problema più rapidamente utilizzando la console seriale rispetto al metodo manuale.

Per utilizzare i seguenti metodi per risolvere il problema fstab, devi abilitare l'accesso alle porte seriali per la tua VM.

Opzione 1: utilizza la console seriale per accedere alla VM in modalità di emergenza

  1. Accedi alla console seriale della VM dalla console Google Cloud. Console seriale

  2. Nell'attuale modalità di emergenza, inserisci la password root per accedere alla VM.

  3. Usa il tuo editor di testo preferito per aprire il file fstab. Fai in modo che le modifiche necessarie e salvale al file fstab. Nella nell'esempio seguente, viene utilizzato l'editor vi.

    vi /etc/fstab

    File FStab

    Nell'esempio precedente, il dispositivo per /distribution è stato scollegato da la VM. Commenta la riga che fa riferimento al file system oppure rimuovi Voce fstab per /distribution punto di montaggio.

    Usa man fstab per altro informazioni dettagliate sulla configurazione e sulla sintassi di fstab.

  4. Salva il file ed esci dall'editor. Se utilizzi l'editor vi, usa ESC + :wq! per salvare e uscire dall'editor.

  5. Riprendi il processo di avvio inserendo reboot quando richiesto.

  6. Dopo aver risolto il problema, il processo di avvio della VM dovrebbe essere completato e il prompt di accesso viene visualizzato nella console seriale.

  7. Verifica di poter accedere di nuovo alla VM utilizzando SSH.

Opzione 2: utilizza la modalità Utente singolo nella console seriale

Questa opzione può essere utilizzata se la password root non è impostata.

Prerequisiti: parametro GRUB_TIMEOUT nel file di configurazione di grub deve essere impostato su un valore diverso da zero. Di solito questo file si trova /etc/default/grub, ma in alcune distribuzioni precedenti potrebbe trovarsi in una directory non standard.

  1. Vai alla pagina Istanze VM nella console Google Cloud. Vai a Istanze VM

  2. Accedere alla console seriale della macchina virtuale dal nella console Google Cloud. Console seriale2

  3. Fai clic su REIMPOSTA per la macchina virtuale dalla Google Cloud Console.

    Reimposta file

  4. Nella finestra della console seriale, interrompi il processo di avvio facendo clic sul pulsante il tasto freccia per fare una pausa nella schermata o nel menu.

  5. Nell'elenco dei kernel nella schermata del boot loader grub, scegli il kernel e premi e sulla tastiera.

    file bootloader

  6. Aggiungi il parametro rd.break alla fine della riga del kernel e premi ctrl+x. Ciò aiuta ad avviare la VM in modalità utente singolo.

    Menu del bootloader

  7. Monta il file system radice in modalità di lettura e scrittura.

  8. Analizza, apporta le modifiche necessarie e salva il file fstab. Usa man fstab per altro e la configurazione e la sintassi. Usa il tuo editor di testo preferito per apri il file fstab. Nell'esempio seguente, viene utilizzato l'editor vi.

    vi /etc/fstab

    File FStab2

    In questo esempio, il dispositivo di /distribution viene scollegato dalla VM, quindi commenta la riga o rimuovi la voce fstab per /distribution punto di montaggio.

  9. Salva il file ed esci dall'editor. Se utilizzi l'editor vi, usa ESC + :wq! per salvare e uscire da FStab.

  10. Riprendi il processo di avvio inserendo reboot quando richiesto.

  11. Dopo aver risolto il problema, il processo di avvio della VM dovrebbe essere completato e dovresti vedere la richiesta di accesso nella console seriale.

  12. Verifica di poter accedere alla VM tramite SSH.

Opzione 3: salva la VM

Questa opzione può essere utilizzata se la password root non è impostata o se non puoi utilizzare modalità utente singolo.

Per ulteriori informazioni, vedi Salva una VM inaccessibile.