Modifier le type de disque d’un disque managé Azure

S’applique à : ✔️ Machines virtuelles Linux ✔️ Windows

Il existe cinq types de disques managés Azure : les disques Ultra Azure, SSD Premium v2, SSD Premium, SSD Standard et HDD Standard. Vous pouvez basculer facilement vers des disques SSD Premium, SSD Standard et HDD Standard, selon vos besoins en performances. Les disques SSD Premium et SSD Standard sont également disponibles avec le stockage redondant interzone. Dans la plupart des cas, vous ne pouvez pas encore basculer depuis ou vers un disque Ultra ou un disque SSD Premium v2. Vous devez en déployer un nouveau avec un instantané d’un disque existant. Toutefois, vous pouvez passer des disques existants à un disque SSD Premium v2. Consultez Convertir les disques SSD Premium v2 pour plus de détails.

Cette fonctionnalité n’est pas prise en charge pour les disques non managés. En revanche, vous pouvez facilement convertir un disque non managé en disque managé avec CLI ou PowerShell pour pouvoir basculer entre les différents types de disques.

Avant de commencer

Étant donné que la conversion de disque nécessite un redémarrage de la machine virtuelle, planifiez la migration de votre disque au cours d’une fenêtre de maintenance déjà existante.

Restrictions

  • Le type de disque ne peut être modifié que deux fois par jour.
  • Vous pouvez uniquement modifier le type de disque des disques managés. Si votre disque n’est pas managé, convertissez-le en disque managé avec CLI ou PowerShell pour basculer entre les types de disques.

Changer le type d’un disque managé individuel

Pour votre charge de travail de développement/test, vous pouvez mélanger des disques Standard et Premium afin de réduire les coûts. Vous pouvez choisir de mettre à niveau seulement les disques nécessitant de meilleures performances. Cet exemple montre comment faire passer un disque de machine virtuelle du stockage Standard au stockage Premium. Toutefois, en modifiant la variable $storageType de cet exemple, vous pouvez convertir les disques de la machine virtuelle en disques SSD standard ou HDD standard. Pour utiliser des disques managés Premium, votre machine virtuelle doit utiliser une taille de machine virtuelle qui prend en charge le stockage Premium. Vous pouvez également utiliser ces exemples pour remplacer un disque de stockage localement redondant (LRS) par un disque de stockage redondant interzone (ZRS), ou inversement. Cet exemple montre également comment passer à une taille prenant en charge le stockage Premium :

Remarque

Vous pouvez modifier le type d’un disque existant en disque SSD Premium v2 de la même façon que pour d’autres types de disques. Pour en savoir sur la fonctionnalité, consultez Migration vers SSD Premium v2 (préversion).


$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

Basculer tous les disques managés d'une VM d'un compte à un autre

Cet exemple montre comment convertir tous les disques d’une machine virtuelle en stockage Premium. Toutefois, en modifiant la variable $storageType de cet exemple, vous pouvez convertir les disques de la machine virtuelle en disques SSD standard ou HDD standard. Pour utiliser des disques managés Premium, votre machine virtuelle doit utiliser une taille de machine virtuelle qui prend en charge le stockage Premium. Cet exemple passe également à une taille prenant en charge le stockage 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

Convertir des disques SSD Premium v2

Vous pouvez basculer des disques existants vers des disques SSD Premium v2 de la même façon que pour d’autres types de disques. Les disques SSD Premium v2 présentent certaines limitations. Consultez la section Limitations du disque SSD Premium v2 de leur article pour en savoir plus.

