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, você pode alternar de discos existentes para um SSD Premium v2. Consulte Converter discos SSD Premium v2 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.
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
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 saber mais sobre o recurso, consulte Migração de SSD Premium v2 (visualização).
$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 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, 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 SSD Premium v2
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.
Mudar para discos SSD Premium v2 tem algumas limitações adicionais:
- 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 50 conversões ao mesmo tempo por assinatura e por região.
- Se o disco existente for um disco compartilhado, desanexe todas as VMs antes de mudar para SSD Premium v2.
- Se o disco existente estiver usando cache de host, defina-o como nenhum antes de mudar para SSD Premium v2.
- Se o seu disco existente estiver usando bursting, desative-o antes de mudar para SSD Premium v2.
- Se o seu disco existente estiver a utilizar encriptação dupla, mude 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, migre usando instantâneos.
- Você não pode alternar diretamente de discos Ultra para discos SSD Premium v2, migrar usando instantâneos.
- Se o seu disco tiver o Azure Site Recovery configurado, desative-o antes de mudar para SSD Premium v2.
- Se você estiver usando a API rest, use 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. - Até que o processo de conversão do seu tipo de disco anterior para SSD Premium v2 seja concluído, o desempenho do disco é degradado e você não pode alterar ou girar 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
com seus valores:az disk show -n $diskName -g $resourceGroupName --query [completionPercent] -o tsv
- Você pode usar o seguinte comando para verificar o processo de conversão, substituir
Nota
Se estiver a utilizar a Cópia de Segurança do Azure e converter um disco para SSD Premium v2, é tirado um instantâneo completo do novo disco. Este é um evento faturável e você será cobrado por esse instantâneo.
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ê precisará do LUN do disco no qual deseja desabilitar o cache do host. O script a seguir gera o nome dos discos conectados à sua VM e seus LUNs. Você pode usar isso para identificar o LUN do disco. Substitua yourResourceGroup
e nameOfYourVM
com 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
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
Migre para SSD Premium v2 ou Ultra Disk usando snapshots
Nota
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 saber mais sobre o recurso, consulte Migração de SSD Premium v2 (visualização).
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.