Verwenden von Azure Linux Auto Repair (ALAR) zum Beheben eines Fehlers einer Linux-VM
Gilt für: ✔️ Virtuelle Linux-Computer
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_netvsc
und hv_storvsc
dem Bild hinzu.
Initrd-bezogene Startprobleme können als die folgenden protokollierten Symptome auftreten.
In beiden Fällen werden die folgenden Informationen protokolliert, bevor die Fehlereinträge protokolliert werden.
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 SYSLOG
konfigurierte 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.
Wichtig
Diese Aktion ändert den Sicherheitsstatus des virtuellen Computers, indem die Konfiguration des Überwachungsdaemons geändert wird, sodass das Problem beim Herunterfahren des virtuellen Computers behoben werden kann. Sobald der virtuelle Computer ausgeführt und darauf zugegriffen werden kann, müssen Sie die Konfiguration des Überwachungsdaemons auf den ursprünglichen Zustand zurücksetzen. Zu diesem Zweck wird eine Sicherung der Datei auditd.conf in /etc/audit durch die ALAR-Aktion erstellt.
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 lautet linux-alar2
. Führen Sie die folgenden Schritte aus, um eine Linux-VM mithilfe eines ALAR-Skripts zu beheben:
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
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
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ürRESCUE-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, zinitrd
. B. oderfstab
.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.