Бөлісу құралы:


Преобразование типа диска управляемого диска Azure

Область применения: ✔️ Виртуальные машины Linux ✔️ Windows

Существует пять типов дисков управляемых дисков Azure: диски Azure Ценовой категории "Ультра", SSD уровня "Премиум" версии 2, SSD уровня "Премиум", SSD уровня "Стандартный" и "Стандартный" HDD. Вы можете легко переключаться между SSD уровня "Премиум", "Стандартный" и "Стандартный HDD" на основе ваших потребностей в производительности. SSD уровня "Премиум" и SSD уровня "Стандартный" также доступны в хранилище, избыточном между зонами. В большинстве случаев вы еще не можете переключаться с диска категории "Ультра" или "Премиум" ssd версии 2, необходимо развернуть новый с моментальным снимком существующего диска. Однако можно переключаться с существующих дисков на SSD уровня "Премиум" версии 2. Дополнительные сведения см. в разделе "Преобразование дисков SSD уровня "Премиум" версии 2.

Эта функция не поддерживается для неуправляемых дисков. Но вы можете легко преобразовать неуправляемый диск в управляемый диск с помощью ИНТЕРФЕЙСА командной строки или PowerShell , чтобы иметь возможность переключаться между типами дисков.

Подготовка к работе

Так как преобразование требует перезагрузки виртуальной машины, запланируйте перенос диска на предварительно заданный период обслуживания.

Ограничения

  • Тип диска можно изменять только дважды в день.
  • Изменить тип можно только для управляемых дисков. Если диск неуправляем, преобразуйте его в управляемый диск с помощью интерфейса командной строки или PowerShell для переключения между типами дисков.

Изменение типа отдельного управляемого диска

Для рабочей нагрузки разработки и тестирования может потребоваться сочетание дисков категорий "Стандартный" и "Премиум", чтобы сократить затраты. Можно выбрать преобразование только тех дисков, для которых требуется обеспечить более высокую производительность. В этом примере показано, как преобразовать один диск виртуальной машины из категории "Стандартный" в "Премиум". Изменив переменную $storageType в этом примере, можно также преобразовать диски в SSD цен. категории "Стандартный" или HDD цен. категории "Стандартный". Чтобы использовать управляемые диски класса Premium, необходимо использовать размер виртуальной машины, поддерживающий хранилище класса Premium. Эти примеры также можно использовать для изменения диска с диска локально избыточного хранилища (LRS) на диск, избыточный по зонам (ZRS), или наоборот. В этом примере также показано переключение на размер, поддерживающий хранилище класса Premium.

Примечание.

Вы можете изменить тип существующего диска на диск SSD уровня "Премиум" версии 2 так же, как и для других типов дисков. Дополнительные сведения о функции см. в статье "Миграция SSD уровня "Премиум" версии 2 (предварительная версия).


$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

Переключение всех управляемых дисков виртуальной машины из одной учетной записи в другую

В этом примере показано, как преобразовать все диски виртуальной машины в хранилище класса Premium. Изменив переменную $storageType в этом примере, можно также преобразовать диски в SSD цен. категории "Стандартный" или HDD цен. категории "Стандартный". Чтобы использовать управляемые диски класса Premium, необходимо использовать размер виртуальной машины, поддерживающий хранилище класса 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

Преобразование дисков SSD уровня "Премиум" версии 2

Вы можете переключить существующие диски на диски SSD уровня "Премиум" версии 2 так же, как и для других типов дисков. Диски SSD уровня "Премиум" версии 2 имеют некоторые ограничения, см . раздел ограничений SSD уровня "Премиум" версии 2, чтобы узнать больше.

