Azure Linux Auto Repair (ALAR) gebruiken om een Virtuele Linux-machine te herstellen
Van toepassing op: ✔️ Virtuele Linux-machines
De volgende keer dat u een reparatie moet uitvoeren op uw virtuele Azure Linux-machine (VM), kunt u de taak automatiseren door de Azure Linux Auto Repair-scripts (ALAR) voor u te laten werken. U hoeft de taak niet meer handmatig uit te voeren. Deze scripts vereenvoudigen het herstelproces en stellen zelfs onervaren gebruikers in staat om hun Linux-VM eenvoudig te herstellen.
ALAR maakt gebruik van de VM-herstelextensie die wordt beschreven in Een Virtuele Linux-machine herstellen met behulp van de herstelopdrachten van virtuele Azure-machines.
ALAR behandelt de volgende herstelscenario's:
- Ongeldige /etc/fstab-syntaxisfout ontbrekende schijf
- Beschadigde initrd of ontbrekende initrd lijn in de /boot/grub/grub.cfg
- De laatst geïnstalleerde kernel kan niet worden opgestart
- Seriële console en GRUB serial zijn onjuist geconfigureerd of ontbreken
- GRUB/EFI-installatie of configuratie beschadigd
De ALAR-acties
fstab
Met deze actie worden alle regels in het /etc/fstab-bestand verwijderd die niet nodig zijn om een systeem op te starten. Eerst wordt een kopie van het oorspronkelijke bestand ter referentie gemaakt. Wanneer het besturingssysteem wordt gestart, kan de beheerder de fstab bewerken om eventuele fouten te corrigeren waardoor het systeem niet eerder opnieuw is opgestart.
Zie Opstartproblemen met linux-VM's oplossen vanwege fstab-fouten voor meer informatie over problemen met een onjuist ingedeeld /etc/fstab-bestand.
kern
Met deze actie wordt de standaardkernel gewijzigd. Het script vervangt de verbroken kernel door de eerder geïnstalleerde versie.
Voor meer informatie over berichten die mogelijk zijn aangemeld op de seriële console voor opstartgebeurtenissen die betrekking hebben op kernels, raadpleegt u Hoe u een virtuele Azure Linux-machine kunt herstellen na opstartproblemen met kernels.
initrd
Deze actie kan worden gebruikt om een initrd of initramfs op te lossen die beschadigd of onjuist is gemaakt.
Als u de initrd of initramfs correct wilt ophalen, voegt u de modules hv_vmbus
en hv_storvsc
hv_netvsc
de afbeelding toe.
Initrd-gerelateerde opstartproblemen kunnen worden weergegeven als de volgende geregistreerde symptomen.
In beide gevallen wordt de volgende informatie vastgelegd voordat de foutvermeldingen worden geregistreerd.
serialconsole
Deze actie corrigeert een onjuiste of onjuiste seriële consoleconfiguratie voor de Linux-kernel of GRUB. We raden u aan deze actie uit te voeren in de volgende gevallen:
- Er wordt geen GRUB-menu weergegeven bij het opstarten van de VM.
- Er wordt geen informatie over het besturingssysteem naar de seriële console geschreven.
grubfix
Deze actie kan worden gebruikt om GRUB opnieuw te installeren en het grub.cfg-bestand opnieuw te genereren.
efifix
Deze actie kan worden gebruikt om de vereiste software opnieuw te installeren om vanaf een GEN2-VM op te starten. Het grub.cfg-bestand wordt ook opnieuw gegenereerd.
gecontroleerd
Als uw VIRTUELE machine onmiddellijk wordt afgesloten na het opstarten vanwege de configuratie van de controle-daemon, gebruikt u deze actie. Met deze actie wijzigt u de configuratie van de audit-daemon (in het bestand /etc/audit/auditd.conf ) door de HALT
waarde te wijzigen die is geconfigureerd voor parameters action
SYSLOG
in, waardoor het systeem niet wordt afgesloten. Als in een LVM-omgeving (Logical Volume Manager) het logische volume dat de auditlogboeken bevat vol is en er ruimte beschikbaar is in de volumegroep, wordt het logische volume ook uitgebreid met 10% van de huidige grootte. Als u echter geen LVM-omgeving gebruikt of er geen beschikbare ruimte is, wordt alleen het configuratiebestand gewijzigd.
Belangrijk
Met deze actie wordt het beveiligingspostuur van de VIRTUELE machine gewijzigd door de configuratie van de controledaemon te wijzigen, zodat het probleem met het afsluiten van de VM kan worden opgelost. Zodra de VIRTUELE machine wordt uitgevoerd en toegankelijk is, moet u de configuratie van de controledaemon terugzetten naar de oorspronkelijke status. Voor dit doel wordt een back-up van het bestand auditd.conf gemaakt in /etc/audit door de ALAR-actie.
ALAR gebruiken
De ALAR-scripts gebruiken de opdracht voor de reparatie-extensie run
en --run-id
de bijbehorende optie. De waarde van de --run-id
optie voor het geautomatiseerde herstel is linux-alar2
. Volg deze stappen om een Virtuele Linux-machine op te lossen met behulp van een ALAR-script:
Een reddings-VM maken:
az vm repair create --verbose -g RG-NAME -n VM-NAME --repair-username RESCUE-UID --repair-password RESCUE-PASS --copy-disk-name DISK-COPY
Voer een script uit met een van de ALAR-acties op de herstel-VM:
az vm repair run --verbose -g RG-NAME -n VM-NAME --run-id linux-alar2 --parameters ACTION --run-on-repair
Wissel de besturingssysteemschijven en verwijder de tijdelijke resources:
az vm repair restore --verbose -g RG-NAME -n VM-NAME
Notitie
De oorspronkelijke en nieuwe schijven worden niet verwijderd.
Hier volgen verklaringen voor de parameters in de bovenstaande opdrachten:
RG-NAME
: De naam van de resourcegroep met de verbroken VM.VM-NAME
: De naam van de verbroken VM.RESCUE-UID
: De gebruiker die is gemaakt op de herstel-VM voor aanmelding. Dit is het equivalent van de gebruiker die is gemaakt op een nieuwe VIRTUELE machine in Azure Portal.RESCUE-PASS
: Het wachtwoord voorRESCUE-UID
tussen enkele aanhalingstekens. Voorbeeld:'password!234'
.DISK-COPY
: De naam van de kopie van de besturingssysteemschijf die wordt gemaakt op basis van de verbroken VM.ACTION
: Een scripttaak die moet worden uitgevoerd, zoalsinitrd
offstab
.Notitie
U kunt één of meerdere herstelbewerkingen doorgeven. Voor meerdere bewerkingen kunt u deze afbakenen met komma's zonder spaties, zoals
fstab,initrd
.
Beperking
Klassieke VM's worden niet ondersteund.
Volgende stappen
Als u een fout ondervindt of een uitbreiding van het ALAR-hulpprogramma wilt aanvragen, plaatst u een opmerking op GitHub.
U vindt ook de meest recente informatie over het ALAR-hulpprogramma op GitHub.
Contacteer ons voor hulp
Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.