Compartilhar via


Converter o tipo de disco de um disco gerenciado do Azure

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

Há cinco tipos de discos gerenciados do Azure: Discos Ultra do Azure, SSD Premium v2, SSD Premium, SSD Standard e HDD Standard. Você pode alternar facilmente entre o SSD Premium, o SSD Standard e HDD Standard com base em suas necessidades de desempenho. O SSD Premium e o SSD Standard também estão disponíveis com Armazenamento com redundância de zona. Para a maioria dos casos, ainda não é possível alternar de ou para um Disco Ultra ou um SSD Premium v2. Você deve implantar um novo com um instantâneo de um disco existente. No entanto, é possível alternar de discos existentes para um SSD Premium v2. Consulte Converter discos do SSD Premium v2 para obter detalhes.

Não há suporte para essa funcionalidade em discos não gerenciados. Mas você pode converter facilmente um disco não gerenciado em um disco gerenciado com a CLI ou o PowerShell para poder alternar entre os tipos de disco.

Antes de começar

Como a conversão requer uma reinicialização da VM (máquina virtual), programe a migração do disco durante uma janela de manutenção preexistente.

Restrições

  • Você só pode alterar o tipo de disco duas vezes por dia.
  • Você só pode alterar o tipo de disco de discos gerenciados. Se o seu disco não for gerenciado, converta-o em um disco gerenciado com a CLI ou o PowerShell para alternar entre os tipos de disco.

Alterar o tipo de um disco gerenciado individual

Para sua carga de trabalho de desenvolvimento/teste, convém ter uma combinação de discos Standard e Premium para reduzir os custos. Você pode optar por atualizar somente os discos que precisam de melhor desempenho. Este exemplo mostra como converter um único disco de VM do armazenamento Standard para Premium. No entanto, com a alteração da variável $storageType neste exemplo, você pode converter o tipo de disco da VM para SSD padrão ou HDD padrão. Para usar o Managed Disks Premium, sua VM deve usar um tamanho VM que dá suporte a armazenamento Premium. Você também pode usar esses exemplos para alterar um disco de LRS (armazenamento com redundância local) para um ZRS (armazenamento com redundância de zona) ou vice-versa. Este exemplo também mostra como alternar para um tamanho que dá suporte ao armazenamento Premium:

Observação

É possível alterar o tipo de disco existente para um disco do SSD Premium v2 da mesma maneira que faria para outros tipos de disco. Para saber mais sobre o recurso consulte a Migração do SSD Premium v2.


$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

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

Este exemplo mostra como converter todos os discos de uma VM para o armazenamento Premium. No entanto, com a alteração da variável $storageType neste exemplo, você pode converter o tipo de disco da VM para SSD padrão ou HDD padrão. Para usar o Managed Disks Premium, sua VM deve usar um tamanho VM que dá suporte a armazenamento Premium. Este exemplo também muda para um tamanho que suporte 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, Premium_LRS, and PremiumV2_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

Converter discos do SSD Premium v2

É possível alternar discos existentes para discos do SSD Premium v2 da mesma maneira que faz para outros tipos de disco. Os discos do SSD Premium v2 têm algumas limitações, consulte a seção de limitações do SSD Premium v2 de seu artigo para saber mais.