Переключение на диски SSD уровня "Премиум" версии 2 имеет некоторые дополнительные ограничения:

  • Вы не можете переключить диск ОС на диск SSD уровня "Премиум" версии 2.
  • Существующие диски можно переключать только на 512 дисков SSD уровня Premium версии 2.
  • Вы можете выполнять только 50 преобразований одновременно на каждую подписку в каждом регионе.
  • Если существующий диск является общим диском, отключите все виртуальные машины перед переходом на SSD уровня "Премиум" версии 2.
  • Если существующий диск использует кэширование узла, задайте для него значение none, прежде чем переходить на SSD уровня "Премиум" версии 2.
  • Если существующий диск использует ускорение, отключите его перед переходом на SSD уровня "Премиум" версии 2.
  • Если существующий диск использует двойное шифрование, переключитесь на один из вариантов шифрования перед переходом на SSD уровня Premium версии 2.
  • Вы не можете напрямую переключаться с SSD уровня "Премиум" версии 2 на другой тип диска. Если вы хотите изменить SSD уровня "Премиум" версии 2 на другой тип диска, выполните миграцию с помощью моментальных снимков.
  • Вы не можете напрямую переключаться с дисков ценовой категории "Ультра" на диски SSD уровня "Премиум" версии 2, перенося их с помощью моментальных снимков.
  • Если на диске настроено Azure Site Recovery, отключите его перед переходом на SSD уровня "Премиум" версии 2.
  • Если вы используете rest API, используйте версию API или более новую для 2020-12-01 поставщика вычислительных ресурсов и поставщика ресурсов диска.
  • До завершения процесса преобразования из предыдущего типа диска в SSD уровня "Премиум" версии 2 производительность диска снижается, и вы не сможете изменить или повернуть ключи, управляемые клиентом, для диска, если они используются.
    • Следующую команду можно использовать для проверки процесса преобразования, замены $diskName и $resourceGroupName значения: az disk show -n $diskName -g $resourceGroupName --query [completionPercent] -o tsv

Примечание.

Если вы используете Azure Backup и преобразуете диск в SSD уровня "Премиум" версии 2, полный моментальный снимок берется из нового диска. Это оплачиваемое событие, и вы будете взиматься за этот моментальный снимок.

Отключение кэширования узла

Если диск использует кэширование узла, необходимо отключить его перед преобразованием в SSD класса Premium версии 2. Вам потребуется LUN диска, на котором вы хотите отключить кэширование узла. Следующий скрипт выводит имя дисков, подключенных к виртуальной машине, и их LUN. Это можно использовать для идентификации LUN диска. Замените и nameOfYourVM на свои yourResourceGroup собственные значения, а затем запустите скрипт.

myRG="yourResourceGroup"
myVM="nameOfYourVM"

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

После получения LUN диска замените LunHere LUN на LUN и выполните следующую команду, чтобы отключить кэширование узла:

lun=LunHere

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

Отключение ускорения

Если диск использует ускорение, необходимо отключить его перед преобразованием в SSD уровня "Премиум" версии 2. Если вы включили ускорение в течение 12 часов, необходимо дождаться 13-го часа или более поздней версии, чтобы отключить его.

Для отключения ускорения диска можно использовать следующую команду: az disk update --name "yourDiskNameHere" --resource-group "yourRGNameHere" --enable-bursting false

Отключение двойного шифрования

Если диск использует двойное шифрование, его необходимо отключить перед преобразованием в SSD уровня "Премиум" версии 2. Следующая команда позволяет изменить диск с двойного шифрования на шифрование неактивных с помощью ключей, управляемых клиентом:

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

Миграция на SSD уровня "Премиум" версии 2 или "Ультра" с помощью моментальных снимков

Примечание.

Вы можете изменить тип существующего диска на диск SSD уровня "Премиум" версии 2 так же, как и для других типов дисков. Дополнительные сведения о функции см. в статье "Миграция SSD уровня "Премиум" версии 2 (предварительная версия).

В настоящее время вы можете перенести существующий диск только на SSD уровня "Премиум" версии 2 или на диск категории "Ультра", используя моментальные снимки, хранящиеся в хранилище уровня "Стандартный" (добавочный моментальный снимок HDD уровня "Стандартный"). Миграция с моментальными снимками, хранящимися в хранилище класса Premium, и другие параметры не поддерживаются. Миграция с моментального снимка с SSD уровня "Премиум" версии 2 или "Ультра" на SSD уровня "Премиум" версии 1, SSD уровня "Стандартный" и "Стандартный" hdD не поддерживается.

Диски SSD ценовой категории "Премиум" версии 2 и "Ультра" имеют собственный набор ограничений. Например, ни в качестве диска ОС нельзя использовать, а также не доступны во всех регионах. Дополнительные сведения см. в разделах об ограничениях SSD уровня "Премиум" версии 2 и области общедоступной версии 2.

Внимание

При переносе SSD уровня "Стандартный", "Стандартный" или "Премиум" SSD на диск "Ультра" или "Премиум SSD версии 2" размер логического сектора должен составлять 512.

Следующий скрипт переносит моментальный снимок диска HDD уровня "Стандартный", "Стандартный" или SSD уровня "Премиум" на диск категории "Ультра" или SSD уровня "Премиум" версии 2.

$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

Следующие шаги

Создайте копию виртуальной машины, доступную только для чтения, с помощью моментальных снимков.