Cambio del tipo de disco de un disco administrado de Azure

Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Windows

Hay cinco tipos de disco de Discos administrados de Azure: Discos Ultra de Azure, SSD prémium v2, SSD prémium, SSD estándar y HDD estándar. Puede cambiar fácilmente entre SSD prémium, SSD estándar y HDD estándar según las necesidades de rendimiento. SSD prémium y SSD estándar también están disponibles con almacenamiento con redundancia de zona. Todavía no se puede cambiar ni desde un Disco Ultra o SSD Prémium v2 ni hacia ellos. Debe implementar uno nuevo con una instantánea de un disco existente. Consulte Migrar a SSD prémium v2 o Disco Ultra para obtener más información.

Esta funcionalidad no admite para discos no administrados. Sin embargo, puede convertir un disco no administrado en un disco administrado de manera sencilla con la CLI o PowerShell para poder cambiar entre los tipos de disco.

Antes de empezar

Dado que la conversión requiere reiniciar la máquina virtual (VM), programe la migración de discos durante una ventana de mantenimiento existente previamente.

Restricciones

  • Solo se puede cambiar de tipo de disco dos veces al día.
  • Solo se puede cambiar el tipo de disco de los discos administrados. Si el disco no está administrado, conviértalo en un disco administrado con la CLI o PowerShell para cambiar entre los tipos de disco.

Cambio de todos los discos administrados de una máquina virtual de una cuenta a otra

En este ejemplo se muestra cómo convertir todos los discos de una máquina virtual en Premium Storage. Sin embargo, al cambiar la variable $storageType en este ejemplo, puede convertir el tipo de los discos de la máquina virtual en SSD estándar o HDD estándar. Para usar Managed Disks premium, la máquina virtual debe usar un Tamaño de máquina virtual que admita Premium Storage. En este ejemplo también se pasa a un tamaño que admite Premium Storage:

# 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

Cambiar el tipo de un disco administrado individual

En el caso de la carga de trabajo de desarrollo y pruebas, puede que quiera tener una combinación de discos estándar y Premium para reducir los costos. Puede optar por actualizar solamente los discos que necesitan un rendimiento más eficaz. En este ejemplo se muestra cómo convertir un solo disco de máquina virtual de almacenamiento estándar al prémium. Sin embargo, al cambiar la variable $storageType en este ejemplo, puede convertir el tipo de los discos de la máquina virtual en SSD estándar o HDD estándar. Para usar Managed Disks premium, la máquina virtual debe usar un Tamaño de máquina virtual que admita Premium Storage. También puede usar estos ejemplos para cambiar un disco de almacenamiento con redundancia local (LRS) a un disco de almacenamiento con redundancia de zona (ZRS) o viceversa. En este ejemplo se muestra cómo pasar a un tamaño que admite Premium Storage:


$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

Migración a SSD prémium v2 o Disco Ultra

Actualmente, solo puede migrar un disco existente a un Disco Ultra o un SSD prémium v2 a través de instantáneas almacenadas en Standard Storage (instantánea incremental de HDD estándar). No se admite la migración con instantáneas almacenadas en Premium Storage u otras opciones.

Tanto los discos SSD prémium v2 como los Discos Ultra tienen su propio conjunto de restricciones. Por ejemplo, no se pueden usar como disco del sistema operativo y tampoco están disponibles en todas las regiones. Para obtener más información, consulte las secciones Limitaciones de SSD prémium v2 y Limitaciones y alcance de disponibilidad general del Disco Ultra.

Importante

Al migrar un HDD estándar, SSD estándar o SSD Premium a un Disco Ultra o SSD prémium v2, el tamaño del sector lógico debe ser 512.

El siguiente script migra una instantánea de un HDD estándar, SSD estándar o SSD prémium a un Disco Ultra o un SSD prémium 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

Pasos siguientes

Realice una copia de solo lectura de una máquina virtual mediante una instantánea.