Como expandir discos rígidos virtuais anexados a uma máquina virtual do Windows

Aplica-se a: ✔️ VMs do Windows ✔️ Conjuntos de dimensionamento flexíveis

Ao criar uma VM (máquina virtual) em um grupo de recursos implantando uma imagem do Azure Marketplace, o SO (sistema operacional) padrão normalmente tem 127 GiB (alguns têm tamanhos de disco de sistema operacional menores por padrão). Você pode adicionar discos de dados à sua VM (o valor depende do SKU da VM selecionada) e recomendamos instalar aplicativos e cargas de trabalho com uso intensivo de CPU em discos de dados. Talvez seja necessário expandir o disco do sistema operacional se estiver dando suporte a um aplicativo herdado que instale componentes no disco do sistema operacional ou se estiver migrando um computador físico ou uma VM do local que tenha um disco do sistema operacional maior. Este artigo aborda a expansão de discos do sistema operacional ou discos de dados.

Esse disco de sistema operacional tem uma capacidade máxima de 4.095 GiB. No entanto, muitos sistemas operacionais são particionados com um registro mestre de inicialização (MBR) por padrão. O MBR limita o tamanho utilizável a 2 TiB. Se você precisar de mais de 2 TiB, crie e anexe discos de dados e use-os para o armazenamento de dados. Se você precisar armazenar dados no disco do sistema operacional e exigir espaço adicional, converta-o em GPT (tabela de partição GUID). Para saber mais sobre as diferenças entre o MBR e o GPT em implantações do Windows, veja as perguntas frequentes sobre Windows e GPT.

Importante

A menos que você use Expandir sem tempo de inatividade, a expansão de um disco de dados exige que a VM seja desalocada.

A redução de um disco existente não tem suporte e pode resultar em perda de dados.

Depois de expandir os discos, você precisará Expandir o volume no sistema operacional para aproveitar o disco maior.

Não é possível expandir o tamanho dos volumes com faixas.

Expandir sem tempo de inatividade

Você pode expandir os discos de dados sem desalocar a VM. A configuração do cache de host do disco não altera se você pode ou não expandir um disco de dados sem desalocar sua VM.

Este recurso tem as seguintes limitações:

  • Tem suporte apenas para discos de dados.
  • Se o disco tiver 4 TiB ou menos, você deverá desalocar sua VM e desanexar o disco antes de expandi-lo para além de 4 TiB. Se o disco já for maior que 4 TiB, você poderá expandi-lo sem desalocar a VM e desanexar o disco.
  • Sem suporte para discos Ultra nem discos SSD Premium v2.
  • Sem suporte para discos compartilhados.
  • Instale e use um dos dois:
  • Não disponível em algumas VMs clássicas. Use esse script para obter uma lista de SKUs de VM clássica que dão suporte à expansão sem tempo de inatividade.

Redimensionar um disco gerenciado no portal do Azure

Importante

Se o seu disco atender aos requisitos em Expandir sem tempo de inatividade, ignore a etapa 1.

  1. No portal do Azure, acesse a máquina virtual na qual você deseja expandir o disco. Selecione Parar a fim de parar\desalocar a VM.

  2. No menu esquerdo em Configurações, escolha Discos.

    Screenshot that shows the Disks option selected in the Settings section of the menu.

  3. Em Nome do disco, selecione o disco que você deseja expandir.

    Screenshot that shows the Disks pane with a disk name selected.

  4. No menu à esquerda, em Configurações, selecione Tamanho + Desempenho.

    Screenshot that shows the Size and performance option selected in the Settings section of the menu.

  5. Em Tamanho + Desempenho, selecione o tamanho de disco desejado.

    Aviso

    O novo tamanho deve ser maior que o tamanho do disco existente. O valor máximo permitido é de 4.095 GB para discos do sistema operacional. (É possível expandir o blob VHD além desse tamanho, mas o sistema operacional só funciona com os primeiros 4.095 GB de espaço.)

    Screenshot that shows the Size and performance pane with the disk size selected.

  6. Selecione Redimensionar na parte inferior da página.

    Screenshot that shows the Size and performance pane with the Resize button selected.

Redimensionar um disco gerenciado com o PowerShell

Abra o ISE ou a janela do PowerShell no modo administrativo e siga as etapas abaixo:

Conecte-se à sua conta do Microsoft Azure no modo de gerenciamento de recursos e selecione sua assinatura:

