Azure マネージド ディスクのディスクの種類を変換する
適用対象: ✔️ Linux VM ✔️ Windows
Azure マネージド ディスクには、Azure Ultra Disks、Premium SSD v2、Premium SSD、Standard SSD、Standard HDD の 5 つのディスクの種類があります。 パフォーマンスのニーズに合わせて、Premium SSD、Standard SSD、および Standard HDD を簡単に切り替えることができます。 Premium SSD と Standard SSD は、 ゾーン冗長ストレージ でも使用できます。 ほとんどの場合、Ultra Disk または Premium SSD v2 に、またはそれらから切り替えることはまだできません。既存のディスクのスナップショットを含む新しいディスクをデプロイする必要があります。 ただし、既存のディスクから Premium SSD v2 に切り替えることができます。 詳細については、「Premium SSD v2 ディスクを変換する」を参照してください。
この機能は、アンマネージド ディスクではサポートされていません。 ただし、ディスクの種類を切り替えられるようにするために、CLI あるいは PowerShell を使用して、アンマネージド ディスクをマネージド ディスクに簡単に変換できます。
始める前に
変換には仮想マシン (VM) の再起動を伴うので、既に設定されているメンテナンス期間中にディスクの移行をスケジュールしてください。
制限
- ディスクの種類を変更できるのは 1 日 2 回のみです。
- 変更できるのは、マネージド ディスクのディスクの種類のみです。 お使いのディスクがアンマネージド ディスクの場合は、CLI または PowerShell を使用してマネージド ディスクに変換してディスクの種類を切り替えます。
個々のマネージド ディスクの種類を変更する
開発/テスト ワークロードでは、コストを削減するために Standard ディスクと Premium ディスクを混在させたい場合があります。 パフォーマンスを上げる必要があるディスクだけをアップグレードするように選択できます。 この例では、1 つの VM ディスクを Standard から Premium ストレージに変換する方法について説明します。 ただし、この例で $storageType 変数を変更することで、VM のディスクの種類を Standard SSD または Standard HDD に変換できます。 Premium マネージド ディスクを使用するには、Premium Storage に対応している VM のサイズを使用している必要があります。 これらの例を使用して、ディスクをローカル冗長ストレージ (LRS) ディスクからゾーン冗長ストレージ (ZRS) ディスクに、またはその逆に変更することもできます。 この例では、Premium ストレージに対応するサイズに切り替える方法も示しています。
Note
他のディスクの種類と同じ方法で、既存のディスクの種類を Premium SSD v2 ディスクに変更できます。 この機能については、Premium SSD v2 の移行 (プレビュー) に関するセクションをご覧ください。
$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
VM のすべてのマネージド ディスクをあるアカウントから別のものに切り替える
この例では、VM のすべてのディスクを Premium Storage に変換する方法を示します。 ただし、この例で $storageType 変数を変更することで、VM のディスクの種類を Standard SSD または Standard HDD に変換できます。 Premium マネージド ディスクを使用するには、Premium Storage に対応している VM のサイズを使用している必要があります。 この例は、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
Premium SSD v2 ディスクを変換する
他のディスクの種類と同じ方法で、既存のディスクを Premium SSD v2 ディスクに切り替えることができます。 Premium SSD v2 ディスクにはいくつかの制限があります。詳細については、それらに関する記事にある Premium SSD v2 の制限事項のセクションを参照してください。
Premium SSD v2 ディスクへの切り替えには、いくつかの追加の制限があります。
- OS ディスクを Premium SSD v2 ディスクに切り替えることはできません。
- 既存のディスクは、512 セクター サイズの Premium SSD v2 ディスクにのみ直接切り替えることができます。
- サブスクリプションのリージョンで同時に実行できる変換は 50 個までです。
- 既存のディスクが共有ディスクである場合は、Premium SSD v2 に変更する前に、すべての VM をデタッチします。
- 既存のディスクでホスト キャッシュを使用している場合は、Premium SSD v2 に変更する前に、それを none に設定します。
- 既存のディスクでバーストを使用している場合は、Premium SSD v2 に変更する前に、それを無効にします。
- 既存のディスクで二重暗号化を使用している場合は、Premium SSD v2 に変更する前に、単一暗号化オプションのいずれかに切り替えます。
- Premium SSD v2 から別のディスクの種類に直接切り替えることはできません。 Premium SSD v2 を別のディスクの種類に変更したい場合は、スナップショットを使用して移行します。
- Ultra Disks から Premium SSD v2 ディスクに直接切り替えることはできません。スナップショットを使用して移行してください。
- ディスク上で Azure Site Recovery が構成されている場合は、Premium SSD v2 に変更する前に、それを無効にします。
- REST API を使用している場合は、コンピューティング リソース プロバイダーとディスク リソース プロバイダーの両方で API バージョン
2020-12-01
以降を使用します。 - 以前のディスクの種類から Premium SSD v2 への変換プロセスが完了するまでは、ディスクのパフォーマンスが低下し、使用中のディスクのカスタマーマネージド キーを変更したりローテーションしたりすることはできません。
- 次のコマンドを使用することで、変換プロセスを確認できます。
$diskName
と$resourceGroupName
は実際の値に置き換えてください:az disk show -n $diskName -g $resourceGroupName --query [completionPercent] -o tsv
- 次のコマンドを使用することで、変換プロセスを確認できます。
Note
Azure Backup を使用していて、ディスクを Premium SSD v2 に変換すると、新しいディスクの完全なスナップショットが作成されます。 これは課金対象のイベントであり、そのスナップショットに対して課金が行われます。
ホスト キャッシュを無効にする
ディスクでホスト キャッシュを使用している場合は、Premium SSD v2 に変換する前に、それを無効にする必要があります。 ホスト キャッシュを無効にしたいディスクの LUN が必要になります。 次のスクリプトは、VM にアタッチされているディスクの名前とそれぞれの LUN を出力します。 これを使用することで、ディスクの LUN を特定できます。 スクリプトを実行する前に、yourResourceGroup
と nameOfYourVM
を実際の値に置き換えます。
myRG="yourResourceGroup"
myVM="nameOfYourVM"
az vm show -g $myRG -n $myVM --query "[storageProfile.dataDisks[].name, storageProfile.dataDisks[].lun]"
ディスクの LUN を取得したら、LunHere
を LUN に置き換え、次のコマンドを実行してホスト キャッシュを無効にします。
lun=LunHere
az vm update --resource-group $myRG --name $myVM --disk-caching $lun=None
バーストを無効にする
ディスクでバーストを使用している場合は、Premium SSD v2 に変換する前に、それを無効にする必要があります。 12 時間以内にバーストを有効にした場合は、13 時間以降まで待機してから無効にする必要があります。
次のコマンドを使用して、ディスク バーストを無効にすることができます: az disk update --name "yourDiskNameHere" --resource-group "yourRGNameHere" --enable-bursting false
二重暗号化を無効にする
ディスクに二重暗号化を使用している場合は、Premium SSD v2 に変換する前に、それを無効にする必要があります。 次のコマンドを使用して、ディスクを二重暗号化からカスタマー マネージド キーによる保存時の暗号化に変更できます。
az disk-encryption-set update --name "nameOfYourDiskEncryptionSetHere" --resource-group "yourRGNameHere" --key-url yourKeyURL --source-vault "yourKeyVaultName" --encryption-type EncryptionAtRestWithCustomerKey
スナップショットを使用して Premium SSD v2 または Ultra Disk に移行する
Note
他のディスクの種類と同じ方法で、既存のディスクの種類を Premium SSD v2 ディスクに変更できます。 この機能については、Premium SSD v2 の移行 (プレビュー) に関するセクションをご覧ください。
現在、既存のディスクを Premium SSD v2 または Ultra Disk のどちらかに移行できるのは、Standard Storage で保存されているスナップショットを介してのみです (増分 Standard HDD スナップショット)。 Premium Storage に保存されているスナップショットを使用した移行とその他のオプションはサポートされていません。 Premium SSD v2 または Ultra Disk から Premium SSD v1、Standard SSD、Standard HDD へのスナップショットによる移行はサポートされていません。
Premium SSD v2 ディスクと Ultra Disks の両方に独自の一連の制限があります。 たとえば、どちらも OS ディスクとして使用することはできません。また、すべてのリージョンで使用できるわけではありません。 詳細については、それぞれの記事の「Premium SSD v2 の制限事項」セクションと「Ultra Disk GA のスコープと制限事項」セクションを参照してください。
重要
Standard HDD、Standard SSD、または Premium SSD を Ultra Disk または Premium SSD v2 に移行するときは、論理セクター サイズが 512 である必要があります。
次のスクリプトでは、Standard HDD、Standard SSD、または Premium SSD のスナップショットを Ultra Disk または Premium SSD 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
次のステップ
スナップショットを使用して、VM の読み取り専用コピーを取得します。