本文介绍如何部署使用区域冗余存储 (ZRS) 作为冗余选项的磁盘。 ZRS 跨所选区域中的三个Azure可用性区域同步复制Azure托管磁盘。 每个可用性区域都是一个独立的物理位置,具有独立的电源、冷却系统和网络。
有关 ZRS 的概念性信息,请参阅托管磁盘的区域冗余存储
限制
只有高级 SSD 和标准 SSD 托管磁盘支持 ZRS。 高级 SSD v2 托管磁盘或 Ultra Disks 不支持托管磁盘的 ZRS。 强制分离仅支持数据磁盘。
区域可用性
ZRS 磁盘目前在中国北部 3 中可用。
部署 ZRS 托管磁盘
- Azure 门户
- Azure CLI
- Azure PowerShell
- 资源管理器模板
使用 ZRS OS 磁盘创建虚拟机
登录到 Azure 门户。
导航到“虚拟机”,按照正常的虚拟机创建过程进行操作。
请转到“磁盘”窗格。
选择磁盘,然后从下拉列表中选择一个 ZRS 磁盘。
继续完成 VM 部署的其余部分,做出想要的任何选择。
您现在已经部署了一个使用 ZRS OS 磁盘的虚拟机。
创建 ZRS 磁盘
在 Azure 门户中,搜索并选择 Disks。
选择“+ 添加”以创建新的磁盘。
选择支持的区域,并将“可用性区域”选择为“无”。
选择更改大小。
选择一个可用的 ZRS 磁盘,然后选择“确定”。
继续完成部署过程。
现已创建采用 ZRS 的托管磁盘。
使用 ZRS 磁盘创建虚拟机
以下Azure CLI示例使用 az group create 和 az vm create 创建具有标准 SSD ZRS OS 磁盘和 128-GiB 高级 SSD ZRS 数据磁盘的 Ubuntu 虚拟机(VM)。 将变量值替换为部署的名称、区域、VM 大小和映像。
rgName=yourRGName
vmName=yourVMName
location=chinanorth3
vmSize=Standard_DS2_v2
image=Ubuntu2204
osDiskSku=StandardSSD_ZRS
dataDiskSku=Premium_ZRS
az group create -n $rgName -l $location
az vm create -g $rgName \
-n $vmName \
-l $location \
--image $image \
--size $vmSize \
--generate-ssh-keys \
--data-disk-sizes-gb 128 \
--storage-sku os=$osDiskSku 0=$dataDiskSku
在不同区域中创建具有共享 ZRS 磁盘的虚拟机
以下Azure CLI示例使用 az disk create 创建支持两个附件的 1 TiB 共享高级 SSD ZRS 磁盘。 然后,它使用 az vm create 在可用性区域 1 和 2 中创建两个 Ubuntu VM,并将共享磁盘附加到这两个 VM。 将变量值替换为部署的名称、区域、VM 大小和映像。
location=chinanorth3
rgName=yourRGName
vmNamePrefix=yourVMNamePrefix
vmSize=Standard_DS2_v2
image=Ubuntu2204
osDiskSku=StandardSSD_LRS
sharedDiskName=yourSharedDiskName
sharedDataDiskSku=Premium_ZRS
az group create -n $rgName -l $location
az disk create -g $rgName \
-n $sharedDiskName \
-l $location \
--size-gb 1024 \
--sku $sharedDataDiskSku \
--max-shares 2
sharedDiskId=$(az disk show -g $rgName -n $sharedDiskName --query 'id' -o tsv)
az vm create -g $rgName \
-n $vmNamePrefix"01" \
-l $location \
--image $image \
--size $vmSize \
--generate-ssh-keys \
--zone 1 \
--attach-data-disks $sharedDiskId \
--storage-sku os=$osDiskSku \
--vnet-name $vmNamePrefix"_vnet" \
--subnet $vmNamePrefix"_subnet"
az vm create -g $rgName \
-n $vmNamePrefix"02" \
-l $location \
--image $image \
--size $vmSize \
--generate-ssh-keys \
--zone 2 \
--attach-data-disks $sharedDiskId \
--storage-sku os=$osDiskSku \
--vnet-name $vmNamePrefix"_vnet" \
--subnet $vmNamePrefix"_subnet"
使用 ZRS 磁盘创建虚拟机规模集
以下Azure CLI示例使用 az vmss create 创建包含标准 SSD ZRS OS 磁盘和 128-GiB 高级 SSD ZRS 数据磁盘的 Ubuntu 虚拟机规模集。 将变量值替换为部署的资源组、区域、规模集名称、VM 大小和映像。
location=chinanorth3
rgName=yourRGName
vmssName=yourVMSSName
vmSize=Standard_DS3_V2
image=Ubuntu2204
osDiskSku=StandardSSD_ZRS
dataDiskSku=Premium_ZRS
az group create -n $rgName -l $location
az vmss create -g $rgName \
-n $vmssName \
-l $location \
--encryption-at-host \
--image $image \
--upgrade-policy automatic \
--generate-ssh-keys \
--data-disk-sizes-gb 128 \
--storage-sku os=$osDiskSku 0=$dataDiskSku
使用 ZRS 磁盘创建虚拟机
以下Azure PowerShell示例使用 Connect-AzAccount、Set-AzContext 和 New-AzVM 创建具有标准 SSD ZRS OS 磁盘和 128-GiB 高级 SSD ZRS 数据磁盘的 Windows VM。 将变量值替换为部署的订阅、管理员凭据、区域、现有资源组、VM 名称和 VM 大小。
$subscriptionId="yourSubscriptionId"
$vmLocalAdminUser = "yourAdminUserName"
$vmLocalAdminSecurePassword = ConvertTo-SecureString "yourVMPassword" -AsPlainText -Force
$location = "chinanorth3"
$rgName = "yourResourceGroupName"
$vmName = "yourVMName"
$vmSize = "Standard_DS2_v2"
$osDiskSku = "StandardSSD_ZRS"
$dataDiskSku = "Premium_ZRS"
Connect-AzAccount -Environment AzureChinaCloud
Set-AzContext -Subscription $subscriptionId
$subnet = New-AzVirtualNetworkSubnetConfig -Name $($vmName+"_subnet") `
-AddressPrefix "10.0.0.0/24"
$vnet = New-AzVirtualNetwork -Name $($vmName+"_vnet") `
-ResourceGroupName $rgName `
-Location $location `
-AddressPrefix "10.0.0.0/16" `
-Subnet $subnet
$nic = New-AzNetworkInterface -Name $($vmName+"_nic") `
-ResourceGroupName $rgName `
-Location $location `
-SubnetId $vnet.Subnets[0].Id
$vm = New-AzVMConfig -VMName $vmName `
-VMSize $vmSize
$credential = New-Object System.Management.Automation.PSCredential ($vmLocalAdminUser, $vmLocalAdminSecurePassword);
$vm = Set-AzVMOperatingSystem -VM $vm `
-ComputerName $vmName `
-Windows `
-Credential $credential
$vm = Add-AzVMNetworkInterface -VM $vm -Id $NIC.Id
$vm = Set-AzVMSourceImage -VM $vm `
-PublisherName 'MicrosoftWindowsServer' `
-Offer 'WindowsServer' `
-Skus '2012-R2-Datacenter' `
-Version latest
$vm = Set-AzVMOSDisk -VM $vm `
-Name $($vmName +"_OSDisk") `
-CreateOption FromImage `
-StorageAccountType $osDiskSku
$vm = Add-AzVMDataDisk -VM $vm `
-Name $($vmName +"_DataDisk1") `
-DiskSizeInGB 128 `
-StorageAccountType $dataDiskSku `
-CreateOption Empty -Lun 0
New-AzVM -ResourceGroupName $rgName `
-Location $location `
-VM $vm -Verbose
在不同区域中创建具有共享 ZRS 磁盘的虚拟机
以下Azure PowerShell示例使用 New-AzDisk 创建支持两个附件的 1 TiB 共享高级 SSD ZRS 磁盘。 它使用 New-AzVM 在可用区 1 和 2 中创建两个 VM,使用 Add-AzVMDataDisk 将共享磁盘附加到每个 VM,并使用 Update-AzVM 应用每个附加操作。 将变量值替换为部署的区域、现有资源组、VM 名称、VM 大小、共享磁盘名称和管理员凭据。
$location = "chinanorth3"
$rgName = "yourResourceGroupName"
$vmNamePrefix = "yourVMPrefix"
$vmSize = "Standard_DS2_v2"
$sharedDiskName = "yourSharedDiskName"
$sharedDataDiskSku = "Premium_ZRS"
$vmLocalAdminUser = "yourVMAdminUserName"
$vmLocalAdminSecurePassword = ConvertTo-SecureString "yourPassword" -AsPlainText -Force
$datadiskconfig = New-AzDiskConfig -Location $location `
-DiskSizeGB 1024 `
-AccountType $sharedDataDiskSku `
-CreateOption Empty `
-MaxSharesCount 2 `
$sharedDisk=New-AzDisk -ResourceGroupName $rgName `
-DiskName $sharedDiskName `
-Disk $datadiskconfig
$credential = New-Object System.Management.Automation.PSCredential ($vmLocalAdminUser, $vmLocalAdminSecurePassword);
$vm1 = New-AzVM `
-ResourceGroupName $rgName `
-Name $($vmNamePrefix+"01") `
-Zone 1 `
-Location $location `
-Size $vmSize `
-VirtualNetworkName $($vmNamePrefix+"_vnet") `
-SubnetName $($vmNamePrefix+"_subnet") `
-SecurityGroupName $($vmNamePrefix+"01_sg") `
-PublicIpAddressName $($vmNamePrefix+"01_ip") `
-Credential $credential
$vm1 = Add-AzVMDataDisk -VM $vm1 -Name $sharedDiskName -CreateOption Attach -ManagedDiskId $sharedDisk.Id -Lun 0
Update-AzVM -VM $vm1 -ResourceGroupName $rgName
$vm2 = New-AzVM `
-ResourceGroupName $rgName `
-Name $($vmNamePrefix+"02") `
-Zone 2 `
-Location $location `
-Size $vmSize `
-VirtualNetworkName $($vmNamePrefix+"_vnet") `
-SubnetName ($vmNamePrefix+"_subnet") `
-SecurityGroupName $($vmNamePrefix+"02_sg") `
-PublicIpAddressName $($vmNamePrefix+"02_ip") `
-Credential $credential `
-OpenPorts 80,3389
$vm2 = Add-AzVMDataDisk -VM $vm2 -Name $sharedDiskName -CreateOption Attach -ManagedDiskId $sharedDisk.Id -Lun 0
Update-AzVM -VM $vm2 -ResourceGroupName $rgName
使用 ZRS 磁盘创建虚拟机规模集
以下Azure PowerShell示例使用 New-AzVmss 在现有资源组中创建Windows虚拟机规模集。 规模集使用标准 SSD ZRS OS 磁盘和 128-GiB 高级 SSD ZRS 数据磁盘。 将变量值替换为部署的区域、现有资源组、规模集名称、VM 大小和管理员凭据。
$vmLocalAdminUser = "yourLocalAdminUser"
$vmLocalAdminSecurePassword = ConvertTo-SecureString "yourVMPassword" -AsPlainText -Force
$location = "chinanorth3"
$rgName = "yourResourceGroupName"
$vmScaleSetName = "yourScaleSetName"
$vmSize = "Standard_DS3_v2"
$osDiskSku = "StandardSSD_ZRS"
$dataDiskSku = "Premium_ZRS"
$subnet = New-AzVirtualNetworkSubnetConfig -Name $($vmScaleSetName+"_subnet") `
-AddressPrefix "10.0.0.0/24"
$vnet = New-AzVirtualNetwork -Name $($vmScaleSetName+"_vnet") `
-ResourceGroupName $rgName `
-Location $location `
-AddressPrefix "10.0.0.0/16" `
-Subnet $subnet
$ipConfig = New-AzVmssIpConfig -Name "myIPConfig" `
-SubnetId $vnet.Subnets[0].Id
$vmss = New-AzVmssConfig -Location $location `
-SkuCapacity 2 `
-SkuName $vmSize `
-UpgradePolicyMode 'Automatic'
$vmss = Add-AzVmssNetworkInterfaceConfiguration -Name "myVMSSNetworkConfig" `
-VirtualMachineScaleSet $vmss `
-Primary $true `
-IpConfiguration $ipConfig
$vmss = Set-AzVmssStorageProfile $vmss -OsDiskCreateOption "FromImage" `
-ImageReferenceOffer 'WindowsServer' `
-ImageReferenceSku '2012-R2-Datacenter' `
-ImageReferenceVersion latest `
-ImageReferencePublisher 'MicrosoftWindowsServer' `
-ManagedDisk $osDiskSku
$vmss = Set-AzVmssOsProfile $vmss -ComputerNamePrefix $vmScaleSetName `
-AdminUsername $vmLocalAdminUser `
-AdminPassword $vmLocalAdminSecurePassword
$vmss = Add-AzVmssDataDisk -VirtualMachineScaleSet $vmss `
-CreateOption Empty `
-Lun 1 `
-DiskSizeGB 128 `
-StorageAccountType $dataDiskSku
New-AzVmss -VirtualMachineScaleSet $vmss `
-ResourceGroupName $rgName `
-VMScaleSetName $vmScaleSetName
本节中的模板使用 Microsoft.Compute API 的 2020-12-01 版本来部署 ZRS 托管磁盘。
先决条件
必须为订阅启用 SsdZrsManagedDisks 该功能。 使用 Register-AzProviderFeature 注册该功能,然后使用 Get-AzProviderFeature 确认其注册状态。
为您的订阅注册此功能。
Register-AzProviderFeature -FeatureName "SsdZrsManagedDisks" -ProviderNamespace "Microsoft.Compute"在部署模板之前,请确认注册状态为 已注册。 注册可能需要几分钟时间。
Get-AzProviderFeature -FeatureName "SsdZrsManagedDisks" -ProviderNamespace "Microsoft.Compute"
使用 ZRS 磁盘创建虚拟机
以下Azure PowerShell示例使用 New-AzResourceGroup 创建资源组和 New-AzResourceGroupDeployment 来部署一个资源管理器模板,该模板创建具有标准 SSD ZRS OS 磁盘和高级 SSD ZRS 数据磁盘的 VM。 将变量值替换为部署的 VM 名称、管理员凭据、区域和资源组。
$vmName = "yourVMName"
$adminUsername = "yourAdminUsername"
$adminPassword = ConvertTo-SecureString "yourAdminPassword" -AsPlainText -Force
$osDiskType = "StandardSSD_ZRS"
$dataDiskType = "Premium_ZRS"
$region = "chinanorth2euap"
$resourceGroupName = "yourResourceGroupName"
New-AzResourceGroup -Name $resourceGroupName -Location $region
New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName `
-TemplateUri "https://raw.githubusercontent.com/Azure-Samples/managed-disks-powershell-getting-started/master/ZRSDisks/CreateVMWithZRSDataDisks.json" `
-resourceName $vmName `
-adminUsername $adminUsername `
-adminPassword $adminPassword `
-region $region `
-osDiskType $osDiskType `
-dataDiskType $dataDiskType
在不同区域中创建具有共享 ZRS 磁盘的虚拟机
以下Azure PowerShell示例使用 New-AzResourceGroupDeployment 部署一个资源管理器模板,该模板在不同的可用性区域中创建两个 VM,并将相同的共享高级 SSD ZRS 磁盘附加到这两个 VM。 将变量值替换为部署的 VM 名称前缀、管理员凭据、区域和现有资源组。
$vmNamePrefix = "yourVMNamePrefix"
$adminUsername = "yourAdminUserName"
$adminPassword = ConvertTo-SecureString "yourAdminPassword" -AsPlainText -Force
$osDiskType = "StandardSSD_LRS"
$sharedDataDiskType = "Premium_ZRS"
$region = "chinanorth2euap"
$resourceGroupName = "zrstesting1"
New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName `
-TemplateUri "https://raw.githubusercontent.com/Azure-Samples/managed-disks-powershell-getting-started/master/ZRSDisks/CreateVMsWithASharedDisk.json" `
-vmNamePrefix $vmNamePrefix `
-adminUsername $adminUsername `
-adminPassword $adminPassword `
-region $region `
-osDiskType $osDiskType `
-dataDiskType $sharedDataDiskType
使用 ZRS 磁盘创建虚拟机规模集
以下Azure PowerShell示例使用 New-AzResourceGroupDeployment 部署一个资源管理器模板,该模板使用标准 SSD LRS OS 磁盘和高级 SSD ZRS 数据磁盘创建虚拟机规模集。 将变量值替换为部署的规模集名称、管理员凭据、区域和现有资源组。
$vmssName="yourVMSSName"
$adminUsername="yourAdminName"
$adminPassword=ConvertTo-SecureString "yourAdminPassword" -AsPlainText -Force
$region="chinanorth2euap"
$resourceGroupName="yourResourceGroupName"
$osDiskType="StandardSSD_LRS"
$dataDiskType="Premium_ZRS"
New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName `
-TemplateUri "https://raw.githubusercontent.com/Azure-Samples/managed-disks-powershell-getting-started/master/ZRSDisks/CreateVMSSWithZRSDisks.json" `
-vmssName $vmssName `
-adminUsername $adminUsername `
-adminPassword $adminPassword `
-region $region `
-osDiskType $osDiskType `
-dataDiskType $dataDiskType
后续步骤
其他资源
-
Last updated on
2026-09-30