Fstab (tabella del file system) è un file di configurazione utilizzato per definire la modalità di persistenza dei montaggi della partizione del disco, del file system e della condivisione file nella VM Linux durante i riavvii del sistema.
Questo documento illustra più condizioni in cui una configurazione errata di fstab può causare un problema di avvio e offre consigli per la risoluzione dei problemi.
Di seguito sono riportati alcuni dei problemi comuni relativi alla configurazione errata di fstab:
- Errore di sintassi nel file di configurazione
fstab - UUID errato
- Esiste una voce per un dispositivo non collegato/non disponibile
- Opzioni di montaggio deprecate come
nobarrierper il file system xfs in immagini SUSE o RHEL.
Prima di iniziare
- Se vuoi registrare l'output della porta seriale in Cloud Logging, acquisisci familiarità con Cloud Logging.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Seleziona la scheda relativa a come intendi utilizzare i campioni in questa pagina:
Console
Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle API, non devi configurare l'autenticazione.
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
- Imposta una regione e una zona predefinite.
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.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .
Identificare i problemi di 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 a questo messaggio, si verifica un errore di dipendenza per il file system
/distribution. L'errore di dipendenza per un punto di montaggio del file system varia
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
al posto del metodo manuale.
Per utilizzare i seguenti metodi per risolvere il problema riguardante fstab, devi abilitare l'accesso alla porta seriale per la VM.
Opzione 1: utilizza la console seriale per accedere alla VM in modalità di emergenza
Accedi alla console seriale della VM dalla console Google Cloud .

Nella modalità di emergenza attuale, inserisci la password root per accedere alla VM.
Utilizza il tuo editor di testo preferito per aprire il file
fstab. Apporta le modifiche necessarie e salvale nel filefstab. Nell'esempio seguente viene utilizzato l'editorvi.vi /etc/fstab

Nell'esempio precedente, il dispositivo per
/distributionè stato scollegato dalla VM. Commenta la linea che fa riferimento al file system o rimuovi la voce fstab per il punto di montaggio/distribution.Utilizza
man fstabper maggiori dettagli sulla configurazione e sulla sintassi di fstab.Salva il file ed esci dall'editor. Se utilizzi l'editor
vi, usaESC+:wq!per salvare ed uscire dall'editor.Riprendi il processo di avvio inserendo Riavvia al prompt.
Dopo aver risolto il problema, il processo di avvio della VM dovrebbe essere completato e nella console seriale viene visualizzato il prompt di accesso.
Verifica di poter accedere di nuovo alla VM tramite SSH.
Opzione 2: utilizzo della modalità utente singolo nella console seriale
Questa opzione può essere utilizzata se la password root non è impostata.
Prerequisito: il parametro GRUB_TIMEOUT nel file di configurazione 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 essere situato
in una directory non standard.
Vai alla pagina Istanze VM nella console Google Cloud . Vai a Istanze VM
Accedi alla console seriale della macchina virtuale dalla consoleGoogle Cloud .

Dalla console Google Cloud, fai clic su RESET per la macchina virtuale.

Nella finestra della console seriale, interrompi il processo di avvio facendo clic sul tasto Freccia per metterlo in pausa nella schermata o nel menu Grub.
Nell'elenco dei kernel nella schermata del bootloader Grub, seleziona il kernel e premi
esulla tastiera.
Aggiungi il parametro
rd.breakalla fine della linea del kernel e premictrl+x. In questo modo puoi avviare la VM in modalità utente singolo.
Monta il file system principale in modalità di lettura/scrittura.
Analizza, apporta le modifiche necessarie e salva il file
fstab. Utilizzaman fstabper ulteriori dettagli su configurazione e sintassi. Utilizza il tuo editor di testo preferito per aprire il filefstab. Nell'esempio seguente viene utilizzato l'editor vi.vi /etc/fstab

In questo esempio, il dispositivo per
/distributionè scollegato dalla VM; commenta quindi la linea o rimuovi la voce fstab per il punto di montaggio/distribution.Salva il file ed esci dall'editor. Con l'editor vi, utilizza
ESC+:wq!per salvare e uscire da fstab.Riprendi il processo di avvio inserendo
rebootal prompt.Dopo aver risolto il problema, il processo di avvio della VM dovrebbe essere completato e dovresti visualizzare il prompt di accesso nella console seriale.
Verifica di poter accedere alla VM utilizzando SSH.
Opzione 3: recupera la VM
Puoi avvalerti di questa opzione se la password root non è impostata o se non riesci a utilizzare la modalità singolo utente.
Per ulteriori informazioni, consulta Recupero di una VM inaccessibile.