Riparare una macchina virtuale Linux usando i comandi di riparazione della macchina virtuale di Azure

Si applica a: ✔️ macchine virtuali Linux

Se nella macchina virtuale (VM) Linux in Azure viene rilevato un errore di avvio o del disco, potrebbe essere necessario eseguire alcuni passaggi per la risoluzione dei problemi sul disco stesso. Un esempio comune è un aggiornamento di un'applicazione non riuscito che impedisce il corretto avvio della VM. Questo articolo illustra come usare i comandi di riparazione della macchina virtuale di Azure per connettere il disco a un'altra macchina virtuale Linux, in modo da risolvere eventuali errori, e quindi ricreare la macchina virtuale originale.

Importante

  • Gli script in questo articolo si applicano solo alle VM che usano Azure Resource Manager.
  • Per l'esecuzione dello script è necessaria la connettività in uscita dalla macchina virtuale (porta 443).
  • È possibile eseguire un solo script alla volta.
  • Non è possibile annullare uno script in esecuzione.
  • Il tempo massimo in cui può essere eseguito uno script è 90 minuti, dopo di che si verifica il timeout.
  • Non modificare i tag creati nella macchina virtuale di ripristino. I tag sono necessari per il corretto funzionamento del comando restore.
  • Per le macchine virtuali che usano Crittografia dischi di Azure, sono supportati solo i dischi gestiti crittografati con crittografia a passaggio singolo (con o senza kek).

Panoramica del processo di riparazione

È ora possibile usare i comandi di riparazione della macchina virtuale di Azure per modificare il disco del sistema operativo per una macchina virtuale e non è più necessario eliminare e ricreare la macchina virtuale.

Seguire questa procedura per risolvere il problema della macchina virtuale:

  1. Avviare Azure Cloud Shell
  2. Eseguire az extension add/update
  3. Eseguire az vm repair create
  4. Eseguire az vm repair run o eseguire i passaggi di mitigazione.
  5. Eseguire az vm repair restore

Per visualizzare tutti i comandi e i parametri di ripristino delle macchine virtuali disponibili, vedere az vm repair.

Per eseguire i comandi, è necessario un ruolo in grado di creare i tipi di risorse seguenti nella sottoscrizione:

  • gruppi di risorse
  • Macchine virtuali
  • Tag delle risorse
  • Reti virtuali
  • Gruppi di sicurezza di rete
  • Interfacce di rete
  • Dischi
  • Indirizzi IP pubblici (facoltativo)

Esempio di processo di riparazione

  1. Avviare Azure Cloud Shell

    Azure Cloud Shell è una shell interattiva gratuita che può essere usata per eseguire la procedura di questo articolo. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account. Se si esegue uno script di ripristino che richiederà più di 20 minuti, è preferibile eseguire i comandi in locale. Per eseguire i comandi in locale, è necessaria l'interfaccia della riga di comando di Azure versione 2.0.67 o successiva. Eseguire az --version per trovare la versione. Se è necessario installare o aggiornare l'interfaccia della riga di comando, vedere Installare l'interfaccia della riga di comando di Azure.

    Per aprire Cloud Shell, selezionare Prova nell'angolo superiore destro di un blocco di codice. È anche possibile aprire Cloud Shell in una scheda separata del browser visitando https://shell.azure.com.

    Selezionare Copia per copiare i blocchi di codice, quindi incollare il codice in Cloud Shell e premere INVIO per eseguirli.

    Se si preferisce installare e usare l'interfaccia della riga di comando in locale, questa guida introduttiva richiede l'interfaccia della riga di comando di Azure versione 2.0.67 o successiva. Eseguire az --version per trovare la versione. Se è necessario installare o aggiornare l'interfaccia della riga di comando, vedere Installare l'interfaccia della riga di comando di Azure.

    Se è necessario accedere a Cloud Shell con un account diverso da quello attualmente connesso al portale di Azure con è possibile usare az login az login reference. Per passare da una sottoscrizione all'altra associata all'account, è possibile usare az account set --subscription az account set reference.

  2. Se si usano i comandi az vm repair per la prima volta, aggiungere l'estensione dell'interfaccia della riga di comando per la riparazione della macchina virtuale.

    az extension add -n vm-repair
    

    Se in precedenza sono stati usati i comandi az vm repair, applicare tutti gli aggiornamenti all'estensione per la riparazione della macchina virtuale.

    az extension update -n vm-repair
    
  3. Eseguire az vm repair create. Questo comando creerà una copia del disco del sistema operativo per la macchina virtuale non funzionale, creerà una macchina virtuale di ripristino in un nuovo gruppo di risorse e allegherà la copia del disco del sistema operativo. La macchina virtuale di ripristino avrà le stesse dimensioni e la stessa area della macchina virtuale non funzionale specificata. Il gruppo di risorse e il nome della VM usati in tutti i passaggi varranno per la VM non funzionale. Se la macchina virtuale usa Crittografia dischi di Azure, usare --unlock-encrypted-vm per sbloccare il disco crittografato in modo che sia accessibile quando è collegato alla macchina virtuale di ripristino. Per altre informazioni, vedere verificare che l'ambiente del servizio Di azure sia abilitato sul disco.

Importante

I comandi di esecuzione e ripristino richiedono che tutti gli input vengano immessi usando lo stesso caso usato nel comando di creazione, prendere nota o fare riferimento ai tag nella macchina virtuale di ripristino per vedere cosa è stato usato.

Esempio di riparazione della macchina virtuale

az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password password1234 --verbose
  1. Eseguire az vm repair run. Questo comando eseguirà lo script di ripristino specificato sul disco collegato tramite la macchina virtuale di ripristino. Se la guida alla risoluzione dei problemi in uso viene specificata con un id di esecuzione, usarla qui. In caso contrario, è possibile usare az vm repair list-scripts per visualizzare gli script di ripristino disponibili. Il gruppo di risorse e il nome della VM usati qui sono per la VM non funzionale usata nel passaggio 3. Altre informazioni sugli script di ripristino sono disponibili nella libreria di script di ripristino.

    az vm repair run -g MyResourceGroup -n MyVM --run-on-repair --run-id lin-hello-world --verbose
    

    Facoltativamente, è possibile eseguire qualsiasi procedura di mitigazione manuale necessaria usando la macchina virtuale di ripristino, quindi procedere con il passaggio 5.

  2. Eseguire az vm repair restore. Questo comando scambia il disco del sistema operativo riparato con il disco del sistema operativo originale della macchina virtuale. Il gruppo di risorse e il nome della VM usati qui sono per la VM non funzionale usata nel passaggio 3.

    az vm repair restore -g MyResourceGroup -n MyVM --verbose
    

Verificare e abilitare la diagnostica di avvio

L'esempio seguente abilita l'estensione di diagnostica nella macchina virtuale denominata myVMDeployed nel gruppo di risorse myResourceGroup:

Interfaccia della riga di comando di Azure

az vm boot-diagnostics enable --name myVMDeployed --resource-group myResourceGroup --storage https://mystor.blob.core.windows.net/

Passaggi successivi

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.