如何在已存在的Azure VM上補安裝Azure VM Agent

如何在已存在的Azure VM上補安裝Azure VM Agent

大家好, 現在很多Azure 服務越來越好用, 剛為客戶安排Azure 備份服務時發現他某些IAAS VM由於是Classic版本並沒有安裝Azure VM Agent

Azure並沒有為這些VM提供Portal上補安裝的功能, 只能自行補添

過程中需要有幾個東西

1. VM Agnet的安裝文件 

https://go.microsoft.com/fwlink/?LinkID=394789&clcid=0x409

2. Azure Powershell 3.0

而且必須配合Powershell 3.0來進行, Windows 7請補安裝3.0 版本的Powershell

https://www.microsoft.com/en-us/download/details.aspx?id=34595

而安裝VM Agent有個系統限制, 就是必須是Windows Server 2008 R2以上而且是64位元系統

所以如果某個Azure 服務需要有VM Agent, 這也算是最少的系統需求了.

先在該台VM上登入, 執行上面下載回來的VM Agent msi程式

再來我們確定有最新的Azure Powershell模組, 可以用Adminstrator權限開啟Powershell ISE

鍵入以下兩個指令來取得最新的Azure Powershell, 過程中可能會需要你確認安裝其他部件

Install-Module AzureRM

Install-Module Azure

再來以 Get-Module -ListAvailable來確認已經安裝好

準備好了就可以登入我們的Azure賬號, 會彈出登入訊息

Login-AzureRmAccount

Add-AzureAccount

再來要設定預設的Subscription

Get-AzureRmSubscription | Select-AzureRmSubscription

如果你有多個Subscription, 你可以用以下指令來指定一個

Get-AzureRmSubscription –SubscriptionName “your sub” | Select-AzureRmSubscription

現在你應該可以查看到你的Azure資訊了, 試試鍵入

Get-AzureVm, 應該會列出所有VM狀態, 這台機器正是我們這次的目標

雖然已經在VM上安裝VM Agent了, 我們還要知會Azure這台機器已經有VM Agent

在VM的參數中, GuestAgentStatus現在是沒有設定, 我們要改變他

如下圖鍵入以下幾個指令, Name和ServiceName在上面Get-AzureVM | FL中已經提供了

$vm = Get-AzureVM –ServiceName <cloud service name> –Name <VM name>
$vm.VM.ProvisionGuestAgent = $true
Update-AzureVM –Name <VM name> –VM $vm.VM –ServiceName <cloud service name>

如果立即再看看狀態可以會得到RoleStateUnknown, 別緊張可以先等等

過一會應該就會見到ReadyRole了, 這樣就完全了整個程序