更改 Windows VM 的可用性集

以下步驟說明如何使用 Azure PowerShell 來更改 VM 的可用性集。 只能在創(chuàng)建 VM 時將 VM 添加到可用性集。 如果要更改可用性集,必須將虛擬機刪除,并重新創(chuàng)建虛擬機。

使用 PowerShell 更改可用性集

從要修改的 VM 中捕獲以下重要詳細信息。

VM 的名稱

PowerShell復制

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

VM 大小

PowerShell復制

$vm.HardwareProfile.VmSize

網(wǎng)絡主要網(wǎng)絡接口和可選的網(wǎng)絡接口(如果在 VM 上存在)

PowerShell復制

$vm.NetworkProfile.NetworkInterfaces[0].Id

OS 磁盤配置文件

PowerShell復制

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

每個數(shù)據(jù)磁盤的磁盤配置文件

PowerShell復制

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

已安裝的 VM 擴展

PowerShell復制

$vm.Extensions

刪除 VM 但不刪除任何磁盤或網(wǎng)絡接口。

PowerShell復制

Remove-AzureRmVM-ResourceGroupName-Name

創(chuàng)建可用性集(如果尚不存在)

PowerShell復制

New-AzureRmAvailabilitySet-ResourceGroupName-Name-Location""

使用新可用性集重新創(chuàng)建 VM

PowerShell復制

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

添加數(shù)據(jù)磁盤和擴展。 有關詳細信息,請參閱將數(shù)據(jù)磁盤附加到 VM資源管理器模板中的擴展。 可以使用 PowerShell 或 Azure CLI 將數(shù)據(jù)磁盤和擴展添加到 VM。

示例腳本

以下腳本提供一個示例,該示例收集所需的信息、刪除原始 VM,并在新可用性集中重新創(chuàng)建 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

后續(xù)步驟

通過添加附加數(shù)據(jù)磁盤,向 VM 添加附加存儲。立即訪問http://market.azure.cn

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容