Modificare il tipo di un disco gestito di Azure

Si applica a: ✔️ macchine virtuali Linux ✔️ Windows

Sono disponibili cinque tipi di dischi gestiti di Azure: Dischi Ultra di Azure, SSD Premium v2, SSD Premium, SSD Standard e HDD Standard. È possibile passare facilmente a SSD Premium, SSD Standard e HDD Standard in base alle esigenze di prestazioni. SSD Premium e SSD Standard sono disponibili anche con archiviazione con ridondanza della zona. Non è ancora possibile passare da o a un disco Ultra o a un'unità SSD Premium v2, è necessario distribuirne uno nuovo con uno snapshot di un disco esistente. Per informazioni dettagliate, vedere Eseguire la migrazione a SSD Premium o disco Ultra.

La funzionalità non è supportata per i dischi non gestiti. È tuttavia possibile convertire facilmente un disco non gestito in un disco gestito con l'interfaccia della riga di comando o PowerShell in modo da poter cambiare poi tipo di disco.

Operazioni preliminari

La conversione richiede un riavvio della macchina virtuale ed è quindi necessario pianificare la migrazione dei dischi durante una finestra di manutenzione preesistente.

Restrizioni

  • È possibile cambiare tipo di disco due sole volte al giorno.
  • È possibile modificare solo il tipo di disco dei dischi gestiti. Se il disco non è gestito, convertirlo in un disco gestito con l'interfaccia della riga di comando o PowerShell per cambiarne il tipo.

Passare tutti i dischi gestiti di una macchina virtuale tra un account e un altro

In questo esempio viene illustrato come convertire tutti i dischi di una macchina virtuale in archiviazione premium. Tuttavia, modificando la variabile $storageType in questo esempio, è possibile convertire il tipo di dischi della macchina virtuale in SSD standard o HDD standard. Per usare i dischi gestiti Premium, la macchina virtuale deve avere dimensioni tali da supportare l'archiviazione Premium. In questo esempio si passa anche a una dimensione che supporta l'archiviazione 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

Modificare il tipo di un singolo disco gestito

Per il carico di lavoro di sviluppo/test, potrebbe essere necessaria una combinazione di dischi Standard e Premium, per ridurre i costi. È possibile scegliere di aggiornare solo i dischi che necessitano di prestazioni migliori. In questo esempio viene illustrato come convertire un singolo disco di macchina virtuale dall'archiviazione Standard all'archiviazione Premium. Tuttavia, modificando la variabile $storageType in questo esempio, è possibile convertire il tipo di dischi della macchina virtuale in SSD standard o HDD standard. Per usare i dischi gestiti Premium, la macchina virtuale deve avere dimensioni tali da supportare l'archiviazione Premium. È anche possibile usare questi esempi per modificare un disco da Archiviazione con ridondanza locale (LRS) ad Archiviazione con ridondanza della zona (ZRS) o viceversa. Questo esempio illustra anche come passare a una dimensione che supporta l'archiviazione Premium:


$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

Eseguire la migrazione a un disco SSD Premium v2 o Ultra

Attualmente, è possibile eseguire la migrazione di un disco esistente solo a un disco Ultra o a un'unità SSD Premium v2 tramite snapshot archiviati in Archiviazione Standard (snapshot HDD Standard incrementale). La migrazione con snapshot archiviati nell'archiviazione Premium e altre opzioni non sono supportate.

Sia i dischi SSD Premium v2 che i Dischi Ultra hanno un proprio set di restrizioni. Ad esempio, nessuno dei due può essere usato come disco del sistema operativo e non sono disponibili in tutte le aree. Per altre informazioni, vedere le limitazioni di SSD Premium v2 e ambito e limitazioni dei dischi Ultra con disponibilità generale nei relativi articoli.

Importante

Quando si esegue la migrazione di un'unità HDD Standard, SSD Standard o SSD Premium a un disco Ultra o SSD Premium v2, le dimensioni del settore logico devono essere pari a 512.

Lo script seguente esegue la migrazione di uno snapshot di un'unità HDD Standard, SSD Standard o SSD Premium a un disco Ultra o a un'unità 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

Passaggi successivi

Eseguire una copia di sola lettura di una macchina virtuale usando snapshot.