Usare Il ripristino automatico di Linux di Azure (ALAR) per correggere una macchina virtuale Linux

Si applica a: ✔️ macchine virtuali Linux

La volta successiva che è necessario eseguire un ripristino nella macchina virtuale Linux di Azure, è possibile automatizzare il processo inserendo gli script di Ripristino automatico linux di Azure (ALAR) per lavorare automaticamente. Non è più necessario eseguire il processo manualmente. Questi script semplificano il processo di ripristino e consentono anche agli utenti inesperti di ripristinare facilmente la macchina virtuale Linux.

ALAR usa l'estensione di ripristino della macchina virtuale descritta in Ripristinare una macchina virtuale Linux usando i comandi di ripristino della macchina virtuale di Azure.

ALAR illustra gli scenari di riparazione seguenti:

  • Errore di sintassi /etc/fstab non valido nel disco mancante
  • Riga initrd danneggiata o mancante nell'oggetto /boot/grub/grub.cfg
  • L'ultimo kernel installato non è avviabile
  • La console seriale e la serie GRUB non sono configurate correttamente o mancano
  • Installazione o configurazione GRUB/EFI danneggiata

Azioni ALAR

fstab

Questa azione rimuove tutte le righe nel file /etc/fstab che non sono necessarie per avviare un sistema. Prima di tutto, viene creata una copia del file originale per riferimento. All'avvio del sistema operativo, l'amministratore può modificare il file fstab per correggere eventuali errori che non hanno consentito un riavvio del sistema in precedenza.

Per altre informazioni sui problemi relativi a un file /etc/fstab in formato non valido, vedere Risolvere i problemi di avvio di una macchina virtuale Linux a causa di errori fstab.

kernel

Questa azione modifica il kernel predefinito. Lo script sostituisce il kernel interrotto con la versione installata in precedenza.

Per altre informazioni sui messaggi che potrebbero essere connessi alla console seriale per gli eventi di avvio correlati al kernel, vedere Come ripristinare una macchina virtuale Linux di Azure da problemi di avvio correlati al kernel.

initrd

Questa azione può essere usata per correggere un initrd o initramfs danneggiato o creato in modo non corretto.

Per ottenere la corretta creazione di initrd o initramfs, aggiungere i moduli hv_vmbus, hv_netvsce hv_storvsc all'immagine.

I problemi di avvio correlati a initrd possono apparire come i seguenti sintomi registrati.

Mancata sincronizzazione di VFSNessun lavoro trovato init

In entrambi i casi, le informazioni seguenti vengono registrate prima della registrazione delle voci di errore.

Decompressione non riuscita

serialconsole

Questa azione corregge una configurazione della console seriale non corretta o non corretta per il kernel Linux o GRUB. È consigliabile eseguire questa azione nei casi seguenti:

  • All'avvio della macchina virtuale non viene visualizzato alcun menu GRUB.
  • Nessuna informazione correlata al sistema operativo viene scritta nella console seriale.

grubfix

Questa azione può essere usata per reinstallare GRUB e rigenerare il file grub.cfg .

efifix

Questa azione può essere usata per reinstallare il software necessario per l'avvio da una macchina virtuale GEN2. Viene rigenerato anche il file grub.cfg .

auditd

Se la macchina virtuale viene arrestata immediatamente all'avvio a causa della configurazione del daemon di controllo, usare questa azione. Questa azione modifica la configurazione del daemon di controllo (nel file /etc/audit/auditd.conf ) modificando il HALT valore configurato per i action parametri in SYSLOG, che non forza l'arresto del sistema. In un ambiente LVM (Logical Volume Manager), se il volume logico che contiene i log di controllo è pieno e nel gruppo di volumi è disponibile spazio, il volume logico verrà esteso anche del 10% delle dimensioni correnti. Tuttavia, se non si usa un ambiente LVM o non è disponibile spazio, viene modificato solo il file di configurazione.

Importante

Questa azione modificherà il comportamento di sicurezza della macchina virtuale modificando la configurazione del daemon di controllo in modo che il problema di arresto della macchina virtuale possa essere risolto. Quando la macchina virtuale è in esecuzione e accessibile, è necessario ripristinare lo stato originale della configurazione del daemon di controllo. A questo scopo, un backup del file auditd.conf viene creato in /etc/audit dall'azione ALAR.

Come usare ALAR

Gli script ALAR utilizzano il comando Ripara estensione run e la relativa opzione --run-id. Il valore dell'opzione --run-id per il ripristino automatico è linux-alar2. Per correggere una macchina virtuale Linux usando uno script ALAR, seguire questa procedura:

  1. Creare una macchina virtuale di ripristino:

    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. Eseguire uno script con una delle azioni ALAR nella macchina virtuale di ripristino:

    az vm repair run --verbose -g RG-NAME -n VM-NAME --run-id linux-alar2 --parameters ACTION --run-on-repair
    
  3. Scambiare i dischi del sistema operativo ed eliminare le risorse temporanee:

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

    Note

    I dischi originali e nuovi non verranno eliminati.

Ecco le spiegazioni per i parametri nei comandi precedenti:

  • RG-NAME: nome del gruppo di risorse contenente la macchina virtuale interrotta.

  • VM-NAME: nome della macchina virtuale interrotta.

  • RESCUE-UID: l'utente creato nella macchina virtuale di ripristino per l'accesso. È l'equivalente dell'utente creato in una nuova macchina virtuale nel portale di Azure.

  • RESCUE-PASS: password per RESCUE-UID, racchiusa tra virgolette singole. Ad esempio: 'password!234'.

  • DISK-COPY: nome della copia del disco del sistema operativo che verrà creata dalla macchina virtuale interrotta.

  • ACTION: un'attività con script da eseguire, ad esempio initrd o fstab.

    Note

    È possibile passare più operazioni di ripristino singole o multiple. Per più operazioni, delinearle usando virgole senza spazi, ad esempio fstab,initrd.

Limitazione

Le macchine virtuali classiche non sono supportate.

Passaggi successivi

Se si verifica un bug o si vuole richiedere un miglioramento allo strumento ALAR, pubblicare un commento su GitHub.

È anche possibile trovare le informazioni più recenti sullo strumento ALAR in GitHub.

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.