如何在已存在的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了, 這樣就完全了整個程序