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

Si applica a: ✔️ macchine virtuali Linux ✔️ macchine virtuali Windows

Una macchina virtuale può entrare in uno stato non di avvio per diversi motivi. Per risolvere i problemi relativi alle macchine virtuali create con il modello di distribuzione Resource Manager, è possibile usare le funzionalità di debug seguenti: Output della console e Supporto screenshot per le macchine virtuali di Azure.

Per le macchine virtuali Linux è possibile visualizzare l'output del log della console dal portale. Per le macchine virtuali Windows e Linux, Azure consente di visualizzare uno screenshot della macchina virtuale dall'hypervisor. Entrambe le funzionalità sono supportate per le macchine virtuali di Azure in tutte le aree. Si noti che 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 log e lo screenshot.

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

Errori di avvio comuni

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

La procedura seguente si riferisce a una macchina virtuale creata usando il modello di distribuzione di Resource Manager.

Nella scheda Gestione, nella sezione Monitoraggio, verificare che l'opzione Diagnostica di avvio sia attivata. L'impostazione predefinita prevede l'abilitazione della diagnostica di avvio tramite un account di archiviazione gestito.

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

Nota

La funzionalità diagnostica di avvio non supporta l'account di archiviazione Premium o i tipi di account di archiviazione con ridondanza della zona. Se si usa l'account di archiviazione premium per la diagnostica di avvio, può verificarsi l'errore StorageAccountTypeNotSupported quando si avvia 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 macchina virtuale e aggiungere la sezione del profilo di diagnostica. Impostare l'intestazione della versione dell'API su "2015-06-15" o versioni successive. La versione più recente è "2018-10-01".

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

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

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

Per altre informazioni sulla distribuzione di risorse con i modelli, vedere Avvio rapido: Creare e distribuire modelli di Azure Resource Manager usando il portale di Azure.

Abilitare la diagnostica di avvio in una macchina virtuale esistente

Per abilitare la diagnostica di avvio in una macchina virtuale esistente, seguire la procedura seguente:

  1. Accedere al portale di Azure, quindi selezionare la macchina virtuale.

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

  3. In Impostazioni di diagnostica di avvio selezionare la diagnostica di avvio con l'account di archiviazione gestito o l'account di archiviazione personalizzato. Screenshot delle opzioni nella pagina diagnostica di avvio della macchina virtuale esistente

  4. Salva le modifiche.

Abilitare la diagnostica di avvio tramite l'interfaccia della riga di comando di Azure

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

Correzione dello screenshot della diagnostica di avvio non aggiornato

Se si nota che lo screenshot della diagnostica di avvio per la macchina virtuale di Azure non è aggiornato nella portale di Azure, assicurarsi prima di tutto che il timeout della visualizzazione virtuale sia disabilitato nel sistema operativo guest. Ad esempio, è possibile che l'ora visualizzata nella schermata di accesso non sia aggiornata per una macchina virtuale Windows.

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

powercfg /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0

Per Linux, eseguire il comando seguente

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. È possibile visualizzare questo evento se si cerca powercfg in C:\Windows\Panther\WaSetup.xml, ovvero il log dell'agente di provisioning. Tuttavia, poiché l'agente di provisioning non deve essere eseguito per le macchine virtuali create da un disco rigido virtuale specializzato, si tratta di uno scenario in cui è necessario eseguire manualmente il comando powercfg per disabilitare il timeout di visualizzazione virtuale. È anche possibile creare una macchina virtuale di Azure particolarmente precedente creata da un'immagine generalizzata che potrebbe non averla impostata perché è stata creata prima dell'aggiornamento dell'agente di provisioning per disabilitare il timeout di visualizzazione 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. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.