微軟打破長年封閉式的作風,陸續釋出一些程式碼,並推出與開放原始碼整合的服務。目前在Hyper-V虛擬化平台上已經能夠運作Unix-Like作業系統。本文將介紹何謂Hyper-V整合服務,並示範如何在CentOS及FreeBSD虛擬主機安裝整合服務。
簡單歸納來說,Hyper-V虛擬化平台無法運作Unix和Mac OS X。同時,當採用未支援的Unix-Like作業系統版本時,將會因為無法安裝「整合服務」(Integration Service),除了導致運作於VM虛擬主機當中的Unix-Like作業系統無法針對相關虛擬硬體裝置安裝驅動程式與Hyper-V虛擬化平台進階功能整合外,也會影響到VM虛擬主機的運作效能,如圖4所示。
|
▲圖4 Hyper-V虛擬化平台是否能運作Unix及Unix-Like作業系統判斷流程示意圖。(圖片來源:Microsoft Ignite 2016 - Virtualize Linux and FreeBSD Workloads on Hyper-V and Azure) |
什麼是Hyper-V整合服務
事實上,不管採用哪一種虛擬化平台,都需要幫其上運作的VM虛擬主機安裝適當的Tools,以使其上運作的VM虛擬主機能夠與虛擬化平台進行最緊密的結合,例如虛擬裝置驅動程式最佳化等等。
舉例來說,倘若採用VMware vSphere虛擬化平台,就必須幫VM虛擬主機安裝VMware Tools,而Citrix XenServer虛擬化平台,則需要替VM虛擬主機安裝Xen Tools。
在Microsoft Hyper-V虛擬化平台上,則需要幫其上運作的VM虛擬主機安裝「整合服務」(Integration Services),安裝整合服務完畢後,在驅動程式部分將會針對IDE、SCSI、網路、視訊、滑鼠等等方面進行最佳化。
至於在客體服務方面,則會整合作業系統關閉(Shutdown)、時間同步化(Time Synchronization)、資料交換(Key/Value Exchange)、活動訊號(Heartbeat)以及線上備份(Volume Shadow copy Service,VSS)等等的機制,以期VM虛擬主機與Microsoft Hyper-V虛擬化平台不管是在效能運作上,或者虛擬裝置驅動程式最佳化方面,都能夠進行完美的結合,如圖5所示。
|
▲圖5 Hyper-V運作元件架構示意圖。(圖片來源:MSDN Library - Hyper-V Architecture) |
Unix-Like虛擬主機整合服務介紹
倘若VM虛擬主機內已經安裝「Windows作業系統」,那麼在VM虛擬主機的Console視窗中可以直接執行插入整合服務安裝光碟的動作。
當安裝如RHEL、CentOS等的「Linux作業系統」時,Hyper-V虛擬化平台雖然也支援Emulated/Specific兩種虛擬裝置,但是若需要發揮Linux作業系統最佳效能,還是建議使用Hyper-V Specific Devices並配合安裝LIS(Linux Integration Services),也就是專供Linux使用的整合服務映像檔並進行安裝,才能達到效能最佳化。
專供Linux作業系統使用的LIS整合服務映像檔,目前最新版本為4.1,可至Microsoft Download Center下載「Linux Integration Services Version 4.1 for Hyper-V」,所下載整合服務映像檔名稱為「LinuxIC-4.1.2-2.iso」,如圖6所示。
|
▲圖6 下載專供Linux作業系統使用的LIS整合服務映像檔。 |
LIS 4.1 for Hyper-V整合服務支援的Linux版本,以RHEL/CentOS為例的話是5.2?5.11、6.0?6.8、7.0?7.2,並且可以應用在多種Hyper-V虛擬化平台版本上,例如Hyper-V 2.0(Windows Server 2008 R2)、Hyper-V 3.0(Windows 8/8.1 Pro、Windows Server 2012/2012 R2)以及最新的Windows 10和Windows Server 2016。
在最新的LIS 4.1版本中,除了原有整合服務的特色功能外,還支援下列五項新增功能:
·Hyper-V Sockets
·記憶體熱新增及移除
·SCSI WWN
·lsvmbus指令
·反安裝LIS整合服務指令碼
安裝整合服務後的Linux虛擬主機,將具備核心(Core)、網路(Networking)、儲存(Storage)、記憶體(Memory)、視訊(Video)、其他(Miscellaneous)等等特色功能或最佳化效能:
核心(Core)
·整合式關機:透過此功能,在開啟的VM Console視窗中便能為客體作業系統執行關機的動作,而無須登入至客體作業系統手動進行關機。
·時間同步處理:確保VM虛擬主機能夠與Hyper-V主機保持時間同步。
·準確時間:整合Windows Server 2016準確時間功能,改善主應用程式與時間同步處理的精確度,能夠將時間誤差值縮短在1毫秒(ms)的範圍內。
·多處理器支援:支援組態配置VM虛擬主機多顆vCPU虛擬處理器,達到真正使用Hyper-V主機多顆CPU處理器進行SMP平行運算。
·活動訊號:以便Hyper-V虛擬化平台能夠偵測及追蹤VM虛擬主機運作狀態。
·整合式滑鼠支援:滑鼠功能將可正常運作於VM虛擬主機的Console視窗內,以及自動在Hyper-V虛擬化平台中正常切換。
·Hyper-V特定儲存裝置:讓VM虛擬主機擁有高效能及最佳化的IDE/SCSI儲存介面卡,有效提升工作負載能力。
·Hyper-V特定網路裝置:使VM虛擬主機擁有高效能和最佳化的Network Controller介面卡,有效提升工作負載能力。
網路(Networking)
·Jumbo Frame:可設定MTU數值大於1500 bytes以增加網路效能。
·VLAN Tagging及Trunking:支援單一VLAN ID或多個VLAN ID Trunking網路環境。
·即時遷移:讓VM虛擬主機支援即時遷移(Live Migration)、無共用儲存即時遷移(Shared Nothing Live Migration)、Hyper-V複本(Hyper-V Replica)等等進階功能。
·靜態IP導入:當Hyper-V主機執行複本容錯移轉之後,因為已經複寫VM虛擬主機靜態IP位址,所以能夠確保網路工作負載能在發生容錯移轉事件後無縫繼續運作。
·vRSS虛擬接收端調整:將VM虛擬主機虛擬網路卡的工作負載,平均分散到VM虛擬主機中的多個vCPU虛擬處理器。
·TCP分割和總和檢查碼卸載:在傳輸網路數據時,從VM虛擬主機的vCPU虛擬處理器到Hyper-V主機的vSwitch虛擬網路交換器之間,進行資料分割及總和檢查碼的動作。
·LRO大型接收卸載:透過將多個封包彙總為更大的緩衝區,以便提升高網路頻寬流入的傳輸量,進而降低CPU運算資源的開銷。