本文介绍如何将现有磁盘从本地冗余存储 (LRS) 转换为区域冗余存储 (ZRS)。
有关 ZRS 的概念性信息,请参阅托管磁盘的区域冗余存储
只有高级 SSD 和标准 SSD 托管磁盘支持托管磁盘的 ZRS。 高级 SSD v2 托管磁盘不支持托管磁盘的 ZRS。 强制分离仅支持数据磁盘。
ZRS 磁盘目前在中国北部 3 中可用。
在将磁盘从 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 磁盘。
创建快照的最简单和最直接的方法是在 VM 脱机时执行此操作。 请参阅快照。 如果你选择此方法,预期会出现一段停机时间。 若要使用 Azure 门户、PowerShell 或 Azure CLI 创建 VM 的快照,请参阅创建虚拟硬盘的快照
如果要为附加到正在运行的 VM 的磁盘创建快照,请先阅读《快照》中的指导,然后再继续操作。
现在,你已创建原始磁盘的快照,可以使用它们来创建 ZRS 托管磁盘。
使用以下 Azure CLI 代码片段从源磁盘快照创建 ZRS 托管磁盘:
# Create a new ZRS Managed Disks using the snapshot Id and the SKU supported
storageType=Premium_ZRS
location=chinanorth3
az disk create --resource-group $resourceGroupName --name $diskName --sku $storageType --size-gb $diskSize --source $snapshotId
将数据迁移到 ZRS 托管磁盘或区域托管磁盘后,在将这些新磁盘设置为 OS 磁盘和数据磁盘的情况下创建新的 VM:
az vm create -g MyResourceGroup -n MyVm --attach-os-disk newZonalOSDiskCopy --attach-data-disks newZonalDataDiskCopy --os-type linux