Come usare la diagnostica di avvio per risolvere i problemi relativi alle macchine virtuali in Azure

Ci possono essere molte ragioni per cui una macchina virtuale entra in uno stato non avviabile. Per risolvere i problemi con le macchine virtuali create usando il modello di distribuzione di Resource Manager, puoi usare le funzionalità di debug seguenti: supporto dell'output della console e degli screenshot per le macchine virtuali di Azure.

Per le macchine virtuali Linux, è possibile visualizzare l'output del log della console dal portale. Azure consente di visualizzare uno screenshot della macchina virtuale da hypervisor, sia per le macchine virtuali Windows che per quelle Linux. Entrambe le funzionalità sono supportate per le macchine virtuali di Azure in tutte le aree. Nota: gli screenshot e l'output possono richiedere fino a 10 minuti per essere visualizzati nell'account di archiviazione.

È possibile selezionare l'opzione Diagnostica di avvio per visualizzare il registro e lo screenshot.

                             Screenshot della scheda Screenshot nella pagina Diagnostica di avvio del portale di Azure.                                           

Errori di avvio comuni

Abilita la diagnostica in una macchina virtuale creata usando il portale di Azure

La procedura seguente è per una macchina virtuale creata usando il modello di distribuzione di Resource Manager.

Nella scheda Gestione, nella sezione Monitoraggio, accertarsi che Diagnostica di avvio sia attivata. L'impostazione predefinita prevede che la diagnostica di avvio sia abilitata tramite un account di archiviazione gestito.

              Screenshot delle opzioni nella pagina di diagnostica di avvio della creazione della macchina virtuale                            

Nota

La funzione Diagnostica di avvio non supporta i tipi di account di archiviazione premium o con ridondanza della zona. Se usi l'account di archiviazione Premium per la diagnostica di avvio, potresti ricevere l'errore StorageAccountTypeNotSupported quando avvii la macchina virtuale.

Distribuzione da un modello di Azure Resource Manager

Se si esegue la distribuzione da un modello di Azure Resource Manager, passare alla risorsa della macchina virtuale e aggiungere la sezione del profilo di diagnostica. Imposta l'intestazione della versione dell'API su "2015-06-15" o successiva. L'ultima versione è "2018-10-01".

{
  "apiVersion": "2018-10-01",
  "type": "Microsoft.Compute/virtualMachines",
  … 

Il profilo di diagnostica consente di selezionare l'account di archiviazione in cui inserire questi log.

    "diagnosticsProfile": {
 "bootDiagnostics": {
 "enabled": true,
 "storageUri": "[concat('https://', parameters('newStorageAccountName'), '.blob.core.windows.net')]"
 }
    }
    }
}

Per ulteriori informazioni sulla distribuzione delle risorse tramite i modelli, vedere Avvio rapido: creazione e distribuzione di modelli di Azure Resource Manager tramite il portale di Azure.

Abilita la diagnostica di avvio sulla macchina virtuale esistente

Per abilitare la diagnostica di avvio su una macchina virtuale esistente, attenersi alla seguente procedura:

  1. Accedi al portale di Azure, quindi seleziona la macchina virtuale.

  2. Nella sezione Guida, seleziona Diagnostica di avvio, quindi seleziona la scheda Impostazioni.

  3. Nelle impostazioni Diagnostica di avvio selezionare la diagnostica di avvio con account di archiviazione gestito o account di archiviazione personalizzato.               Screenshot delle opzioni nella pagina di diagnostica di avvio della macchina virtuale esistente                            

  4. Salva la modifica.

Abilita la diagnostica di avvio usando l'interfaccia della riga di comando di Azure

È possibile usare l'interfaccia della riga di comando di Azure per abilitare la diagnostica di avvio in una macchina virtuale di Azure esistente. Per ulteriori informazioni, consulta az vm boot-diagnostics.

Risolvere il problema del mancato aggiornamento dello screenshot di diagnostica di avvio

Se si nota che lo screenshot di Diagnostica di avvio della macchina virtuale Azure non è aggiornato nel portale di Azure, assicurarsi innanzitutto che il timeout del display virtuale sia disabilitato nel sistema operativo guest. Ad esempio, potresti vedere che l'ora mostrata nella schermata di accesso è obsoleta per una VM Windows.

Per Windows, esegui il seguente comando da CMD con privilegi elevati

powercfg /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0

Per Linux, eseguire il seguente comando

xset s off

Per le macchine virtuali Windows, l'agente di provisioning di Azure è diverso dall'agente di macchine virtuali. Esegue il comando precedente durante il provisioning per le macchine virtuali create da un'immagine generalizzata. Puoi visualizzare questo evento se cerchi powercfg in C:\Windows\Panther\WaSetup.xml, che è il registro dell'agente di provisioning. Ma poiché l'agente di provisioning non deve essere eseguito per le macchine virtuali create da un VHD specializzato, questo è uno scenario in cui sarebbe necessario eseguire manualmente il comando powercfg per disabilitare il timeout del display virtuale. Inoltre, è possibile che una macchina virtuale di Azure particolarmente vecchia venga creata da un'immagine generalizzata che potrebbe non essere impostata perché è stata creata prima dell'aggiornamento dell'agente di provisioning per disabilitare il timeout del display virtuale.

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. Puoi anche inviare feedback sul prodotto al supporto della community di Azure.