部署使用区域冗余存储的托管磁盘
- 项目
本文介绍如何部署使用区域冗余存储 (ZRS) 作为冗余选项的磁盘。 ZRS 在所选区域中的三个 Azure 可用性区域同步复制 Azure 托管磁盘。 每个可用性区域都是一个独立的物理位置,具有独立的电源、冷却系统和网络。
有关 ZRS 的概念性信息,请参阅托管磁盘的区域冗余存储
限制
只有高级 SSD 和标准 SSD 托管磁盘支持托管磁盘的 ZRS。 高级 SSD v2 托管磁盘不支持托管磁盘的 ZRS。 强制分离仅支持数据磁盘。
区域可用性
ZRS 磁盘目前在中国北部 3 中可用。
创建采用 ZRS OS 磁盘的 VM
登录到 Azure 门户。
导航到“虚拟机”,按照正常的虚拟机创建过程进行操作。
请转到“磁盘”窗格。
选择磁盘,然后从下拉列表中选择一个 ZRS 磁盘。
继续完成 VM 部署的其余部分,做出想要的任何选择。
现已部署采用 ZRS OS 磁盘的 VM。
创建 ZRS 磁盘
在 Azure 门户中,搜索并选择“磁盘”。
选择“+ 添加”以创建新的磁盘。
选择支持的区域并在“可用性区域”中选择“无” 。
选择“更改大小”。
选择一个可用的 ZRS 磁盘,然后选择“确定”。
继续完成部署过程。
现已创建采用 ZRS 的托管磁盘。
创建具有 ZRS 磁盘的 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 共享磁盘附加到了位于不同区域的虚拟机的 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 磁盘的虚拟机规模集
location=chinanorth3
rgName=yourRGName
vmssName=yourVMSSName
vmSize=Standard_DS3_V2
image=Ubuntu2204
osDiskSku=StandardSSD_ZRS
dataDiskSku=Premium_ZRS
az vmss create -g $rgName \
-n $vmssName \
--encryption-at-host \
--image Ubuntu2204 \
--upgrade-policy automatic \
--generate-ssh-keys \
--data-disk-sizes-gb 128 \
--storage-sku os=$osDiskSku 0=$dataDiskSku
创建具有 ZRS 磁盘的 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 共享磁盘附加到了位于不同区域的虚拟机的 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 $vm1 -Name $sharedDiskName -CreateOption Attach -ManagedDiskId $sharedDisk.Id -Lun 0
update-AzVm -VM $vm1 -ResourceGroupName $rgName
创建具有 ZRS 磁盘的虚拟机规模集
$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
搭配 2020-12-01
API 使用 Azure 资源管理器模板来创建 ZRS 磁盘。
先决条件
必须为订阅启用该功能。 使用以下步骤为订阅启用该功能:
执行以下命令,为订阅注册此功能
Register-AzProviderFeature -FeatureName "SsdZrsManagedDisks" -ProviderNamespace "Microsoft.Compute"
在试用该功能之前,请使用以下命令确认注册状态是否为“已注册”(可能需要几分钟)。
Get-AzProviderFeature -FeatureName "SsdZrsManagedDisks" -ProviderNamespace "Microsoft.Compute"
创建具有 ZRS 磁盘的 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 共享磁盘附加到了位于不同区域的虚拟机的 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 磁盘的虚拟机规模集
$vmssName="yourVMSSName"
$adminUsername="yourAdminName"
$adminPassword=ConvertTo-SecureString "yourAdminPassword" -AsPlainText -Force
$region="chinanorth2euap"
$osDiskType="StandardSSD_LRS"
$dataDiskType="Premium_ZRS"
New-AzResourceGroupDeployment -ResourceGroupName zrstesting `
-TemplateUri "https://raw.githubusercontent.com/Azure-Samples/managed-disks-powershell-getting-started/master/ZRSDisks/CreateVMSSWithZRSDisks.json" `
-vmssName "yourVMSSName" `
-adminUsername "yourAdminName" `
-adminPassword $password `
-region "chinanorth2euap" `
-osDiskType "StandardSSD_LRS" `
-dataDiskType "Premium_ZRS" `