Como usar diagnósticos de inicialização para solucionar problemas de máquinas virtuais no Azure

Pode haver muitos motivos para uma máquina virtual inserir um estado não inicializável. Para resolver problemas com suas máquinas virtuais criadas usando o modelo de implantação do Gerenciador de Recursos, você pode usar os seguintes recursos de depuração: Suporte a Saída de Console e Captura de Tela para máquinas virtuais do Azure.

Para máquinas virtuais Linux, você pode exibir a saída do log do console a partir do Portal. Para máquinas virtuais Windows Linux, o Azure permite que você veja uma captura de tela da VM do hipervisor. Ambos os recursos têm suporte para máquinas virtuais do Azure em todas as regiões. Observação: capturas de tela e saída podem levar até 10 minutos para aparecer em sua conta de armazenamento.

Você pode selecionar a opção Diagnóstico de inicialização para exibir o log e a captura de tela.

Gerente de Recursos

Erros comuns de inicialização

Habilitar diagnósticos em uma máquina virtual criada usando o Portal do Azure

O procedimento a seguir é para uma máquina virtual criada usando o modelo de implantação do Gerenciador de Recursos.

Na guia Gerenciamento, na seção Monitoramento, certifique-se de que o diagnóstico de inicialização está ligado. Na lista de opções listadas da conta de armazenamento de diagnósticos, selecione uma conta de armazenamento na qual colocar os arquivos de diagnóstico.

Criar VM

Observação

O recurso de diagnóstico de inicialização não dá suporte a conta de armazenamento premium ou a Tipos Armazenamento De Conta Redundante de Zona. Se você usar a conta de armazenamento premium para diagnósticos de inicialização, poderá receber o erro StorageAccountTypeNotSupported ao iniciar a VM.

Implantação de um modelo do Gerenciador de Recursos do Azure

Se você estiver implantando de um modelo do Gerenciador de Recursos do Azure, navegue até seu recurso de máquina virtual e adegue a seção de perfil de diagnóstico. De definir o header de versão da API como "2015-06-15" ou posterior. A versão mais recente é "2018-10-01".

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

O perfil de diagnóstico permite que você selecione a conta de armazenamento onde deseja colocar esses logs.

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

Para obter mais informações sobre como implantar recursos usando modelos, consulte Quickstart: Create and deploy Azure Resource Manager templates by using the Azure portal.

Habilitar diagnósticos de inicialização em máquina virtual existente

Para habilitar o diagnóstico de inicialização em uma máquina virtual existente, siga estas etapas:

  1. Entre no portal do Azuree selecione a máquina virtual.

  2. Na seção Suporte + solução de problemas, selecione Diagnóstico de inicialização e selecione a guia Configurações.

  3. Em Configurações de diagnóstico de inicialização, altere o status para On e, na lista Armazenamento lista de opções de conta, selecione uma conta de armazenamento.

  4. Salve a alteração.

    Atualizar vm existente

Habilitar diagnósticos de inicialização usando a CLI do Azure

Você pode usar a CLI do Azure para habilitar diagnósticos de inicialização em uma máquina virtual do Azure existente. Para obter mais informações, consulte az vm boot-diagnostics.

Corrigir captura de tela de diagnóstico de inicialização não é atualizada

Se você observar que a captura de tela diagnóstico de inicialização da VM do Azure está esmaeceda no portal do Azure, primeiro certifique-se de que o tempo de exibição virtual está desabilitado no sistema operacional convidado. Por exemplo, você pode ver que a hora mostrada na tela de logon está esmae Windows VM.

Para Windows, execute o seguinte comando do CMD elevado:

powercfg /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0

Para Linux, execute o seguinte comando:

xset s off

Para Windows VMs, o agente de provisionamento do Azure é diferente do agente VM e é o agente de provisionamento que executa o comando acima durante o provisionamento para VMs criadas a partir de uma imagem generalizada. Você pode ver a evidência disso se procurar por powercfg no C:\Windows\Panther\WaSetup.xml, que é o log do agente de provisionamento. No entanto, como o agente de provisionamento não precisa ser executado para VMs criadas a partir de um VHD especializado, esse é um cenário em que você precisaria executar o comando powercfg manualmente para desabilitar o tempo de exibição virtual. Além disso, é possível ter uma VM do Azure particularmente antiga criada a partir de uma imagem generalizada que pode não ter sido definida porque foi criada antes da atualização do agente de provisionamento para desabilitar o tempo de exibição virtual.