Windows Server 2016 on Proxmox VE安裝Agent與Balloon服務

龍井國小趙老師(ko***)
文章: 10
註冊時間: 2018年 1月 2日, 13:56

Windows Server 2016 on Proxmox VE安裝Agent與Balloon服務

文章龍井國小趙老師(ko***) » 2019年 11月 13日, 16:49

第一章 Proxmox VE安裝VM上的Qemu-guest-agent

壹、介紹 – 什麼是 Qemu-guest-agent

Qemu-guest-agent是一個安裝在VM中的協助程序。它用於在PVE主機和VM之間交換訊息,並在VM中執行命令。

在Proxmox VE中,Qemu-guest-agent服務主要用於兩件事:

1.正確關閉VM,而不依賴ACPI命令或Windows策略。

2.在進行備份時凍結VM file system(在Windows上,使用volume shadow copy service VSS)。

貳、安裝Qemu-guest-agent

一、PVE主控端

在每一個VM的Option介面啟用Qemu Agent,如下圖:
Image 5.png
Image 5.png (43.12 KiB) 已瀏覽 1631 次


或是到CLI下指令:

代碼: 選擇全部

qm set VMID --agent 1


二、Guest VM端

■Linux

在 Debian/Ubuntu based systems (with apt-get) 下指令:

代碼: 選擇全部

apt-get install qemu-guest-agent


若是 Redhat based systems (with yum)則下指令:

代碼: 選擇全部

yum install qemu-guest-agent


■Windows

※首先需要先去下載 virtio-win driver iso
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/
(我自己是下載這一版virtio-win-0.1.173.iso)

※接下來是安裝步驟:
1.把剛剛下載的ISO 掛載到VM的光碟機上 (virtio-*.iso)

2.到Windows的裝置管理員尋找"PCI簡單通訊控制器(PCI Simple Communications Controller)"

3.按右鍵並更新驅動程式,選擇剛剛掛載的ISO檔光碟機,並尋找位置DRIVE:\vioserial\<OSVERSION>\
<OSVERSION> 指的是Windows 版本號 (例如 2k12R2 就是 Windows 2012 R2),更新結束後會產生好幾個Virtio的Driver。

4.另外順便再安裝一個Balloon服務會用到的Virtio Balloon Driver,一樣尋找一個有驚嘆號的PCI裝置更新驅動程式,且一樣選擇剛剛掛載的ISO檔光碟機根目錄即可更新。

※更新完裝置管理員中的驅動程式之後,就可以安裝Qemu-guest-agent:
1.用檔案總管進到剛剛掛載的ISO檔光碟機。

2.在guest-agent資料夾中依據Windows版本找到安裝檔執行安裝(qemu-ga-x64.msi (64-bit) or qemu-ga-x86.msi (32-bit)

3.安裝完後,Qemu-guest-agent 應該就啟動起來了!可以在Windows的服務列表中看到或者是在PowerShell中下指令:

代碼: 選擇全部

PS C:\Users\Administrator> Get-Service QEMU-GA


狀態顯示為Running就是有啟用

代碼: 選擇全部

Status   Name               DisplayName
------   ----               -----------
Running  QEMU-GA            QEMU Guest Agent


※然後在PVE主控端的Summary畫面也會看到IPs會顯示agent的IP:
Image 3.png
Image 3.png (19.18 KiB) 已瀏覽 1631 次


但是我的機器效能很差(畢竟是用桌機湊合著用的),再加上ZFS是吃記憶體的大怪獸,所以會發現VM(Windows Server 2016)重新開機後並沒有自動啟動這個服務,於是再到本機服務列表中稍作設定...以下是個人經驗,機器效能好的不用做。

1.從程式集的「Windows系統管理工具→服務」,在列表中找到QEMU Guest Agent啟動,並將啟動類型改為「自動(延遲啟動)」。
Image 10.png
Image 10.png (41.91 KiB) 已瀏覽 1631 次


2.將「復原」標籤中的「第一次失敗時」改為「重新啟動服務」,並將重啟時間拉長為5分鐘。
Image 11.png
Image 11.png (49.51 KiB) 已瀏覽 1631 次


第二章 安裝Balloon服務降低Windows記憶體使用率

如果要讓 Windows 的記憶體使用率不要維持這麼高,要安裝Balloon 服務才能將記憶體使用率降下來。安裝步驟如下:

1. 前一章中裝置管理員裡的Virtio Balloon Driver務必要安裝完。

2. 用檔案總管開啟剛剛掛載的ISO檔光碟機,以Windows Server 2016為例,裡面有一個資料夾是Balloon\2k16\amd64,將這個目錄複製到 C:\Program Files 下,並且修改成 Balloon 名稱(amd64→Balloon)

3. 按右鍵以系統管理員權限開啟CMD,下指令進去該目錄並執行安裝 Balloon 服務,指令如下:

代碼: 選擇全部

cd \
cd \Program Files\Balloon
blnsvr.exe -i


4.安裝完畢,一樣可以到本機服務列表中找到Balloon Service,在啟動的狀態下可以有效的降低Windows記憶體的使用率,實測的結果至少降一半!
Image 8.png
Image 8.png (39.53 KiB) 已瀏覽 1631 次


參考文件:
1. https://pve.proxmox.com/wiki/Qemu-guest-agent
2. Install Windows 2016 Server on Proxmox VE (Video tutorial)https://youtu.be/fn6iJzRQDkw
3. https://wiki.freedomstu.com/books/proxmox-ve-%E8%99%9B%E6%93%AC%E7%B3%BB%E7%B5%B1%E8%A8%98%E9%8C%84/page/proxmox-ve-%E5%AE%89%E8%A3%9D-vm%E4%B8%8A%E7%9A%84-qemu-guest-agent

回到「虛擬化(ESXi,Hyper-V….)」

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客