更改 Windows VM 的可用性集

以下步骤说明如何使用 Azure PowerShell 来更改 VM 的可用性集。 只能在创建 VM 时将 VM 添加到可用性集。 如果要更改可用性集,必须将虚拟机删除,并重新创建虚拟机。

使用 PowerShell 更改可用性集

从要修改的 VM 中捕获以下重要详细信息。

VM 的名称

PowerShell复制

$vm=Get-AzureRmVM-ResourceGroupName-Name$vm.Name

VM 大小

PowerShell复制

$vm.HardwareProfile.VmSize

网络主要网络接口和可选的网络接口(如果在 VM 上存在)

PowerShell复制

$vm.NetworkProfile.NetworkInterfaces[0].Id

OS 磁盘配置文件

PowerShell复制

$vm.StorageProfile.OsDisk.OsType$vm.StorageProfile.OsDisk.Name$vm.StorageProfile.OsDisk.Vhd.Uri

每个数据磁盘的磁盘配置文件

PowerShell复制

$vm.StorageProfile.DataDisks[].Lun$vm.StorageProfile.DataDisks[].Vhd.Uri

已安装的 VM 扩展

PowerShell复制

$vm.Extensions

删除 VM 但不删除任何磁盘或网络接口。

PowerShell复制

Remove-AzureRmVM-ResourceGroupName-Name

创建可用性集(如果尚不存在)

PowerShell复制

New-AzureRmAvailabilitySet-ResourceGroupName-Name-Location""

使用新可用性集重新创建 VM

PowerShell复制

$vm2=New-AzureRmVMConfig-VMName-VMSize-AvailabilitySetIdSet-AzureRmVMOSDisk-CreateOption"Attach"-VM-VhdUri-Name [-Windows |-Linux]Add-AzureRmVMNetworkInterface-VM-IdNew-AzureRmVM-ResourceGroupName-Location-VM

添加数据磁盘和扩展。 有关详细信息,请参阅将数据磁盘附加到 VM资源管理器模板中的扩展。 可以使用 PowerShell 或 Azure CLI 将数据磁盘和扩展添加到 VM。

示例脚本

以下脚本提供一个示例,该示例收集所需的信息、删除原始 VM,并在新可用性集中重新创建 VM。

PowerShell复制

#set variables$rg="demo-resource-group"$vmName="demo-vm"$newAvailSetName="demo-as"$outFile="C:\temp\outfile.txt"#Get VM Details$OriginalVM=get-azurermvm-ResourceGroupName$rg-Name$vmName#Output VM details to file"VM Name: "|Out-File-FilePath$outFile$OriginalVM.Name |Out-File-FilePath$outFile-Append"Extensions: "|Out-File-FilePath$outFile-Append$OriginalVM.Extensions |Out-File-FilePath$outFile-Append"VMSize: "|Out-File-FilePath$outFile-Append$OriginalVM.HardwareProfile.VmSize |Out-File-FilePath$outFile-Append"NIC: "|Out-File-FilePath$outFile-Append$OriginalVM.NetworkProfile.NetworkInterfaces[0].Id |Out-File-FilePath$outFile-Append"OSType: "|Out-File-FilePath$outFile-Append$OriginalVM.StorageProfile.OsDisk.OsType |Out-File-FilePath$outFile-Append"OS Disk: "|Out-File-FilePath$outFile-Append$OriginalVM.StorageProfile.OsDisk.Vhd.Uri |Out-File-FilePath$outFile-Appendif($OriginalVM.StorageProfile.DataDisks) {"Data Disk(s): "|Out-File-FilePath$outFile-Append$OriginalVM.StorageProfile.DataDisks |Out-File-FilePath$outFile-Append}#Remove the original VMRemove-AzureRmVM-ResourceGroupName$rg-Name$vmName#Create new availability set if it does not exist$availSet=Get-AzureRmAvailabilitySet-ResourceGroupName$rg-Name$newAvailSetName-ErrorActionIgnoreif(-Not$availSet) {$availset=New-AzureRmAvailabilitySet-ResourceGroupName$rg-Name$newAvailSetName-Location$OriginalVM.Location}#Create the basic configuration for the replacement VM$newVM=New-AzureRmVMConfig-VMName$OriginalVM.Name-VMSize$OriginalVM.HardwareProfile.VmSize-AvailabilitySetId$availSet.IdSet-AzureRmVMOSDisk-VM$NewVM-VhdUri$OriginalVM.StorageProfile.OsDisk.Vhd.Uri-Name$OriginalVM.Name-CreateOptionAttach-Windows#Add Data Disksforeach($diskin$OriginalVM.StorageProfile.DataDisks ) {Add-AzureRmVMDataDisk-VM$newVM-Name$disk.Name-VhdUri$disk.Vhd.Uri-Caching$disk.Caching-Lun$disk.Lun-CreateOptionAttach-DiskSizeInGB$disk.DiskSizeGB}#Add NIC(s)foreach($nicin$OriginalVM.NetworkProfile.NetworkInterfaces) {Add-AzureRmVMNetworkInterface-VM$NewVM-Id$nic.Id}#Create the VMNew-AzureRmVM-ResourceGroupName$rg-Location$OriginalVM.Location-VM$NewVM-DisableBginfoExtension

后续步骤

通过添加附加数据磁盘,向 VM 添加附加存储。立即访问http://market.azure.cn

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容