Reparar uma VM do Linux usando os comandos de reparo da Máquina Virtual do Azure
Aplica-se a: ✔️ VMs linux
Se sua máquina virtual Linux (VM) no Azure encontrar um erro de inicialização ou disco, talvez seja necessário executar a mitigação no próprio disco. Um exemplo comum seria uma atualização de aplicativo com falha que impede que a VM seja inicializada com êxito. Este artigo detalha como usar os comandos de reparo da Máquina Virtual do Azure para conectar o disco a outra VM do Linux para corrigir quaisquer erros e, em seguida, recriar sua VM original.
Importante
- Os scripts neste artigo se aplicam apenas às VMs que usam Azure Resource Manager.
- A conectividade de saída da VM (porta 443) é necessária para a execução do script.
- Apenas um script pode ser executado por vez.
- Um script em execução não pode ser cancelado.
- O tempo máximo que um script pode ser executado é de 90 minutos, após o qual ele expirará.
- Não modifique as tags criadas na VM de reparo. As tags são necessárias para que o comando de restauração funcione corretamente.
- Para VMs usando Azure Disk Encryption, há suporte apenas para discos gerenciados criptografados com criptografia de passagem única (com ou sem KEK).
Visão geral do processo de reparo
Agora você pode usar os comandos de reparo da Máquina Virtual do Azure para alterar o disco do SO para uma VM e não precisa mais excluir e recriar a VM.
Siga estas etapas para solucionar o problema da VM:
- Iniciar o Azure Cloud Shell
- Execute a adição/atualização da extensão az
- Execute az vm repair create
- Execute az vm repair run ou execute as etapas de mitigação.
- Execute az vm repair restore
Para visualizar todos os comandos e parâmetros de reparação de VM disponíveis, consulte az vm repair.
Para executar os comandos, você precisa de uma função que possa criar os seguintes tipos de recursos na assinatura:
- Grupos de recursos
- Máquinas Virtuais
- Marcas de recursos
- Redes Virtuais
- Grupos de segurança de rede
- Interfaces de Rede
- Discos
- Endereços IP públicos (opcional)
Exemplo de processo de reparo
Iniciar o Azure Cloud Shell
O Azure Cloud Shell é um shell gratuito e interativo que poderá ser usado para executar as etapas deste artigo. Ele inclui ferramentas comuns do Azure pré-instaladas e configuradas para uso com sua conta. Se você executar um script de reparo que levará mais de 20 minutos, talvez prefira executar os comandos localmente. Para executar os comandos localmente, é necessária a versão 2.0.67 ou posterior da CLI do Azure. Execute
az --version
para encontrar a versão. Se você precisar instalar ou atualizar sua CLI do Azure, consulte Instalar a CLI do Azure.Para abrir o Cloud Shell, selecione Experimentar no canto superior direito de um bloco de código. Você também pode abrir o Cloud Shell em uma guia separada do navegador indo até https://shell.azure.com.
Selecione Copiar para copiar os blocos de código, cole o código no Cloud Shell e selecione Enter para executá-lo.
Se você preferir instalar e usar a CLI localmente, este início rápido requer a CLI do Azure versão 2.0.67 ou posterior. Execute
az --version
para encontrar a versão. Se você precisar instalar ou atualizar sua CLI do Azure, consulte Instalar a CLI do Azure.Se você precisar fazer logon no Cloud Shell com uma conta diferente da que está conectada no portal do Azure, poderá usar
az login
az login reference. Para alternar entre as assinaturas associadas à sua conta, você pode usaraz account set --subscription
az account set reference.Se esta for a primeira vez que você usa os comandos
az vm repair
, adicione a extensão CLI vm-repair.az extension add -n vm-repair
Se você já usou os comandos
az vm repair
, aplique todas as atualizações à extensão vm-repair.az extension update -n vm-repair
Execute
az vm repair create
. Este comando criará uma cópia do disco do sistema operacional para a VM não funcional, criará uma VM de reparo em um novo grupo de recursos e anexará a cópia do disco do sistema operacional. A VM de reparo terá o mesmo tamanho e região que a VM não funcional especificada. O grupo de recursos e o nome da VM usados em todas as etapas serão para a VM não funcional. Se sua VM estiver usando Azure Disk Encryption, use--unlock-encrypted-vm
para desbloquear o disco criptografado para que fique acessível quando anexado à VM de reparo. Para obter mais informações, consulte confirme se o ADE está ativado no disco.
Importante
Os comandos executar e restaurar exigirão que todas as entradas sejam inseridas usando o mesmo caso usado no comando criar, anote ou consulte as tags na VM de reparo para ver o que foi usado.
Exemplo de reparação de VM
az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password password1234 --verbose
Execute
az vm repair run
. Este comando executará o script de reparo especificado no disco anexado por meio da VM de reparo. Se o guia de solução de problemas que você está usando especificou um run-id, use-o aqui. Caso contrário, useaz vm repair list-scripts
para ver os scripts de reparo disponíveis. O grupo de recursos e o nome da VM usados aqui são para a VM não funcional usada na etapa 3. Informações adicionais sobre os scripts de reparo podem ser encontradas na biblioteca de scripts de reparo.az vm repair run -g MyResourceGroup -n MyVM --run-on-repair --run-id lin-hello-world --verbose
Opcionalmente, você pode executar qualquer etapa de mitigação manual necessária usando a VM de reparo e, em seguida, prosseguir para a etapa 5.
Execute
az vm repair restore
. Este comando trocará o disco reparado do sistema operacional pelo disco original do sistema operacional da VM. O grupo de recursos e o nome da VM usados aqui são para a VM não funcional usada na etapa 3.az vm repair restore -g MyResourceGroup -n MyVM --verbose
Verifique e habilite o diagnóstico de inicialização
O exemplo a seguir habilita a extensão de diagnóstico na VM chamada myVMDeployed
no grupo de recursos chamado myResourceGroup
:
CLI do Azure
az vm boot-diagnostics enable --name myVMDeployed --resource-group myResourceGroup --storage https://mystor.blob.core.windows.net/
Próximas etapas
- Se você estiver tendo problemas para se conectar à sua VM, consulte Solucionar problemas de conexões RDP para uma máquina virtual do Azure.
- Para problemas de acesso a aplicativos em execução em sua VM, consulte Solucionar problemas de conectividade de aplicativos em máquinas virtuais no Azure.
- Para obter mais informações sobre como usar o Resource Manager, consulte Visão geral do Azure Resource Manager.
Entre em contato conosco para obter ajuda
Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.