Share via


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

Wenn Sie das nächste Mal eine Reparatur auf Ihrem virtuellen Linux-Computer (VM) in Azure ausführen müssen, können Sie den Auftrag automatisieren, indem Sie die Azure Linux Auto Repair-Skripts (ALAR) für Sie verwenden. 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 für virtuelle Azure-Computer beschrieben wird.

ALAR deckt die folgenden Reparaturszenarien ab:

  • Falsch formatierter /etc/fstab-Syntaxfehler fehlender Datenträger
  • Beschädigte initiale oder fehlende Initialisierungszeile in /boot/grub/grub.cfg
  • Zuletzt installierter Kernel kann nicht gestartet werden
  • Die serielle Konsole und die GRUB-Seriell 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 ursprünglichen Datei als 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 Behandeln von Problemen beim Starten von virtuellen Linux-Computern aufgrund von fstab-Fehlern.

Kernel

Durch diese Aktion wird der Standardkernels geändert. Das Skript ersetzt den fehlerhaften Kernel durch die zuvor installierte Version.

Weitere Informationen zu Meldungen, die möglicherweise in der seriellen Konsole für Kernel-bezogene Startereignisse protokolliert werden, finden Sie unter Wiederherstellen eines virtuellen Azure Linux-Computers nach Kernel-bezogenen Startproblemen.

Initrd

Diese Aktion kann verwendet werden, um ein initrd oder initramfs zu beheben, das entweder beschädigt oder falsch erstellt wurde.

Um die initrd- oder initramfs ordnungsgemäß zu erstellen, fügen Sie dem Image die Module hv_vmbus, hv_netvscund hv_storvsc hinzu.

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

VfS wird nicht synchronisiert: Keine funktionierende Initialisierung 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 Starten des virtuellen Computers wird kein GRUB-Menü angezeigt.
  • Es werden keine betriebssystembezogenen Informationen in die serielle Konsole geschrieben.

grubfix

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

efifix

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

Auditd

Wenn Ihre VM aufgrund der Konfiguration des Überwachungsdaemons sofort nach dem Start 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 konfigurierte Wert in SYSLOGgeändert wird, wodurch das Herunterfahren des Systems nicht erzwungen wird. Wenn in einer LVM-Umgebung (Logical Volume Manager) das logische Volume, das die Überwachungsprotokolle enthält, voll ist und in der Volumegruppe verfügbarer Speicherplatz vorhanden ist, wird das logische Volume ebenfalls 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-Skripte verwenden den Befehl repair extension run und seine Option --run-id. Der Wert der --run-id Option für die automatisierte Wiederherstellung ist linux-alar2. Führen Sie die folgenden Schritte aus, um eine Linux-VM mithilfe eines ALAR-Skripts zu beheben:

  1. Erstellen Sie eine Rettungs-VM:

    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 
    

    Hinweis

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

Hier finden Sie Erläuterungen zu den Parametern in den obigen 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 wurde. Dies entspricht dem Benutzer, der auf einer neuen VM 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 auf der fehlerhaften VM erstellt wird.

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

    Hinweis

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

Einschränkung

Klassische VMs werden nicht unterstützt.

Nächste Schritte

Wenn ein Fehler auftritt oder Sie eine Verbesserung des ALAR-Tools anfordern möchten, posten Sie einen Kommentar auf GitHub.

Die neuesten Informationen zum ALAR-Tool finden Sie auch 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.