Share via


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

La prossima volta che è necessario eseguire un ripristino nella macchina virtuale (VM) Linux di Azure, è possibile automatizzare il processo inserendo gli script di ripristino automatico di Azure Linux (ALAR) in modo che funzionino 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 ripristino seguenti:

  • Errore di sintassi /etc/fstab non valido mancante disco
  • Initrd danneggiato o riga initrd mancante in /boot/grub/grub.cfg
  • L'ultimo kernel installato non è avviabile
  • La console seriale e la seriale GRUB non sono configurate correttamente o sono mancanti
  • 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. In primo luogo, viene creata una copia del file originale come riferimento. All'avvio del sistema operativo, l'amministratore può modificare 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 non valido, vedere Risolvere i problemi di avvio della macchina virtuale Linux perché errori fstab.

Kernel

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

Per altre informazioni sui messaggi che potrebbero essere registrati nella 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 creazione corretta di initrd o initramfs, aggiungere i moduli hv_vmbus, hv_netvsce hv_storvsc all'immagine.

I problemi di avvio correlati a Initrd possono essere visualizzati come i sintomi registrati seguenti.

Non è stata trovata la sincronizzazione di VFSNo working init

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

Disimballaggio non riuscito

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.
  • Nella console seriale non vengono scritte informazioni correlate al sistema operativo.

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. Anche il file grub.cfg viene rigenerato.

controllato

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 di Gestione volumi logici (LVM), se il volume logico che contiene i log di controllo è pieno e nel gruppo di volumi è disponibile spazio, anche il volume logico verrà esteso del 10% delle dimensioni correnti. Tuttavia, se non si usa un ambiente LVM o non è disponibile spazio, viene modificato solo il file di configurazione.

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 salvataggio:

    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 salvataggio:

    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 
    

    Nota

    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: la 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: attività con script da eseguire, ad initrd esempio o fstab.

    Nota

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

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.