Converter o tipo de disco de um disco gerenciado do Azure

Aplica-se a: ✔️ Linux VMs ✔️ Windows

Existem cinco tipos de disco de discos geridos pelo Azure: Azure Ultra Disks, Premium SSD v2, Premium SSD, Standard SSD e Standard HDD. Pode alternar facilmente entre SSD Premium, SSD Standard e HDD Standard com base nas suas necessidades de desempenho. SSD Premium e SSD padrão também estão disponíveis com armazenamento com redundância de zona. Para a maioria dos casos, você ainda não pode alternar de ou para um Ultra Disk ou um SSD Premium v2, você deve implantar um novo com um instantâneo de um disco existente. No entanto, como uma visualização, você pode alternar de discos existentes para um SSD Premium v2. Consulte Converter discos SSD Premium v2 (visualização) para obter detalhes.

Esta funcionalidade não é suportada para discos não geridos. Mas você pode facilmente converter um disco não gerenciado em um disco gerenciado com CLI ou PowerShell para poder alternar entre tipos de disco.

Antes de começar

Uma vez que a conversão requer que a máquina virtual (VM) seja reiniciada, agende a migração do disco durante uma janela de manutenção pré-existente.

Restrições

  • Só é possível alterar o tipo de disco duas vezes por dia.
  • Só pode alterar o tipo de disco dos discos geridos. Se o disco não for gerenciado, converta-o em um disco gerenciado com CLI ou PowerShell para alternar entre os tipos de disco.

Converter discos SSD Premium v2 (pré-visualização)

Como uma visualização pública, você pode alternar discos existentes para discos SSD Premium v2 da mesma forma que faz para outros tipos de disco. Os discos SSD v2 Premium têm algumas limitações, consulte a seção Limitações do SSD Premium v2 do artigo para saber mais.

A pré-visualização que permite a comutação direta para discos SSD Premium v2 tem algumas limitações adicionais e restrições regionais:

  • Não é possível alternar um disco do sistema operacional para um disco SSD Premium v2.
  • Os discos existentes só podem ser alternados diretamente para discos SSD Premium v2 de tamanho de setor 512.
  • Você só pode realizar 40 conversões ao mesmo tempo por assinatura e por região.
  • Se o disco existente for um disco compartilhado, você deverá desanexar todas as VMs antes de mudar para SSD Premium v2.
  • Se o disco existente estiver usando cache de host, você deverá defini-lo como nenhum antes de mudar para SSD Premium v2.
  • Se o seu disco existente estiver usando bursting, você deve desativá-lo antes de mudar para SSD Premium v2.
  • Se o seu disco existente estiver a utilizar encriptação dupla, tem de mudar para uma das opções de encriptação única antes de mudar para SSD Premium v2.
  • Não é possível alternar diretamente de um SSD Premium v2 para outro tipo de disco. Se você quiser alterar um SSD Premium v2 para outro tipo de disco, você deve migrar usando instantâneos.
  • Você não pode alternar diretamente de discos Ultra para discos SSD Premium v2, você deve migrar usando instantâneos.
  • Se você estiver usando a API rest, deverá usar uma versão 2020-12-01 da API ou mais recente para o Provedor de Recursos de Computação e o Provedor de Recursos de Disco.

Atualmente, esta pré-visualização só está disponível nas seguintes regiões:

  • E.U.A. Central
  • E.U.A. Leste
  • E.U.A. Leste 2
  • E.U.A. Oeste
  • Europa Ocidental
  • Europa do Norte
  • E.U.A. Oeste 2
  • Ásia Leste
  • Sudeste Asiático
  • Índia Central
  • França Central

Desabilitar o cache do host

Se o seu disco estiver usando cache de host, você deve desativá-lo antes de converter para SSD Premium v2. Você pode usar o seguinte script de CLI para identificar o LUN do disco e desabilitar o cache do host. Substitua yourResourceGroup e nameOfYourVM com seus próprios valores e, em seguida, execute o script.

$myRG="yourResourceGroup"
$myVM="nameOfYourVM"

lun=$(az vm show -g $myRG -n $myVM --query "storageProfile.dataDisks[].lun")

