Freigeben über


Beheben von Problemen beim Starten von Linux-VMs aufgrund von Fehlern in „fstab“

Gilt für: ✔️ Linux-VMs

Hinweis

CentOS, auf das in diesem Artikel verwiesen wird, ist eine Linux-Verteilung und wird End Of Life (EOL) erreichen. Sie sollten sich Ihre Nutzung dieser Distribution ansehen und entsprechend planen. Weitere Informationen finden Sie unter CentOS End Of Life Guidance.

Die Linux-Dateisystemtabelle fstab ist eine Konfigurationstabelle, die zum Konfigurieren von Regeln entwickelt wurde, bei denen bestimmte Dateisysteme während des Systemstartvorgangs ordnungsgemäß erkannt und bereitgestellt werden.

In diesem Artikel werden mehrere Bedingungen erläutert, bei denen eine falsche fstab-Konfiguration zu Startproblemen führen kann und Anleitungen zur Problembehandlung enthält.

Im Folgenden finden Sie einige häufige Gründe, die zu Startproblemen des virtuellen Computers (VM) führen können, da fstab falsch konfiguriert wurde:

  • Der herkömmliche Dateisystemname wird anstelle des Universally Unique Identifier (UUID) des Dateisystems verwendet.
  • Es wird eine falsche UUID verwendet.
  • Ein Eintrag ist für ein nicht angefügtes Gerät ohne die nofail Option innerhalb der fstab-Konfiguration vorhanden.
  • Falscher Eintrag in der Fstab-Konfiguration.

fstab-Probleme identifizieren

Überprüfen Sie den aktuellen Startstatus der VM im seriellen Protokoll im Blatt "Startdiagnose" im Azure-Portal. Die VM wird im Notfallmodus sein. Sie sehen Protokolleinträge, die dem folgenden Beispiel ähneln und zum Status „Notfallmodus“ führen:

[K[[1;31m TIME [0m] Timed out waiting for device dev-incorrect.device.
[[1;33mDEPEND[0m] Dependency failed for /data.
[[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)

Hinweis

/data ist ein Beispiel für den verwendeten Bereitstellungspunkt. Das Scheitern von Abhängigkeiten für Dateisystem-Einhängepunkte hängt von den verwendeten Namen ab.

Lösung

Es gibt zwei Möglichkeiten, dieses Problem zu beheben:

Reparieren des virtuellen Computers online

Verwenden der seriellen Konsole

  1. Stellen Sie über die Azure-Portal eine Verbindung mit der seriellen Konsole der VM her.
  2. Der manuelle Zugriff auf den Einzelbenutzermodus ist erforderlich, um fstab neu zu konfigurieren. Die Schritte können je nach Art des verwendeten Linux-Betriebssystems und dem Zugriff auf das Stammkonto variieren. Folgen Sie der Dokumentation für den Einzelbenutzermodus , um auf den Einzelbenutzermodus für jedes unterstützte Linux-Partnerimage zuzugreifen.
fstab-Problembehandlungsschritte
  1. Sobald der virtuelle Computer im Einzelbenutzermodus gestartet wurde. Öffnen Sie die Datei „fstab“ mit Ihrem bevorzugten Text-Editor.

    vi /etc/fstab
    
  2. Überprüfen Sie die aufgelisteten Dateisysteme in /etc/fstab. Jede Zeile in der Datei „fstab“ gibt ein Dateisystem an, das beim Starten des virtuellen Computers eingebunden wird. Weitere Informationen zur Syntax der Datei „fstab“ bekommen Sie, wenn Sie den Befehl „man fstab fstab“ ausführen. Um einen Boot-Fehler zu beheben, überprüfen Sie den Eintrag für das Dateisystem, das nicht eingebunden werden konnte. Es empfiehlt sich, jede Zeile zu überprüfen, um sicherzustellen, dass sie sowohl in Struktur als auch in Inhalten korrekt ist. Einige Punkte, die sie berücksichtigen sollten, um eine fstab-Datei richtig zu verwalten, sind wie folgt:

    • Felder in den einzelnen Zeilen werden durch Tabstopps oder Leerzeichen voneinander getrennt. Leere Zeilen werden ignoriert. Zeilen, die als erstes Zeichen ein Nummernzeichen (#) aufweisen, sind Kommentare. Auskommentierte Zeilen können in der Datei „fstab“ verbleiben, werden aber nicht verarbeitet. Es wird empfohlen, dass Sie die Zeilen in „fstab“, bei denen Sie unsicher sind, nicht entfernen, sondern auskommentieren.

    • Mount the data disks on Azure VMs by using the UUID of the file system partition. Um die UUID des Dateisystems zu ermitteln, führen Sie den blkid Befehl aus. Weitere Informationen zur Syntax erhalten Sie durch Ausführen des Befehls „man blkid“. Beispiel für den UUID-Eintrag in der Datei "fstab":

      UUID=<UUID number here>  /data      xfs    defaults,nofail 0  0
      
    • Verwenden Sie die Option nofail in den Dateisystemeinträgen (Datenlaufwerke), damit der Startvorgang auch dann fortgesetzt werden kann, wenn in den Partitionen der entsprechenden Einträge Fehler auftreten. Mit der Option „nofail“ können Sie sicherstellen, dass der virtuelle Computer auch dann gestartet wird, wenn das Dateisystem beschädigt oder beim Start nicht vorhanden ist.

  3. Speichern Sie die Änderungen an der Datei „fstab“.

  4. Verwenden Sie am besten mount -a, nachdem Sie Änderungen an den fstab-Einträgen vorgenommen haben. Dadurch wird die fstab-Konfiguration erneut ausgeführt und die Benutzer werden auf vorhandene Syntax- oder Eingabefehler hingewiesen.

  5. Nachdem die Syntax und die Einträge überprüft wurden, starten Sie den virtuellen Computer mit dem folgenden Befehl neu:

    reboot -f
    
  6. Wenn die Auskommentierung oder Korrektur der Einträge erfolgreich war, sollte das System eine Bash-Eingabeaufforderung im Portal erreichen. Überprüfen Sie, ob Sie eine Verbindung mit der VM herstellen können.

    Hinweis

    Sie können auch den Befehl verwenden, der ctrl+x auch den virtuellen Computer neu startet.

Reparieren des virtuellen Computers im Offlinestatus

Wenn der zugriff auf die serielle VM-Konsole nicht verfügbar ist, besteht eine alternative Lösung darin, den virtuellen Computer offline zu reparieren. Es gibt zwei Möglichkeiten, einen Offline-Ansatz zu verfolgen:

Verwendung von Azure Linux Auto Repair (ALAR)

Azure Linux Auto Repair (ALAR)-Skripts sind Teil der vm-Reparaturerweiterung, die unter Verwendung von Azure Linux Auto Repair (ALAR) beschrieben wird, um eine Linux-VM zu reparieren. ALAR deckt die Automatisierung mehrerer Reparaturszenarien ab, einschließlich /etc/fstab Problemen.

Die ALAR-Skripts verwenden die Reparaturerweiterung repair-button , um fstab-Probleme zu beheben, indem Sie angeben --button-command fstab. Dieser Parameter löst die automatisierte Wiederherstellung aus. Implementieren Sie die folgenden Schritte zum Automatisieren von Fstab-Fehlern über den Offline-ALAR-Ansatz:

az extension add -n vm-repair
az extension update -n vm-repair
az vm repair repair-button --button-command 'fstab' --verbose --resource-group $RGNAME --name $VMNAME

Hinweis

Ersetzen Sie den Ressourcengruppennamen $RGTEST und den VM-Namen $VMNAME entsprechend.

  • Das Reparatur-VM-Skript in Verbindung mit dem ALAR-Skript erstellt vorübergehend eine Ressourcengruppe, eine Reparatur-VM und eine Kopie des Betriebssystemdatenträgers der betroffenen VM. Die ursprüngliche /etc/fstab Datei wird gesichert und geändert, indem Datendateieinträge entfernt oder auskommentiert werden, die zum Starten des Systems nicht erforderlich sind.
  • Nachdem das Betriebssystem erfolgreich gestartet wurde, überprüfen und bearbeiten Sie die /etc/fstab Datei, um fehler zu beheben, die möglicherweise einen ordnungsgemäßen Neustart verhindert haben.
  • Schließlich löscht das repair-button Skript automatisch die Ressourcengruppe, die die Reparatur-VM enthält.

Verwenden der manuellen Methode

Wenn sowohl die serielle Konsole als auch die ALAR-Ansätze nicht möglich oder fehlschlagen, muss die Reparatur manuell ausgeführt werden. Befolgen Sie die hier beschriebenen Schritte, um den Betriebssystemdatenträger manuell an eine Wiederherstellungs-VM anzuhängen und den Betriebssystemdatenträger zurück in die ursprüngliche VM zu tauschen:

Sobald der Betriebssystemdatenträger erfolgreich an die Wiederherstellungs-VM angeschlossen ist, folgen Sie den detaillierten Chroot-Anweisungen, um die Dateisysteme des angeschlossenen Betriebssystemlaufwerks einzuhängen und zu chrooten. Implementieren Sie dann die Schritte zur Problembehandlung von fstab, um geeignete Änderungen an der Datei "fstab" des problematischen Betriebssystemdatenträgers vorzunehmen.

Kontaktieren Sie uns für Hilfe

Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.