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

Applica a: ✔️ macchine virtuali ✔️ Linux Windows vm

Sommario

Questo articolo illustra come usare la diagnostica di avvio per risolvere i problemi delle macchine virtuali in Microsoft Azure.

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

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

Screenshot della scheda Screenshot nella pagina Diagnostica di avvio di Azure Portal.

Errori di avvio comuni

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

La procedura seguente riguarda una macchina virtuale creata usando il modello di distribuzione 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

Note

La funzionalità diagnostica di avvio non supporta gli account di archiviazione Premium o i tipi di account di archiviazione con ridondanza di 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 stai distribuendo da un modello di Azure Resource Manager, passa alla risorsa della macchina virtuale e aggiungi la sezione del profilo diagnostico. 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 altre informazioni sulla distribuzione di risorse tramite modelli, vedere Quickstart: Creare e distribuire modelli di Azure Resource Manager usando 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. Accedere al portale Azure portale e quindi selezionare 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.

Abilitare la diagnostica di avvio usando il interfaccia della riga di comando di Azure

È possibile usare il interfaccia della riga di comando di Azure per abilitare la diagnostica di avvio in una macchina virtuale 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 della diagnostica di avvio per la macchina virtuale Azure non è aggiornato nel portale di Azure, verificare prima di tutto che il timeout della visualizzazione virtuale sia disabilitato nel sistema operativo guest. Ad esempio, è possibile vedere che l'ora visualizzata nella schermata di accesso è obsoleta 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 seguente comando

xset s off

Per le VM Windows, l'agente di provisioning Azure è diverso dall'agente di VM. Esegue il comando precedente durante il provisioning per le macchine virtuali create da un'immagine generalizzata. Questo evento può essere visualizzato 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, in questo scenario è necessario eseguire manualmente il comando powercfg per disabilitare il timeout di visualizzazione virtuale. Inoltre, è possibile avere una macchina virtuale Azure particolarmente vecchia 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.