az vm update --resource-group $myRG --name $myVM --disk-caching $lun=None

Desativar bursting

Se o seu disco estiver usando bursting, você deve desativá-lo antes de converter para SSD Premium v2. Se você ativou o bursting dentro de 12 horas, você tem que esperar até a 13ª hora ou mais tarde para desativá-lo.

Você pode usar o seguinte comando para desativar o bursting de disco: az disk update --name "yourDiskNameHere" --resource-group "yourRGNameHere" --enable-bursting false

Desativar criptografia dupla

Se o seu disco estiver usando criptografia dupla, você deve desativá-lo antes de converter para SSD Premium v2. Você pode usar o seguinte comando para alterar seu disco de criptografia dupla para criptografia em repouso com chaves gerenciadas pelo cliente:

az disk-encryption-set update --name "nameOfYourDiskEncryptionSetHere" --resource-group "yourRGNameHere" --key-url yourKeyURL --source-vault "yourKeyVaultName" --encryption-type EncryptionAtRestWithCustomerKey

Alternar todos os discos gerenciados de uma VM de uma conta para outra

Este exemplo mostra como converter todos os discos de uma VM num armazenamento premium. No entanto, ao alterar a variável $storageType neste exemplo, pode converter o tipo de discos da VM em SSD standard ou HDD standard. Para utilizar os discos geridos Premium, a VM tem de utilizar um tamanho de VM que suporte o armazenamento Premium. Este exemplo também muda para um tamanho que suporta o armazenamento premium:

# Name of the resource group that contains the VM
$rgName = 'yourResourceGroup'

# Name of the your virtual machine
$vmName = 'yourVM'

# Choose between Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_ZRS, and Premium_LRS based on your scenario
$storageType = 'Premium_LRS'

# Premium capable size
# Required only if converting storage from Standard to Premium
$size = 'Standard_DS2_v2'

# Stop and deallocate the VM before changing the size
Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force

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

# Change the VM size to a size that supports Premium storage
# Skip this step if converting storage from Premium to Standard
$vm.HardwareProfile.VmSize = $size
Update-AzVM -VM $vm -ResourceGroupName $rgName

# Get all disks in the resource group of the VM
$vmDisks = Get-AzDisk -ResourceGroupName $rgName 

# For disks that belong to the selected VM, convert to Premium storage
foreach ($disk in $vmDisks)
{
	if ($disk.ManagedBy -eq $vm.Id)
	{
		$disk.Sku = [Microsoft.Azure.Management.Compute.Models.DiskSku]::new($storageType)
		$disk | Update-AzDisk
	}
}

Start-AzVM -ResourceGroupName $rgName -Name $vmName

Alterar o tipo de um disco gerenciado individual

Relativamente à sua carga de trabalho de dev/test, poderá querer uma combinação de discos Standard e Premium, para reduzir os custos. Pode optar por atualizar apenas os discos que precisam de um desempenho melhor. Este exemplo mostra como converter um disco de VM individual do armazenamento Standard em Premium. No entanto, ao alterar a variável $storageType neste exemplo, pode converter o tipo de discos da VM em SSD standard ou HDD standard. Para utilizar os discos geridos Premium, a VM tem de utilizar um tamanho de VM que suporte o armazenamento Premium. Você também pode usar esses exemplos para alterar um disco de disco de armazenamento com redundância local (LRS) para um disco de armazenamento com redundância de zona (ZRS) ou vice-versa. Este exemplo também mostra como mudar para um tamanho que suporte o armazenamento Premium:

Nota

Como uma visualização pública, você pode alterar o tipo de um disco existente para um disco SSD Premium v2 da mesma forma que faria para outros tipos de disco. Para se inscrever na pré-visualização, consulte Premium SSD v2 migration (preview).


$diskName = 'yourDiskName'
# resource group that contains the managed disk
$rgName = 'yourResourceGroupName'
# Choose between Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_ZRS, and Premium_LRS based on your scenario
$storageType = 'Premium_LRS'
# Premium capable size 
$size = 'Standard_DS2_v2'

$disk = Get-AzDisk -DiskName $diskName -ResourceGroupName $rgName

