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:
- Avviare Azure Cloud Shell
- Eseguire az extension add/update
- Eseguire az vm repair create
- Eseguire az vm repair run o eseguire i passaggi di mitigazione.
- 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
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 usareaz account set --subscription
az account set reference.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
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
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 usareaz 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.
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
- Se si sono verificati problemi durante la connessione alla macchina virtuale, vedere Risolvere i problemi di connessione con Desktop remoto di una macchina virtuale di Azure.
- Per problemi relativi all'accesso alle applicazioni in esecuzione nella macchina virtuale, vedere Risolvere i problemi di connettività delle applicazioni nelle macchine virtuali in Azure.
- Per altre informazioni sull'uso di Resource Manager, vedere Panoramica di Azure Resource Manager.
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.