Share via


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.

Captura de tela de uma mensagem de banner no portal do Azure indicando que um V M 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:

A captura de tela mostra a palavra não gerenciada anexada ao nome de um V M no portal do Azure.

Se o disco for gerenciado, a folha Visão geral do disco do sistema operacional exibirá um campo Gerenciado por , conforme mostrado abaixo:

Captura de tela da folha de visão geral de um disco no portal do Azure, indicando que o disco é gerenciado por um V M.

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)

  1. No portal do Azure, pare a VM de origem cujo disco do sistema operacional não é gerenciado.

  2. No computador local, baixe, instale e inicie o Microsoft Gerenciador de Armazenamento do Azure. Forneça suas credenciais do Azure quando você for solicitado.

  3. No painel de navegação Gerenciador de Armazenamento, expanda a assinatura apropriada.

  4. 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).

    Captura de tela do Gerenciador de Armazenamento do Azure com o contêiner de contas de armazenamento e o contêiner alugado v h d s ambos realçados na árvore de navegação.

  5. 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.

    Captura de tela do Gerenciador de Armazenamento do Azure mostrando um disco selecionado com o botão Copiar realçado.

  6. 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".

    Sreenshot de Gerenciador de Armazenamento do Azure mostrando o menu de atalho para Contêineres de Blobs no menu de navegação, com Criar Contêiner de Blobs realçado.

  7. Selecione Colar para colar o disco copiado no novo contêiner de blob.

    Captura de tela do Gerenciador de Armazenamento do Azure com o botão Colar realçado.

Criar uma VM de reparo com um disco do sistema operacional não gerenciado

  1. 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.

  2. 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 .

    Captura de tela da página Noções básicas do assistente Criar uma máquina virtual, mostrando a opção selecionada para nenhuma infraestrutura necessária.

  3. 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. Captura de tela da página Discos do assistente Criar uma máquina virtual, com a opção usar disco gerenciado desmarcada. 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  
    
  4. 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

  1. No portal do Azure, abra a folha Discos para a nova VM de reparo que você acabou de criar.

  2. Selecione + Adicionar disco de dados.

    Captura de tela da folha Discos da VM de reparo no portal do Azure, com o botão Adicionar disco de dados realçado.

  3. Na página Anexar Disco Não Gerenciado , selecione Blob existente como o tipo de origem.

    Captura de tela da janela anexar disco não gerenciado com a opção de blob existente selecionada.

  4. 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.

    Captura de tela da janela anexar disco não gerenciado com o botão procurar realçado.

    Captura de tela do contêiner de cópias de disco com um disco selecionado e o botão Selecionar realçado.

  5. Na página Anexar Disco Não Gerenciado , aceite o nome padrão do blob de armazenamento e selecione OK.

  6. Na folha Discos da nova VM de reparo, selecione Salvar.

    Captura de tela da folha Discos com o botão Salvar realçado.

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:

  1. 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.

  2. 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.)
  3. 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
    
  4. 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.