Freigeben über


Verwenden von Azure Linux Auto Repair (ALAR) zum Beheben eines Fehlers einer Linux-VM

Gilt für: ✔️ Linux-VMs

Wenn Sie das nächste Mal eine Reparatur auf Ihrem virtuellen Azure Linux-Computer (VM) ausführen müssen, können Sie den Auftrag automatisieren, indem Sie die Azure Linux Auto Repair (ALAR)-Skripts für Sie einsetzen. Sie müssen den Auftrag nicht mehr manuell ausführen. Diese Skripts vereinfachen den Wiederherstellungsprozess und ermöglichen es auch unerfahrenen Benutzern, ihre Linux-VM einfach wiederherzustellen.

ALAR verwendet die VM-Reparaturerweiterung, die unter Reparieren einer Linux-VM mithilfe der Reparaturbefehle des virtuellen Azure-Computers beschrieben wird.

ALAR behandelt die folgenden Reparaturszenarien:

  • Falsch formatierter /etc/fstab-Syntaxfehler fehlender Datenträger
  • Beschädigte initrd oder fehlende initrd Zeile in der /boot/grub/grub.cfg
  • Der zuletzt installierte Kernel kann nicht gestartet werden.
  • Serielle Konsole und GRUB-Serie sind falsch konfiguriert oder fehlen
  • GRUB/EFI-Installation oder Konfiguration beschädigt

Die ALAR-Aktionen

fstab

Diese Aktion entfernt alle Zeilen in der Datei "/etc/fstab ", die zum Starten eines Systems nicht benötigt werden. Zunächst wird eine Kopie der Originaldatei zur Referenz erstellt. Wenn das Betriebssystem gestartet wird, kann der Administrator den fstab bearbeiten, um alle Fehler zu beheben, die zuvor keinen Neustart des Systems zugelassen haben.

Weitere Informationen zu Problemen mit einer falsch formatierten /etc/fstab-Datei finden Sie unter Problembehandlung beim Starten von Linux-VM, da fstab-Fehler auftreten.

kernel

Diese Aktion ändert den Standardkernkern. Das Skript ersetzt den fehlerhaften Kernel durch die zuvor installierte Version.

Weitere Informationen zu Nachrichten, die möglicherweise in der seriellen Konsole für Kernel-bezogene Startereignisse angemeldet sind, finden Sie unter How to recover an Azure Linux virtual machine from kernel-related boot issues.

initrd

Diese Aktion kann verwendet werden, um eine Initrd- oder Initramfs zu beheben, die entweder beschädigt oder falsch erstellt wurde.

Um die Initrd- oder Initramfs korrekt zu erhalten, fügen Sie die Module hv_vmbus, , hv_netvscund hv_storvsc dem Bild hinzu.

Initrd-bezogene Startprobleme können als die folgenden protokollierten Symptome auftreten.

VFS wird nicht synchronisiertEs wurde kein Arbeitsinit gefunden.

In beiden Fällen werden die folgenden Informationen protokolliert, bevor die Fehlereinträge protokolliert werden.

Fehler beim Entpacken

serialconsole

Diese Aktion korrigiert eine falsche oder falsch formatierte serielle Konsolenkonfiguration für den Linux-Kernel oder GRUB. Es wird empfohlen, diese Aktion in den folgenden Fällen auszuführen:

  • Beim Start des virtuellen Computers wird kein GRUB-Menü angezeigt.
  • In die serielle Konsole werden keine betriebssystembezogenen Informationen geschrieben.

grubfix

Diese Aktion kann verwendet werden, um GRUB neu zu installieren und die Datei grub.cfg neu zu generieren.

efifix

Diese Aktion kann verwendet werden, um die erforderliche Software neu zu installieren, um von einer GEN2-VM zu starten. Die Datei grub.cfg wird ebenfalls neu generiert.

überwacht

Wenn Ihre VM aufgrund der Konfiguration des Überwachungsdaemons sofort heruntergefahren wird, verwenden Sie diese Aktion. Diese Aktion ändert die Konfiguration des Überwachungsdaemons (in der Datei "/etc/audit/auditd.conf "), indem der HALT für alle action Parameter SYSLOGkonfigurierte Wert geändert wird, wodurch das System nicht heruntergefahren werden kann. Wenn in einer LVM-Umgebung (Logical Volume Manager) das logische Volume, das die Überwachungsprotokolle enthält, voll ist und in der Volumegruppe speicherplatz vorhanden ist, wird das logische Volume auch um 10 % der aktuellen Größe erweitert. Wenn Sie jedoch keine LVM-Umgebung verwenden oder kein Verfügbarer Speicherplatz vorhanden ist, wird nur die Konfigurationsdatei geändert.

Verwenden von ALAR

Die ALAR-Skripts verwenden den Reparaturerweiterungsbefehl run und dessen --run-id Option. Der Wert der --run-id Option für die automatisierte Wiederherstellung lautet linux-alar2. Führen Sie die folgenden Schritte aus, um eine Linux-VM mithilfe eines ALAR-Skripts zu beheben:

  1. Erstellen sie einen virtuellen Rettungscomputer:

    az vm repair create --verbose -g RG-NAME -n VM-NAME --repair-username RESCUE-UID --repair-password RESCUE-PASS --copy-disk-name DISK-COPY
    
  2. Führen Sie ein Skript mit einer der ALAR-Aktionen auf dem virtuellen Rettungscomputer aus:

    az vm repair run --verbose -g RG-NAME -n VM-NAME --run-id linux-alar2 --parameters ACTION --run-on-repair
    
  3. Tauschen Sie die Betriebssystemdatenträger aus, und löschen Sie die temporären Ressourcen:

    az vm repair restore --verbose -g RG-NAME -n VM-NAME 
    

    Notiz

    Die ursprünglichen und neuen Datenträger werden nicht gelöscht.

Hier sind Erläuterungen für die Parameter in den oben aufgeführten Befehlen:

  • RG-NAME: Der Name der Ressourcengruppe, die den fehlerhaften virtuellen Computer enthält.

  • VM-NAME: Der Name des fehlerhaften virtuellen Computers.

  • RESCUE-UID: Der Benutzer, der auf der Reparatur-VM für die Anmeldung erstellt hat. Es entspricht dem Benutzer, der auf einem neuen virtuellen Computer im Azure-Portal erstellt wurde.

  • RESCUE-PASS: Das Kennwort für RESCUE-UID, das in einfache Anführungszeichen eingeschlossen ist. Beispiel: 'password!234'

  • DISK-COPY: Der Name der Betriebssystemdatenträgerkopie, die von der fehlerhaften VM erstellt wird.

  • ACTION: Eine skriptierte Aufgabe, die ausgeführt werden soll, z initrd . B. oder fstab.

    Notiz

    Sie können einzelne oder mehrere Wiederherstellungsvorgänge übergeben. Bei mehreren Vorgängen können Sie sie mithilfe von Kommas ohne Leerzeichen , z fstab,initrd. B. , delineieren.

Einschränkung

Klassische VMs werden nicht unterstützt.

Nächste Schritte

Wenn ein Fehler aufgetreten ist oder eine Erweiterung des ALAR-Tools angefordert werden soll, posten Sie einen Kommentar auf GitHub.

Sie finden auch die neuesten Informationen zum ALAR-Tool auf GitHub.

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.