Connect-AzAccount
Select-AzSubscription –SubscriptionName 'my-subscription-name'

Defina o nome do grupo de recursos e o nome da VM:

$rgName = 'my-resource-group-name'
$vmName = 'my-vm-name'
$diskName = 'my-disk-name'

Obtenha uma referência à VM:

$vm = Get-AzVM -ResourceGroupName $rgName -Name $vmName

Importante

Se o seu disco atender aos requisitos em Expandir sem tempo de inatividade, ignore as etapas 4 e 6.

Pare a VM antes de redimensionar o disco:

Stop-AzVM -ResourceGroupName $rgName -Name $vmName

Obtenha uma referência ao disco do sistema operacional gerenciado. Defina o tamanho do disco gerenciado de sistema operacional para o valor desejado e atualize-o:

$disk= Get-AzDisk -ResourceGroupName $rgName -DiskName $diskName
$disk.DiskSizeGB = 1023
Update-AzDisk -ResourceGroupName $rgName -Disk $disk -DiskName $disk.Name

Aviso

O novo tamanho deve ser maior que o tamanho do disco existente. O valor máximo permitido é de 4.095 GB para discos do sistema operacional. (É possível expandir o blob VHD além desse tamanho, mas o sistema operacional só funciona com os primeiros 4.095 GB de espaço.)

A atualização da VM pode demorar um pouco. Depois que a execução do comando for concluída, reinicie a VM:

Start-AzVM -ResourceGroupName $rgName -Name $vmName

Acesse a VM de modo remoto, abra Gerenciamento do Computador (ou Gerenciamento de Disco) e expanda a unidade usando o espaço recentemente alocado.

Expandir o volume no sistema operacional

Após expandir o disco da VM, você precisará acessar o sistema operacional e expandir o volume a fim de abranger o novo espaço. Há vários métodos para expandir uma partição. Esta seção aborda como conectar a VM usando uma conexão RDP para expandir a partição Usando Diskpart ou Usando o Gerenciador de disco.

Usando DiskPart

Após expandir o disco da VM, você precisará acessar o sistema operacional e expandir o volume a fim de abranger o novo espaço. Há vários métodos para expandir uma partição. Esta seção aborda como conectar a VM usando uma conexão RDP para expandir a partição usando DiskPart.

  1. Abra uma conexão RDP com a VM.

  2. Abra um prompt de comando e digite diskpart.

  3. No prompt DISKPART, digite list volume. Anote o volume que você deseja estender.

  4. No prompt DISKPART, digite select volume <volumenumber>. Isso seleciona o volume volumenumber que você deseja estender no espaço vazio contíguo no mesmo disco.

  5. No prompt DISKPART, digite extend [size=<size>]. Isso estende o volume selecionado pelo tamanho em megabytes (MB).

Usando o Gerenciador de disco

  1. Iniciar uma sessão da área de trabalho remota com a VM.

  2. Abra o Gerenciamento de disco.

    Screenshot showing Disk Management.

  3. Clique com o botão direito do mouse em C: partição da unidade -> Estender volume.

    Screenshot showing how to extend the volume.

  4. Siga as etapas e você deverá conseguir ver o disco com capacidade atualizada:

    Screenshot showing the larger C: volume in Disk Manager.

Expansão de suporte a SKU de VM clássica sem tempo de inatividade

Se você estiver usando uma SKU de VM clássica, talvez ela não dê suporte à expansão de discos sem tempo de inatividade.

Use o seguinte script do PowerShell para determinar com quais SKUs de VM ele está disponível:

Connect-AzAccount
$subscriptionId="yourSubID"
$location="desiredRegion"
Set-AzContext -Subscription $subscriptionId
$vmSizes=Get-AzComputeResourceSku -Location $location | where{$_.ResourceType -eq 'virtualMachines'}

foreach($vmSize in $vmSizes){
    foreach($capability in $vmSize.Capabilities)
    {
       if(($capability.Name -eq "EphemeralOSDiskSupported" -and $capability.Value -eq "True") -or ($capability.Name -eq "PremiumIO" -and $capability.Value -eq "True") -or ($capability.Name -eq "HyperVGenerations" -and $capability.Value -match "V2"))
        {
            $vmSize.Name
       }
   }
}

Próximas etapas

Você também pode conectar discos usando o portal do Azure.