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. Nella maggior parte dei casi, non è ancora possibile passare da o a un disco Ultra o SSD Premium v2; a tale scopo è necessario distribuirne uno nuovo con uno snapshot di un disco esistente. Tuttavia, è possibile passare da dischi esistenti a un'unità SSD Premium v2. Per informazioni dettagliate, vedere Convertire dischi SSD Premium v2.
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.
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
È possibile modificare il tipo di un disco esistente in un disco SSD Premium v2 nello stesso modo in cui si farebbe per altri tipi di disco. Per altre informazioni sulla funzionalità, vedere Migrazione di 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
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, 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
Convertire dischi SSD Premium v2
È possibile passare i dischi esistenti ai dischi SSD Premium v2 nello stesso modo in cui si esegue per altri tipi di disco. I dischi SSD Premium v2 presentano alcune limitazioni. Per altre informazioni, vedere la sezione Limitazioni per SSD Premium v2.
Il passaggio a dischi SSD Premium v2 presenta alcune limitazioni aggiuntive:
- 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 50 conversioni contemporaneamente per ogni sottoscrizione per area.
- Se il disco esistente è un disco condiviso, scollegare tutte le macchine virtuali prima di passare a SSD Premium v2.
- Se il disco esistente usa la memorizzazione nella cache dell'host, impostarlo su none prima di passare a SSD Premium v2.
- Se il disco esistente usa il bursting, disabilitarlo prima di passare a SSD Premium v2.
- Se il disco esistente usa la doppia crittografia, 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, eseguire la migrazione usando gli snapshot.
- Non è possibile passare direttamente da dischi Ultra a dischi SSD Premium v2, eseguire la migrazione usando gli snapshot.
- Se nel disco è configurato Azure Site Recovery, disabilitarlo prima di passare a SSD Premium v2.
- Se si usa l'API REST, 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. - Finché non viene completato il processo di conversione dal tipo di disco precedente a SSD Premium v2, le prestazioni del disco sono ridotte e non è possibile modificare o ruotare le chiavi gestite dal cliente per il disco se sono in uso.
- È possibile usare il comando seguente per controllare il processo di conversione; sostituire
$diskName
e$resourceGroupName
con i valori:az disk show -n $diskName -g $resourceGroupName --query [completionPercent] -o tsv
- È possibile usare il comando seguente per controllare il processo di conversione; sostituire
Nota
Se si usa Backup di Azure e si converte un disco in SSD Premium v2, viene acquisito uno snapshot completo del nuovo disco. Si tratta di un evento fatturabile e verrà addebitato lo snapshot.
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. Sarà necessario il LUN del disco in cui si vuole disabilitare la memorizzazione nella cache dell'host. Lo script seguente restituisce il nome dei dischi collegati alla macchina virtuale e i relativi LUN. È possibile usarlo per identificare il LUN del disco. Sostituire yourResourceGroup
e nameOfYourVM
con i propri valori pertinenti, quindi eseguire lo script.
myRG="yourResourceGroup"
myVM="nameOfYourVM"
az vm show -g $myRG -n $myVM --query "[storageProfile.dataDisks[].name, storageProfile.dataDisks[].lun]"
Dopo aver ottenuto il LUN del disco, sostituire LunHere
con il LUN ed eseguire il comando seguente per disabilitare la memorizzazione nella cache dell'host:
lun=LunHere
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
Eseguire la migrazione a un disco SSD Premium v2 o Ultra tramite snapshot
Nota
È possibile modificare il tipo di un disco esistente in un disco SSD Premium v2 nello stesso modo in cui si farebbe per altri tipi di disco. Per altre informazioni sulla funzionalità, vedere Migrazione di 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.