Anexar um disco não gerenciado a uma VM para reparo offline
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ê conserto o 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 inserindo o comando a seguir. (Substitua "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 será exibido na saída ao lado do 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 do 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 anexada "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á 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 (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 Microsoft Gerenciador de Armazenamento do Azure. Forneça suas credenciais do Azure quando você for solicitado.
No painel de navegação Gerenciador de Armazenamento, expanda a assinatura apropriada.
Selecione a conta de armazenamento na qual o VHD está localizado e selecione o contêiner apropriado para o disco. Por padrão, os discos de sistema operacional não gerenciados são armazenados no contêiner vhds (Locado).
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 Blobs no painel de navegação e selecionando Criar Contêiner de Blobs. 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 deve não 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 de opções de disponibilidade .
Na página Discos, expanda Avançado abaixo de Discos de Dados e desmarque a caixa Usar discos gerenciados marcar. 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 não selecionada, 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 do 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 padrão do blob de armazenamento e selecione OK.
Na folha Discos da nova VM de reparo, selecione Salvar.
Desbloquear o disco se ele estiver criptografado
Se o disco for criptografado com a ADE (Criptografia de Disco do Azure), você precisará desbloqueá-lo antes de poder repará-lo. Para fazer isso, use as etapas descritas na Resolução nº 3: método manual para desbloquear um disco criptografado em uma VM de reparo.
Você pode determinar se o disco é criptografado usando o procedimento aqui: Confirme se o ADE está habilitado no disco
Substituir 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 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 no momento:
$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 globalmente 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 (falha).
- URI do VHD de disco do sistema operacional ($vhduri): o URI da cópia do Disco do sistema operacional não gerenciado que você acabou de desvincular da VM de reparo. (Você pode copiar esse valor clicando com o botão direito do mouse no disco em 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 do VHD de disco do sistema operacional" pelos valores correspondentes que você acabou de gravar 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
Em 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 a Criptografia de Disco do Azure 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.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários