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 riportati alcuni dei problemi comuni relativi alla configurazione errata di fstab:

  • Errore di sintassi nel file di configurazione fstab
  • Un UUID errato
  • Esiste una voce per un dispositivo non collegato/non disponibile
  • Opzioni di montaggio ritirate come nobarrier per il tipo di file system xfs nelle immagini SUSE o RHEL.

Prima di iniziare

  • Se vuoi registrare l'output della porta seriale in Cloud Logging, familiarizza 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 dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite 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 entra in 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 di dipendenza per il file system /distribution. L'errore di dipendenza per un punto di montaggio del file system sarà diverso in base ai nomi dei 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. Nella modalità di emergenza corrente, inserisci la password di 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 nel 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 o rimuovi la voce fstab per il punto di montaggio /distribution.

    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 ed uscire dall'editor.

  5. Riprendi il processo di avvio inserendo reboot al prompt.

  6. Dopo aver risolto il problema, la procedura di avvio della VM dovrebbe essere completata e nella console seriale verrà visualizzata la richiesta di accesso.

  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. In genere questo file si trova in/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. Accedi alla console seriale della macchina virtuale dalla console Google Cloud.Serial Console2

  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 del bootloader

  6. Aggiungi il parametro rd.break alla fine della riga del kernel e premi ctrl+x. In questo modo puoi avviare la VM in modalità utente singolo.

    Menu del bootloader

  7. Monta il file system principale in modalità di lettura/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 ed 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 visualizzare il prompt di accesso nella console seriale.

  12. Verifica di poter accedere alla VM utilizzando SSH.

Opzione 3: salva la VM

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

Per ulteriori informazioni, vedi Salva una VM inaccessibile.