Convertire 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. Per la maggior parte dei casi, 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. Tuttavia, come anteprima, è possibile passare da dischi esistenti a un'unità SSD Premium v2. Per informazioni dettagliate, vedere Convertire dischi SSD Premium v2 (anteprima).

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.

Convertire dischi SSD Premium v2 (anteprima)

Come anteprima pubblica, con i dischi esistenti è possibile passare ai dischi SSD Premium v2 nello stesso modo valido per altri tipi di disco. I dischi SSD Premium v2 presentano alcune limitazioni. Per altre informazioni, vedere la sezione Limitazioni per SSD Premium v2.

L'anteprima che consente il passaggio diretto ai dischi SSD Premium v2 presenta alcune limitazioni e restrizioni aggiuntive a livello di area:

  • Non è possibile passare un disco del sistema operativo a un disco SSD Premium v2.
  • I dischi esistenti possono essere passati direttamente a dischi SSD Premium v2 con dimensioni di settore a 512 byte.
  • È possibile eseguire solo 40 conversioni contemporaneamente per ogni sottoscrizione per area.
  • Se il disco esistente è un disco condiviso, è necessario scollegare tutte le macchine virtuali prima di passare a SSD Premium v2.
  • Se il disco esistente usa la memorizzazione nella cache dell'host, è necessario impostarlo su none prima di passare a SSD Premium v2.
  • Se il disco esistente usa il bursting, è necessario disabilitarlo prima di passare a SSD Premium v2.
  • Se il disco esistente usa la doppia crittografia, è necessario passare a una delle opzioni di crittografia singola prima di passare a SSD Premium v2.
  • Non è possibile passare direttamente da SSD Premium v2 a un altro tipo di disco. Se si vuole passare da un disco SSD Premium v2 a un altro tipo di disco, è necessario eseguire la migrazione usando gli snapshot.
  • Non è possibile passare direttamente da dischi Ultra a dischi SSD Premium v2, è necessario eseguire la migrazione usando gli snapshot.
  • Se si usa l'API REST, è necessario usare l'API versione 2020-12-01 o versione successiva sia per il provider di risorse di calcolo che per il provider di risorse del disco.

Questa anteprima è attualmente disponibile solo nelle aree seguenti:

  • Stati Uniti centrali
  • Stati Uniti orientali
  • Stati Uniti orientali 2
  • Stati Uniti occidentali
  • Europa occidentale
  • Europa settentrionale
  • West US 2
  • Asia orientale
  • Asia sud-orientale
  • India centrale
  • Francia centrale

Disabilitare la memorizzazione nella cache dell'host

Se il disco esistente usa la memorizzazione nella cache dell'host, è necessario disabilitarla prima di passare a SSD Premium v2. È possibile usare lo script dell'interfaccia della riga di comando seguente per identificare il numero di unità logica del disco e disabilitare la memorizzazione nella cache dell'host. Sostituire yourResourceGroup e nameOfYourVM con i propri valori pertinenti, quindi eseguire lo 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

Disabilitare il bursting

Se il disco esistente usa il bursting, è necessario disabilitarla prima di passare a SSD Premium v2. Se è stato abilitato il bursting entro 12 ore, è necessario attendere fino alla tredicesima ora o oltre per disabilitarlo.

È possibile usare il comando seguente per disabilitare il bursting del disco: az disk update --name "yourDiskNameHere" --resource-group "yourRGNameHere" --enable-bursting false

Disabilitare la doppia crittografia

Se il disco esistente usa la doppia crittografia, è necessario disabilitarla prima di passare a SSD Premium v2. Per il disco esistente è possibile usare il comando seguente per passare dalla crittografia doppia alla crittografia dei dati inattivi con chiavi gestite dal cliente:

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

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:

Nota

Come anteprima pubblica, per il tipo di disco esistente è possibile passare a SSD Premium v2 nello stesso modo valido per altri tipi di disco. Per iscriversi all'anteprima, vedere Migrazione a SSD Premium v2 (anteprima).


$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 tramite snapshot

Nota

Come anteprima pubblica, per il tipo di disco esistente è possibile passare a SSD Premium v2 nello stesso modo valido per altri tipi di disco. Per iscriversi all'anteprima, vedere Migrazione a SSD Premium v2 (anteprima).

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

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.