Anexar um disco não gerenciado a uma VM para reparo offline
Aplica-se a: ✔️ VMs do Windows
Alguns cenários de solução de problemas para VMs (máquinas virtuais) do Windows, como quando uma VM não é iniciada, exigem que você repare seu disco do sistema operacional offline. Este artigo descreve como você pode executar esse tipo de reparo offline quando o disco do sistema operacional com falha não é gerenciado.
Determinar se o disco do sistema operacional é gerenciado ou não gerenciado
Portal do Azure
Abra a folha Visão geral da VM. Se o disco do sistema operacional não for gerenciado, uma faixa informativa indicará que a VM não está usando discos gerenciados.
Além disso, a folha Visão geral do disco do sistema operacional acrescenta "(não gerenciado)" ao nome do disco se o disco não for gerenciado, conforme mostrado abaixo:
Se o disco for gerenciado, a folha Visão geral do disco do sistema operacional exibirá um campo Gerenciado por , conforme mostrado abaixo:
PowerShell
Você pode verificar se o disco do sistema operacional não é gerenciado digitando o comando a seguir. (Certifique-se de substituir "MyResourceGroup" pelo nome do grupo de recursos e "MyVM" pelo nome da VM.)
(get-azvm -ResourceGroupName MyResourceGroup -Name MyVM).StorageProfile.OsDisk
Se o disco não for gerenciado, nenhum valor aparecerá na saída ao lado de ManagedDisk, como no exemplo a seguir:
OsType : Windows
EncryptionSettings :
Name : MyVM-Disk1
Vhd : Microsoft.Azure.Management.Compute.Models.VirtualHardDisk
Image :
Caching : ReadWrite
WriteAcceleratorEnabled :
DiffDiskSettings :
CreateOption : FromImage
DiskSizeGB : 127
ManagedDisk :
Se o disco for um disco gerenciado, você verá um valor na saída ao lado de ManagedDisk, como no exemplo a seguir:
OsType : Windows
EncryptionSettings :
Name : MyVM2-Disk1
Vhd :
Image :
Caching : ReadWrite
WriteAcceleratorEnabled :
DiffDiskSettings :
CreateOption : FromImage
DiskSizeGB :
ManagedDisk : Microsoft.Azure.Management.Compute.Models.ManagedDiskParameters
Interface de linha de comando do Azure (CLI do Azure)
Você pode usar o comando az vm show com a consulta acrescentada "storageProfile.osDisk.managedDisk" para determinar se o disco tem discos gerenciados, como no exemplo a seguir:
az vm show -n MyVM -g MyResourceGroup --query "storageProfile.osDisk.managedDisk"
Se os discos não forem gerenciados, o comando não gerará nenhuma saída. Se os discos forem gerenciados, ele gerará uma saída como no exemplo a seguir:
{
"diskEncryptionSet": null,
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/disks/MyVm_OsDisk_1",
"resourceGroup": "MyResourceGroup",
"storageAccountType": null
}
Criar uma cópia do disco do sistema operacional não gerenciado anexado à VM de origem (com falha)
No portal do Azure, pare a VM de origem cujo disco do sistema operacional não é gerenciado.
No computador local, baixe, instale e inicie o Gerenciador de Armazenamento do Microsoft Azure. Forneça suas credenciais do Azure quando solicitado.
No painel de navegação do Gerenciador de Armazenamento, expanda a assinatura apropriada.
Selecione a conta de armazenamento na qual o VHD está localizado e, em seguida, selecione o contêiner apropriado para o disco. Por padrão, os discos do sistema operacional não gerenciados são armazenados no contêiner vhds (concedido ).
No painel direito, selecione o VHD anexado à VM de origem que você deseja reparar e selecione Copiar na parte superior. Observe que o disco copiado só pode ser colado em um contêiner de blob diferente.
Crie um novo contêiner de blob clicando com o botão direito do mouse em Contêiner de Blob no painel de navegação e selecionando Criar Contêiner de Blob. Atribua ao novo contêiner de blob um nome de sua escolha, como "cópias de disco".
Selecione Colar para colar o disco copiado no novo contêiner de blob.
Criar uma VM de reparo com um disco do sistema operacional não gerenciado
No portal do Azure, inicie o processo de criação de uma nova VM baseada no Windows Server 2019. Essa nova VM atuará como sua VM de reparo e seu próprio disco do sistema operacional não deve ser gerenciado.
Na página Noções básicas do assistente "Criar uma máquina virtual", selecione Nenhuma redundância de infraestrutura necessária na lista Opções de disponibilidade .
Na página Discos, expanda Avançado abaixo de Discos de Dados e desmarque a caixa de seleção Usar discos gerenciados . Selecione uma conta de armazenamento para o disco do sistema operacional não gerenciado. Não selecione para anexar um disco existente. Se a opção Usar discos gerenciados não puder ser desmarcada, tente criar a VM usando os seguintes comandos:
## Get the subnet ID of the VM $SubnetID = az network vnet subnet show --resource-group <RG name> --name <Subnet name> --vnet-name <VNet name> --query id -o tsv ## Create a VM with the unmanaged disk az vm create \ --resource-group <RG name>\ --name <VM name>\ --image <Image name>\ --location <location of the VM>\ --admin-username <Admin name>\ --subnet $SubnetID\ --size <VM size>\ --use-unmanaged-disk
Conclua o assistente "Criar uma máquina virtual" especificando os detalhes de configuração apropriados para sua organização.
Anexar uma cópia do disco não gerenciado à VM de reparo
No portal do Azure, abra a folha Discos para a nova VM de reparo que você acabou de criar.
Selecione + Adicionar disco de dados.
Na página Anexar Disco Não Gerenciado , selecione Blob existente como o Tipo de origem.
Abaixo de Blob de origem, selecione Procurar e, em seguida, navegue para selecionar a cópia de disco do sistema operacional que você criou anteriormente.
Na página Anexar Disco Não Gerenciado, aceite o nome do blob de armazenamento padrão e selecione OK.
Na folha Discos da nova VM de reparo, selecione Salvar.
Desbloqueie o disco se ele estiver criptografado
Se o disco estiver criptografado com o Azure Disk Encryption (ADE), você precisará desbloqueá-lo antes de repará-lo. Para fazer isso, use as etapas descritas em Resolução #3: Método manual para desbloquear um disco criptografado em uma VM de reparo.
Você pode determinar se o disco está criptografado usando o procedimento aqui: Confirme se o ADE está habilitado no disco
Substitua o disco do sistema operacional na VM de origem
Depois de terminar de reparar o disco, siga estas etapas:
Desanexe o disco do sistema operacional da VM de origem usando a CLI do Azure ou o PowerShell.
CLI do Azure
Use o comando az vm unmanaged-disk detach , como no exemplo a seguir:
az vm unmanaged-disk detach -g MyResourceGroup --vm-name MyVm -n disk_name
PowerShell
Insira os seguintes comandos no Azure Cloud Shell, um de cada vez:
$VirtualMachine = Get-AzVM -ResourceGroupName "MyResourceGroup" -Name "MyVm" Remove-AzVMDataDisk -VM $VirtualMachine -Name "disk_name" Update-AzVM -ResourceGroupName "MyResourceGroup" -VM $VirtualMachine
Depois de desanexar o disco, você pode substituir o disco do sistema operacional na VM de origem.
Quando o prompt retornar, abra um editor de texto, como o Bloco de Notas, e registre os seguintes valores:
- ID da assinatura ($subscriptionID): o GUID (identificador global exclusivo) de 32 dígitos associado à sua assinatura do Azure.
- Nome do grupo de recursos ($rgname): o grupo de recursos da VM de origem.
- Nome da VM ($vmname): o nome da VM de origem (com falha).
- URI VHD do disco do sistema operacional ($vhduri): o URI da cópia do disco do sistema operacional não gerenciado que você acabou de desanexar da VM de reparo. (Você pode copiar esse valor clicando com o botão direito do mouse no disco no Gerenciador de Armazenamento e selecionando Copiar URL.)
Insira os comandos a seguir no prompt de comando do PowerShell no Azure Cloud Shell, um de cada vez. Em cada comando, substitua os valores "ID da assinatura", "Nome do grupo de recursos", "Nome da VM" e "URI VHD do disco do sistema operacional" pelos valores correspondentes que você acabou de registrar do seu ambiente.
$subscriptionID = "Subscription ID" $rgname = "Resource group name" $vmname = "VM Name" $vhduri = "OS disk VHD URI" #Add-AzAccount Select-AzSubscription -SubscriptionID $subscriptionID Set-AzContext -SubscriptionID $subscriptionID $vm = Get-AzVM -ResourceGroupName $rgname -Name $vmname $vm.StorageProfile.OsDisk.Vhd.Uri = $vhduri Update-AzVM -ResourceGroupName $rgname -VM $vm
Após a conclusão da operação, você deverá ver a seguinte saída:
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
No portal do Azure, abra a folha Discos na VM. Selecione o disco do sistema operacional e verifique se o URI do VHD corresponde ao valor fornecido na última etapa.
Próximas etapas
Para ler uma visão geral do ADE, consulte Habilitar o Azure Disk Encryption para VMs do Windows. Para obter mais informações sobre comandos que você pode usar para gerenciar discos não gerenciados, consulte az vm unmanaged-disk.
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.