Ripristinare una macchina virtuale Linux usando i comandi di riparazione di macchine virtuali di Azure
Si applica a: ✔️ macchine virtuali Linux
Se la macchina virtuale (VM) Linux in Azure rileva un errore di avvio o del disco, potrebbe essere necessario eseguire la mitigazione sul disco stesso. Un esempio comune potrebbe essere un aggiornamento dell'applicazione non riuscito che impedisce alla macchina virtuale di avviarsi correttamente. Questo articolo descrive in dettaglio come usare i comandi di riparazione della macchina virtuale di Azure per connettere il disco a un'altra macchina virtuale Linux per correggere eventuali errori, quindi ricostruire la macchina virtuale originale.
Importante
- Gli script in questo articolo si applicano solo alle macchine virtuali che usano Azure Resource Manager.
- La connettività in uscita dalla macchina virtuale (porta 443) è necessaria per l'esecuzione dello script.
- È possibile eseguire un solo script alla volta.
- Uno script in esecuzione non può essere annullato.
- Il tempo massimo di esecuzione di uno script è di 90 minuti, al termine dei quali terminerà l'esecuzione.
- Non modificare i tag creati nella VM di riparazione. I tag sono necessari per il corretto funzionamento del comando di ripristino.
- 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 ripristino 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.
Segui questi passaggi per risolvere il problema della VM:
- Avviare Azure Cloud Shell
- Eseguire az extension add/update
- Eseguire az vm repair create
- Eseguire az vm repair run, o eseguire passaggi di mitigazione.
- Eseguire az vm repair restore
Per visualizzare tutti i comandi e i parametri di riparazione VM disponibili, vedere az vm repair.
Per eseguire i comandi, è necessario un ruolo in grado di creare i seguenti tipi di risorse nella sottoscrizione:
- Gruppi di risorse
- Macchine virtuali
- Tag delle risorse
- Reti virtuali
- Gruppi di sicurezza di rete
- Interfacce di rete
- Dischi
- Indirizzi IP pubblici (opzionale)
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 gli strumenti comuni di Azure preinstallati e configurati per l'uso con il tuo account. Se esegui uno script di riparazione che richiede più di 20 minuti, potresti preferire eseguire i comandi localmente. Per eseguire i comandi in locale, è necessaria la versione 2.0.67 o successiva dell'interfaccia della riga di comando di Azure. Eseguire
az --version
per trovare la versione. Se è necessario installare o aggiornare l'interfaccia della riga di comando di Azure, vedere Installare l'interfaccia della riga di comando di Azure.Per aprire Cloud Shell, seleziona Prova nell'angolo in alto a destra di un blocco di codice. È anche possibile aprire Cloud Shell in una scheda separata del browser visitando https://shell.azure.com.
Seleziona Copia per copiare i blocchi di codice, quindi incolla il codice in Cloud Shell e seleziona Invio per eseguirlo.
Se preferisci installare e usare l'interfaccia della riga di comando in locale, questo argomento di avvio rapido 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 di Azure, 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 è la prima volta che si utilizzano i comandi
az vm repair
, aggiungere l'estensione CLI vm-repair.az extension add -n vm-repair
Se in precedenza sono stati utilizzati i comandi
az vm repair
, applicare eventuali aggiornamenti all'estensione vm-repair.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 funzionante, creerà una macchina virtuale di riparazione in un nuovo gruppo di risorse e collegherà la copia del disco del sistema operativo. La VM di riparazione avrà le stesse dimensioni e la stessa area della VM non funzionante specificata. Il gruppo di risorse e il nome della macchina virtuale usati in tutti i passaggi saranno per la macchina virtuale non funzionante. Se la macchina virtuale di Azure utilizza la crittografia del disco, utilizzare--unlock-encrypted-vm
per sbloccare il disco crittografato in modo che sia accessibile quando è collegato alla macchina virtuale di ripristino. Per ulteriori informazioni, consulta conferma che ADE è abilitato sul disco.
Importante
I comandi di esecuzione e ripristino richiederanno l'immissione di tutti gli input utilizzando lo stesso caso utilizzato nel comando di creazione, prendere nota o fare riferimento ai tag sulla VM di riparazione per vedere cosa è stato utilizzato.
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 riparazione specificato sul disco collegato tramite la VM di riparazione. Se la guida alla risoluzione dei problemi che stai utilizzando specifica un run-id, usalo qui. Altrimenti, è possibile utilizzareaz vm repair list-scripts
per visualizzare gli script di riparazione disponibili. Il gruppo di risorse e il nome della macchina virtuale usati qui sono per la macchina virtuale non funzionante usata nel passaggio 3. Ulteriori informazioni sugli script di riparazione sono disponibili nella libreria degli script di riparazione.az vm repair run -g MyResourceGroup -n MyVM --run-on-repair --run-id lin-hello-world --verbose
Facoltativamente, puoi eseguire qualsiasi passaggio di mitigazione manuale necessario utilizzando la macchina virtuale di riparazione, quindi procedere al passaggio 5.
Eseguire
az vm repair restore
. Questo comando sostituirà il disco del sistema operativo riparato con il disco del sistema operativo originale della VM. Il gruppo di risorse e il nome della macchina virtuale usati qui sono per la macchina virtuale non funzionante 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 sulla macchina virtuale denominata myVMDeployed
nel gruppo di risorse denominato 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 verificano problemi di connessione alla macchina virtuale, vedere Risolvere i problemi relativi alle connessioni RDP a una macchina virtuale di Azure.
- Per problemi con l'accesso alle applicazioni in esecuzione nella macchina virtuale, vedere Risolvere i problemi di connettività delle applicazioni nelle macchine virtuali in Azure.
- Per ulteriori 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.