# Get parent VM resource
$vmResource = Get-AzResource -ResourceId $disk.ManagedBy

# Stop and deallocate the VM before changing the storage type
Stop-AzVM -ResourceGroupName $vmResource.ResourceGroupName -Name $vmResource.Name -Force

$vm = Get-AzVM -ResourceGroupName $vmResource.ResourceGroupName -Name $vmResource.Name 

# Change the VM size to a size that supports Premium storage
# Skip this step if converting storage from Premium to Standard
$vm.HardwareProfile.VmSize = $size
Update-AzVM -VM $vm -ResourceGroupName $rgName

# Update the storage type
$disk.Sku = [Microsoft.Azure.Management.Compute.Models.DiskSku]::new($storageType)
$disk | Update-AzDisk

Start-AzVM -ResourceGroupName $vm.ResourceGroupName -Name $vm.Name

Migre para SSD Premium v2 ou Ultra Disk usando snapshots

Nota

Como uma visualização pública, você pode alterar o tipo de um disco existente para um disco SSD Premium v2 da mesma forma que faria para outros tipos de disco. Para se inscrever na pré-visualização, consulte Premium SSD v2 migration (preview).

Atualmente, você só pode migrar um disco existente para um SSD Premium v2 ou um Ultra Disk por meio de instantâneos armazenados no armazenamento padrão (Incremental Standard HDD Snapshot). Não há suporte para migração com snapshots armazenados no armazenamento Premium e outras opções. A migração via snapshot de SSD Premium v2 ou Ultra Disk para SSD Premium v1, SSD Standard e HDD Standard não é suportada.

Tanto os discos SSD Premium v2 como os Ultra Disks têm o seu próprio conjunto de restrições. Por exemplo, nenhum deles pode ser usado como um disco do sistema operacional e também não estão disponíveis em todas as regiões. Consulte as seções Limitações do SSD Premium v2 e Escopo e limitações do Ultra Disk GA de seus artigos para obter mais informações.

Importante

Ao migrar um HDD padrão, SSD padrão ou SSD Premium para um disco Ultra ou SSD Premium v2, o tamanho do setor lógico deve ser 512.

O script a seguir migra um instantâneo de um HDD padrão, SSD padrão ou SSD Premium para um disco Ultra ou um SSD Premium v2.

$diskName = "yourDiskNameHere"
$resourceGroupName = "yourResourceGroupNameHere"
$snapshotName = "yourDesiredSnapshotNameHere"

# Valid values are 1, 2, or 3
$zone = "yourZoneNumber"

#Provide the size of the disks in GB. It should be greater than the VHD file size.
$diskSize = '128'

#Provide the storage type. Use PremiumV2_LRS or UltraSSD_LRS.
$storageType = 'PremiumV2_LRS'

#Provide the Azure region (e.g. westus) where Managed Disks will be located.
#This location should be same as the snapshot location
#Get all the Azure location using command below:
#Get-AzLocation

#Select the same location as the current disk
#Note that Premium SSD v2 and Ultra Disks are only supported in a select number of regions
$location = 'eastus'

#When migrating a Standard HDD, Standard SSD, or Premium SSD to either an Ultra Disk or Premium SSD v2, the logical sector size must be 512
$logicalSectorSize=512

# Get the disk that you need to backup by creating an incremental snapshot
$yourDisk = Get-AzDisk -DiskName $diskName -ResourceGroupName $resourceGroupName

# Create an incremental snapshot by setting the SourceUri property with the value of the Id property of the disk
$snapshotConfig=New-AzSnapshotConfig -SourceUri $yourDisk.Id -Location $yourDisk.Location -CreateOption Copy -Incremental 
$snapshot = New-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName -Snapshot $snapshotConfig

$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Copy -SourceResourceId $snapshot.Id -DiskSizeGB $diskSize -LogicalSectorSize $logicalSectorSize -Zone $zone
 
New-AzDisk -Disk $diskConfig -ResourceGroupName $resourceGroupName -DiskName $diskName

Próximos passos

Faça uma cópia somente leitura de uma VM usando um instantâneo.