本文介绍如何将现有磁盘从本地冗余存储 (LRS) 转换为区域冗余存储 (ZRS)。
有关 ZRS 的概念性信息,请参阅托管磁盘的区域冗余存储
限制
只有高级 SSD 和标准 SSD 托管磁盘支持托管磁盘的 ZRS。 高级 SSD v2 托管磁盘或 Ultra Disks 不支持托管磁盘的 ZRS。 强制分离仅支持数据磁盘。
区域可用性
ZRS 磁盘在所有区域都提供可用性区域支持。 有关这些区域的列表,请参阅 Azure 区域列表。
确定基础结构冗余
在将磁盘从 LRS 转换为 ZRS 之前,必须先确定磁盘是区域磁盘还是地区磁盘。 如何根据磁盘是区域还是地区磁盘来迁移磁盘更改。
- 登录到 Azure 门户
- 导航到磁盘,并在“概述”选项卡上的“可用性区域”下查看。
- 如果该值为“不需要基础结构冗余”,则具有地区磁盘。 请使用地区迁移迁移磁盘。
- 如果该值为任何其他值,则具有区域磁盘。 请使用区域迁移来迁移磁盘。
运行以下命令并观察输出。 如果“区域”中不存在任何值,则具有地区磁盘。 请使用地区迁移迁移磁盘。 否则,你有一个区域磁盘。 请使用区域迁移来迁移磁盘。
Get-AzDisk -DiskName your_disk_name_here -ResourceGroupName your_RG_name_here
运行以下命令并观察输出。 如果“区域”中不存在任何值,则具有地区磁盘。 请使用地区迁移迁移磁盘。 否则,你有一个区域磁盘。 请使用区域迁移来迁移磁盘。
az disk show --name your_disk_name_here --resource-group your_RG_name_here
地区迁移
可以使用以下选项直接更改地区磁盘的磁盘类型。
执行以下步骤:
- 登录 Azure 门户。
- 在“虚拟机”列表中选择 VM。
- 如果该 VM 未停止,请在 VM“概述”窗格的顶部选择“停止”,然后等待该 VM 停止。
- 在 VM 对应的窗格中,从菜单中选择“磁盘”。
- 选择要转换的磁盘。
- 从菜单选择“大小 + 性能”。
- 将“帐户类型”从原始磁盘类型更改为所需的磁盘类型。
- 选择“保存”并关闭磁盘窗格。
磁盘类型转换会瞬间完成。 可以在转换后启动 VM。
$diskName = 'yourDiskName'
# resource group that contains the managed disk
$rgName = 'yourResourceGroupName'
# Choose between StandardSSD_ZRS or Premium_ZRS based on your scenario
$storageType = 'Premium_ZRS'
# 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
#resource group that contains the managed disk
$rgName='yourResourceGroup'
#Name of your managed disk
diskName='yourManagedDiskName'
#Premium capable size
#Required only if converting from Standard to Premium
size='Standard_DS2_v2'
#Choose between StandardSSD_ZRS or Premium_ZRS based on your scenario
sku='Premium_ZRS'
#Get the parent VM Id
vmId=$(az disk show --name $diskName --resource-group $rgName --query managedBy --output tsv)
#Deallocate the VM before changing the size of the VM
az vm deallocate --ids $vmId
#Change the VM size to a size that supports Premium storage
#Skip this step if converting storage from Premium to Standard
az vm resize --ids $vmId --size $size
# Update the SKU
az disk update --sku $sku --name $diskName --resource-group $rgName
az vm start --ids $vmId
区域迁移
在本部分中,你会将数据从当前托管磁盘迁移到 ZRS 托管磁盘。
如果具有区域磁盘,则无法直接更改其类型。 必须拍摄快照并使用该快照创建新的 ZRS 磁盘。
步骤 1:创建快照
创建快照的最简单和最直接的方法是在 VM 脱机时执行此操作。 请参阅快照。 如果你选择此方法,预计会有一些停机时间。 若要使用 Azure 门户、PowerShell 或 Azure CLI 创建 VM 的快照,请参阅创建虚拟硬盘的快照
如果要为附加到正在运行的 VM 的磁盘创建快照,请先阅读《快照》中的指导,然后再继续操作。
步骤 2:迁移托管磁盘上的数据
现在,你已创建原始磁盘的快照,可以使用它们来创建 ZRS 托管磁盘。
将数据迁移到 ZRS 托管磁盘
使用以下 Azure CLI 代码片段从源磁盘快照创建 ZRS 托管磁盘:
# Create a new ZRS Managed Disks using the snapshot Id and the SKU supported
storageType=Premium_ZRS
location=westus2
az disk create --resource-group $resourceGroupName --name $diskName --sku $storageType --size-gb $diskSize --source $snapshotId
步骤 3:使用新磁盘创建新 VM
将数据迁移到 ZRS 托管磁盘或区域托管磁盘后,在将这些新磁盘设置为 OS 磁盘和数据磁盘的情况下创建新的 VM:
az vm create -g MyResourceGroup -n MyVm --attach-os-disk newZonalOSDiskCopy --attach-data-disks newZonalDataDiskCopy --os-type linux