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

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

Quando você cria uma nova máquina virtual (VM) em um grupo de recursos implantando uma imagem do Azure Marketplace, o disco padrão do sistema operacional (SO) geralmente é de 127 GiB (algumas imagens têm tamanhos de disco menores do sistema operacional por padrão). Você pode adicionar discos de dados à sua VM (a quantidade depende da SKU da VM selecionada) e recomendamos a instalação de 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 oferecendo suporte a um aplicativo herdado que instala componentes no disco do sistema operacional ou se estiver migrando um PC físico ou VM local que tenha um disco de sistema operacional maior. Este artigo aborda a expansão de discos de SO ou discos de dados.

Um disco de SO tem uma capacidade máxima de 4.095 GiB. No entanto, muitos sistemas operacionais são particionados com registro mestre de inicialização (MBR) por padrão. O MBR limita o tamanho utilizável a 2 TiB. Se precisar de mais de 2 TiB, crie e anexe discos de dados e use-os para armazenamento de dados. Se você precisar armazenar dados no disco do sistema operacional e precisar de espaço adicional, converta-o em GPT (GUID Partition Table ). Para saber mais sobre as diferenças entre MBR e GPT em implantações do Windows, consulte 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 deslocalizada.

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

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

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

Expanda sem tempo de inatividade

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

Este recurso tem as seguintes limitações:

  • Apenas suportado para discos de dados.
  • Se um disco tiver 4 TiB ou menos, deverá desalocar a VM e desanexar o disco antes de o expandir para além de 4 TiB. Se um disco já tiver mais de 4 TiB, poderá expandi-lo sem desalocar a VM e desanexar o disco.
  • Não suportado para discos Ultra ou discos SSD Premium v2.
  • Não há suporte para discos compartilhados.
  • Instale e use:
  • Não está disponível em algumas VMs clássicas. Use esse script para obter uma lista de SKUs de VM clássicas que suportam expansão sem tempo de inatividade.

Redimensionar um disco gerido no portal do Azure

Importante

Se o disco atender aos requisitos em Expandir sem tempo de inatividade, você poderá pular a etapa 1.

  1. No portal do Azure, vá para a máquina virtual na qual você deseja expandir o disco. Selecione Parar para desalocar a VM.

  2. No menu à esquerda, em Configurações, selecione Discos.

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

  3. Em Nome do disco, selecione o disco que 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 do disco desejado.

    Aviso

    O novo tamanho deve ser maior que o tamanho do disco existente. O 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 funciona apenas 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.

Redimensione um disco gerido com o PowerShell

Abra o ISE do PowerShell ou a janela do PowerShell no modo administrativo e siga os passos abaixo:

Entre em 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 à sua VM:

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

Importante

Se o disco atender aos requisitos de expansão sem tempo de inatividade, você poderá pular 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 do sistema operacional gerenciado para o valor desejado e atualize o disco:

$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 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 funciona apenas com os primeiros 4.095 GB de espaço.)

A atualização da VM pode levar alguns segundos. Quando o comando terminar de executar, reinicie a VM:

Start-AzVM -ResourceGroupName $rgName -Name $vmName

Remoto na VM, abra Gerenciamento do Computador (ou Gerenciamento de Disco) e expanda a unidade usando o espaço recém-alocado.

Expanda o volume no sistema operativo

Depois de expandir o disco para a VM, você precisa entrar no sistema operacional e expandir o volume para abranger o novo espaço. Existem vários métodos para expandir uma partição. Esta seção aborda a conexão da VM usando uma conexão RDP para expandir a partição usando Usando o Diskpart ou Usando o Gerenciador de Discos.

Utilizar o DiskPart

Depois de expandir o disco para a VM, você precisa entrar no sistema operacional e expandir o volume para abranger o novo espaço. Existem vários métodos para expandir uma partição. Esta secção abrange a ligação da VM utilizando uma ligação RDP para expandir a partição utilizando o DiskPart.

  1. Abra uma ligação RDP para a sua VM.

  2. Abra uma linha de comandos e escreva diskpart.

  3. Na linha de comandos DISKPART, escreva list volume. Anote o volume que pretende expandir.

  4. Na linha de comandos DISKPART, escreva select volume <volumenumber>. Isto seleciona o volume volumenumber que pretende expandir para o espaço vazio contíguo no mesmo disco.

  5. Na linha de comandos DISKPART, escreva extend [size=<size>]. Isto expande o volume selecionado por tamanho em megabytes (MB).

Utilizar o Disk Manager

  1. Inicie uma sessão do ambiente de trabalho remoto da VM.

  2. Abra o Disk Management.

    Screenshot showing Disk Management.

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

    Screenshot showing how to extend the volume.

  4. Siga os passos que você deve ser capaz de ver o disco com capacidade atualizada:

    Screenshot showing the larger C: volume in Disk Manager.

Expansão sem tempo de inatividade Suporte clássico a SKU de VM

Se você estiver usando uma SKU de VM clássica, ela pode não suportar a 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óximos passos

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