Reparar uma VM do Windows usando os comandos de reparo da Máquina Virtual do Azure
Aplica-se a: ✔️ Windows VMs
Se a VM (máquina virtual) do Windows no Azure encontrar um erro de inicialização ou disco, talvez seja necessário reparar o disco offline. Um exemplo comum seria uma atualização de aplicativo com falha que impede a inicialização bem-sucedida da VM. Este artigo detalha como usar os comandos de reparo de VM do Azure para anexar automaticamente um disco de sistema operacional quebrado a outra VM do Windows para reparo offline. Por meio desse procedimento, o disco do sistema operacional com falha será desbloqueado automaticamente na segunda VM, chamada de VM de reparo, se o disco estiver criptografado com o Azure Disk Encryption. Quando o disco com falha é anexado à VM de reparo, você pode corrigir quaisquer erros e, em seguida, recompilar sua VM original com o disco reparado.
Importante
- Os scripts neste artigo se aplicam somente às VMs que usam Disco Gerenciado.
- A conectividade de saída da VM (porta 443) é necessária para que o script seja executado.
- Somente um script pode ser executado de cada vez.
- Não é possível cancelar um script em execução.
- O tempo máximo que um script pode ser executado é 90 minutos. Após esse tempo, ele atingirá o tempo limite.
- Não modifique as marcas criadas na VM de reparo. As tags são necessárias para que o comando restore funcione corretamente.
- Para VMs que usam o 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 VM do Azure para alterar o disco do SO de uma VM e não é mais necessário excluir e recriar a VM.
A seção Exemplo de processo de reparo o guiará pelo seguinte processo:
- Inicialize o Azure Cloud Shell.
- Execute
az extension add
ouaz extension update
. - Execute
az vm repair create
. - Execute
az vm repair run
ou execute etapas de mitigação. - Execute
az vm repair restore
.
Observação
Para exibir todos os comandos e parâmetros de reparo de VM disponíveis, consulte az vm repair.
Importante
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
- Marcações 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 tem ferramentas do Azure instaladas e configuradas para usar com sua conta. Se você executar um script que levará mais de 20 minutos (por exemplo: script win-sfc-sf-corruption ), talvez prefira executar os comandos localmente. Para executar os comandos localmente, é necessária 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.Para abrir o Cloud Shell, selecione Experimentar no canto superior direito de um bloco de códigos. Você também pode abrir o Cloud Shell em uma guia separada do navegador acessando https://shell.azure.com.
Selecione Copiar para copiar os blocos de código, cole-o no Cloud Shell e selecione Enter para executá-lo.
Se você preferir instalar e usar a CLI localmente, este início rápido exigirá 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 é a primeira vez que você usa os comandos
az vm repair
, adicione a extensão da CLI vm-repair.az extension add -n vm-repair
Se você já usou os comandos
az vm repair
, aplique as atualizações na extensão vm-repair.az extension update -n vm-repair
Execute
az vm repair create
. Esse 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 o Azure Disk Encryption, use--unlock-encrypted-vm
para desbloquear o disco criptografado para que ele fique acessível quando anexado à VM de reparo. Para obter mais informações, consulte confirmar se o ADE está habilitado no disco. Se você precisar solucionar problemas de sua VM em um ambiente Hyper-V aninhado, use--enable-nested
e a VM de reparo será criada com a função Hyper-V habilitada junto com uma VM aninhada usando a cópia de disco do sistema operacional.
Importante
Os comandos run e restore exigirão que todas as entradas sejam inseridas usando as mesmas maiúsculas e minúsculas usadas no comando create, anote ou consulte as tags na VM de reparo para ver o que foi usado.
Exemplo de reparo de VM
az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password 'password!234' --verbose
Exemplo de reparo de VM com Hyper-V aninhado
az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password 'password!234' --enable-nested --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, você pode usaraz 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 win-hello-world --verbose
Opcionalmente, você pode executar todas as etapas de mitigação manual necessárias usando a VM de reparo e, em seguida, prosseguir para a etapa 5.
Execute
az vm repair restore
. Este comando irá trocar o disco do SO reparado pelo disco do SO original 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
Verificar e habilitar o diagnóstico de boot
O seguinte exemplo 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 VM do Azure.
- Para problemas com o acesso a aplicativos em execução na 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.