Le passage aux disques SSD Premium v2 présente quelques limitations supplémentaires :

  • Vous ne pouvez pas basculer un disque de système d’exploitation vers un disque SSD Premium v2.
  • Les disques existants peuvent uniquement être directement basculés vers des disques SSD Premium v2 de taille de secteur 512.
  • Vous ne pouvez effectuer que 50 conversions en même temps par abonnement par région.
  • Si votre disque existant est un disque partagé, détachez toutes les machines virtuelles avant de passer à SSD Premium v2.
  • Si votre disque existant utilise la mise en cache de l’hôte, définissez-la sur none avant de passer à SSD Premium v2.
  • Si votre disque existant utilise le bursting, désactivez-le avant de passer à SSD Premium v2.
  • Si votre disque existant utilise un chiffrement double, basculez vers l’une des options de chiffrement simple avant de passer à SSD Premium v2.
  • Vous ne pouvez pas basculer directement d’un disque SSD Premium v2 vers un autre type de disque. Si vous souhaitez remplacer un disque SSD Premium v2 par un autre type de disque, effectuez une migration en utilisant des instantanés.
  • Comme vous ne pouvez pas passer directement des disques Ultra aux disques SSD Premium v2, effectuez une migration en utilisant des instantanés.
  • Si Azure Site Recovery est configuré sur votre disque, désactivez-le avant de passer à SSD Premium v2.
  • Si vous utilisez l’API REST, utilisez une API version 2020-12-01 ou ultérieure pour le fournisseur de ressources de calcul et le fournisseur de ressources de disque.
  • Tant que le processus de conversion de votre type de disque précédent en SSD Premium v2 n’est pas terminé, le niveau de performance du disque est dégradé et vous ne pouvez ni modifier ni permuter les clés gérées par le client pour le disque si elles sont en cours d’utilisation.
    • Vous pouvez utiliser la commande suivante pour vérifier le processus de conversion, en remplaçant $diskName et $resourceGroupName par vos valeurs : az disk show -n $diskName -g $resourceGroupName --query [completionPercent] -o tsv

Remarque

Si vous utilisez Sauvegarde Azure et que vous convertissez un disque en SSD Premium v2, un instantané complet du nouveau disque est réalisé. Étant donné qu’il s’agit d’un événement facturable, cet instantané vous est facturé.

Désactiver la mise en cache de l’hôte

Si votre disque utilise la mise en cache de l’hôte, vous devez la désactiver avant de le convertir en SSD Premium v2. Vous avez besoin du numéro d’unité logique du disque sur lequel vous souhaitez désactiver la mise en cache de l’hôte. Le script suivant génère le nom des disques attachés à votre machine virtuelle et leurs numéros d’unité logique. Vous pouvez utiliser ces informations pour identifier le numéro d’unité logique du disque. Remplacez yourResourceGroup et nameOfYourVM par vos propres valeurs, puis exécutez le script.

myRG="yourResourceGroup"
myVM="nameOfYourVM"

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

Une fois que vous disposez du numéro d’unité logique du disque, remplacez LunHere par le numéro d’unité logique et exécutez la commande suivante pour désactiver la mise en cache de l’hôte :

lun=LunHere

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

Désactiver le bursting

Si votre disque utilise le bursting, vous devez le désactiver avant de le convertir en SSD Premium v2. Si vous avez activé le bursting dans les 12 heures, vous devez attendre la 13e heure ou plus tard pour le désactiver.

Vous pouvez utiliser la commande suivante pour désactiver le bursting de disque : az disk update --name "yourDiskNameHere" --resource-group "yourRGNameHere" --enable-bursting false

Désactiver le chiffrement double

Si votre disque utilise le chiffrement double, vous devez le désactiver avant de le convertir en SSD Premium v2. Vous pouvez utiliser la commande suivante pour passer votre disque du chiffrement double au chiffrement au repos avec des clés gérées par le client :

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

Migrer vers un disque SSD Premium v2 ou Ultra en utilisant des instantanées

Remarque

Vous pouvez modifier le type d’un disque existant en disque SSD Premium v2 de la même façon que pour d’autres types de disques. Pour en savoir sur la fonctionnalité, consultez Migration vers SSD Premium v2 (préversion).

Actuellement, vous pouvez uniquement migrer un disque existant vers un disque SSD Premium v2 ou un disque Ultra via des instantanés stockés sur le stockage Standard (instantané HDD standard incrémentiel). La migration avec des instantanés stockés sur le stockage Premium et d’autres options n’est pas prise en charge. La migration via une capture instantanée à partir de SSD Premium v2 ou d’Un disque Ultra vers SSD Premium v1, SSD Standard et HDD Standard n’est pas prise en charge.

Les disques SSD Premium v2 et les disques Ultra ont leur propre ensemble de restrictions. Par exemple, ni l’un ni l’autre ne peuvent être utilisés comme disque de système d’exploitation et ne sont pas disponibles dans toutes les régions. Pour plus d’informations, consultez les sections Limites du disque SSD Premium v2et Étendue et limitations de la version en disponibilité générale des disques Ultra.

Important

Lors de la migration d’un HDD Standard, d’un SSD Standard ou d’un SSD Premium vers un disque Ultra ou un SSD Premium v2, la taille du secteur logique doit être de 512.

Le script suivant migre un instantané d’un disque HDD Standard, SSD Standard ou SSD Premium vers un disque Ultra ou un disque 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

Étapes suivantes

Créez une copie en lecture seule d’une machine virtuelle en utilisant une capture instantanée.