Alternar para discos SSD Premium v2 tem algumas limitações adicionais:

  • Não é possível alternar um disco do sistema operacional para um disco do SSD Premium v2.
  • Os discos existentes só podem ser alternados diretamente para discos do SSD Premium v2 de tamanho de setor de 512.
  • É possível executar apenas 50 conversões ao mesmo tempo por assinatura por região.
  • Se o disco existente for um disco compartilhado, desanexe todas as VMs antes de alterar para o SSD Premium v2.
  • Se o disco existente estiver usando o cache de host, defina-o como nenhum antes de alterar para o SSD Premium v2.
  • Se o disco existente estiver usando o bursting, desabilite-o antes de alterar para o SSD Premium v2.
  • Se o disco existente estiver usando criptografia dupla, alterne para uma das opções de criptografia única antes de alterar para o SSD Premium v2.
  • Não é possível alternar diretamente de um SSD Premium v2 para outro tipo de disco. Caso queira alterar um SSD Premium v2 para outro tipo de disco, migre usando instantâneos.
  • Não é possível alternar diretamente de Discos Ultra para discos do SSD Premium v2, migre usando instantâneos.
  • Se o disco tiver o Azure Site Recovery configurado nele, desabilite-o antes de alterar para o SSD Premium v2.
  • Se o disco estiver anexado a uma VM com o Backup do Azure habilitado, alterne para a política de Backup avançado antes de converter para o SSD Premium v2.
  • Caso esteja usando a API REST, use uma versão 2020-12-01 de API ou mais recente para o Provedor de Recursos de Computação e o Provedor de Recursos de Disco.
  • Até que o processo de conversão do tipo de disco anterior para o SSD Premium v2 seja concluído, o desempenho do disco será degradado e você não poderá alterar ou girar as chaves gerenciadas pelo cliente para o disco se elas estiverem em uso.
    • Você pode usar o seguinte comando para verificar o processo de conversão, substituir $diskName e $resourceGroupName pelo seus valores: az disk show -n $diskName -g $resourceGroupName --query [completionPercent] -o tsv

Observação

Se você estiver usando o Backup do Azure e converter um disco no SSD Premium v2, um instantâneo completo será tirado do novo disco. Esse é um evento faturável e você será cobrado por esse instantâneo.

Desabilitar o cache de host

Se o disco estiver usando o cache de host, você deverá desabilitá-lo antes de converter para o SSD Premium v2. Você precisará do LUN do disco no qual deseja desabilitar o cache de host. O script a seguir gera o nome dos discos anexados à sua VM e seus LUNs. Você pode usar isso para identificar o LUN do disco. Substitua yourResourceGroup e nameOfYourVM por seus próprios valores e, em seguida, execute o script.

myRG="yourResourceGroup"
myVM="nameOfYourVM"

az vm show -g $myRG -n $myVM --query "[storageProfile.dataDisks[].name, storageProfile.dataDisks[].lun]"

Depois de obter o LUN do disco, substitua LunHere pelo LUN e execute o seguinte comando para desabilitar o cache do host:

lun=LunHere

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

Desabilitar o bursting de disco

Se o disco estiver usando o bursting, você deverá desabilitá-lo antes de converter para o SSD Premium v2. Se você habilitou o bursting de disco dentro de 12 horas, você terá que esperar até a 13ª hora ou mais tarde para desabilitá-lo.

É possível usar o seguinte comando para desabilitar o bursting de disco: az disk update --name "yourDiskNameHere" --resource-group "yourRGNameHere" --enable-bursting false

Desabilitar a criptografia dupla

Se o disco estiver usando criptografia dupla, desabilite-o antes de converter em SSD Premium v2. É possível usar o seguinte comando para alterar o disco de criptografia dupla para criptografia inativa com chaves gerenciadas pelo cliente:

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

Migrar para o SSD Premium v2 ou Ultra Disk usando instantâneos

Observação

É possível alterar o tipo de disco existente para um disco do SSD Premium v2 da mesma maneira que faria para outros tipos de disco. Para saber mais sobre o recurso consulte a Migração do SSD Premium v2.

Atualmente, você só pode migrar um disco existente para um SSD Premium v2 ou um Disco Ultra usando os instantâneos armazenados no Armazenamento Standard (Instantâneo HDD Standard Incremental). Não há suporte para a migração com instantâneos armazenados no armazenamento Premium e outras opções. Migração por meio de instantâneo do SSD Premium v2 ou do Ultra Disk para o SSD Premium v1. Não há suporte para SSD Standard e HDD Standard.

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

Importante

Ao migrar um HDD Standard, SSD Standard 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 Standard, SSD Standard 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óximas etapas

Faça uma cópia somente leitura de uma VM usando um snapshot.