虛擬機監控程式

虛擬機監控程式是一種軟體,它為在系統上“虛擬”運行的來賓提供一套虛擬化硬體。它為來賓作業系統實現抽象的物理硬體。

由來,差異,功能,負載均衡,監控程式,消耗,解決方案,

由來

虛擬機監控程式是一種軟體,它為在系統上“虛擬”運行的來賓提供一套虛擬化硬體。它為來賓作業系統實現抽象的物理硬體。
一度流行甚廣的“虛擬機監控程式”(hypervisor) 一詞。它已經成為虛擬化領域的一大熱門術語。但虛擬機監控程式並非新鮮事物。只要我們使用過虛擬機 (VM),就必然使用過虛擬機監控程式。事實上,IBM 早在上世紀七十年代就創造了“虛擬機監控程式”一詞。

差異

在過去幾年中,在 x86 平台上運行的“1 類虛擬機監控程式”(包括 Microsoft Hyper-V 和 VMware ESX Server)得到了很大發展,這也導致產生一些混淆。大多數人使用的虛擬機監控程式(特別是對於客戶端系統)被稱為“2 類虛擬機監控程式”。兩種虛擬機監控程式的差異何在?
1 類虛擬機監控程式直接在主機硬體上運行,而無需“主機作業系統”。Microsoft Hyper-V 和 VMware ESX Server 是 1 類虛擬機監控程式的常見例子。
Ⅰ型虛擬機監控程式的簡單時間線Ⅰ型虛擬機監控程式的簡單時間線
2 類虛擬機監控程式需要運行主機作業系統。通常,2 類虛擬機監控程式主要作為用戶模式應用程式在其主機作業系統上運行。Microsoft Virtual PC 和 VMware Workstation 是 2 類虛擬機監控程式的常見例子。
在大多數情況下,對於任何“始終運行的”工作負載(例如,虛擬化 SQL 或檔案伺服器),您都希望使用 1 類虛擬機監控程式。至少,1 類使用的資源要比 2 類少。但是,它可能需要用戶登錄才能啟動(取決於主機),這對關鍵任務系統而言並非一個好的選擇。相反,2 類虛擬機監控程式更加適用於“按需”虛擬機。這種類型的角色包括用於測試、應用程式兼容性或安全訪問的虛擬機。

功能

Hyper-V
隨 Windows 7 一起發布的 Windows 驅動程式工具包 (WDK) 提供了關於虛擬機監控程式版本 2 中新增功能的信息。
虛擬機監控程式是一種最初在具有 Hyper-V 的 Windows Server 2008 中支持的技術。具有 Hyper-V 的 Windows Server 2008 R2 支持 2.0 和更早版本的虛擬機監控程式。
下列功能是虛擬機監控程式版本 2 中的新功能:
擴展的快速超級調用接口
分區 CPU 兼容性屬性、兼容性模式和 CPU 供應商屬性
分區 XSAVE 功能
虛擬來賓空閒狀態。
分區參考時間啟蒙
對核心休止的支持
SMI 虛擬中斷類型
HvPortPropertyPreferredTargetVp 連線埠屬性
系統屬性
HV 分析
調用虛擬機監控程式調試器
下列特定於模型的暫存器 (MSR) 是虛擬機監控程式版本 2 中的新功能:
虛擬 APIC MSR
性能統計信息 MSR
參考 TSC 頁面 MSR
虛擬來賓空閒狀態 MSR
下列超級調用在虛擬機監控程式版本 2 中已棄用:
HvClearLogicalProcessorRunTimeGroup
HvSetLogicalProcessorRunTimeGroup
下列超級調用是虛擬機監控程式版本 2 中的新調用:
HvParkLogicalProcessors
HvMapSparseGpaPages
HvSetPortProperty
HvSetSystemProperty
HvInvokeHypervisorDebugger

負載均衡

監控程式

儘管管理員會將套用負載平均分配到每台虛擬主機上,但是自動負載均衡特性依然是無可替代的。
伺服器虛擬機監控程式環境當中的大多數嚴重問題似乎都和資源爭奪相關。從虛擬機監控程式原理上來說,虛擬機監控程式技術的基礎是伺服器硬體性能不斷發展,其能夠提供的資源已經遠遠超過了單一負載需求,因此可以將一套物理資源分配給多種負載同時使用。
虛擬機監控程式這種資源共享方式看似非常簡單,但是通常問題都會出現在細節方面。如果多個虛擬機監控程式負載共享一個通用硬體資源池,那么在虛擬機監控程式生產環境當中必須提前引入某種機制,避免任何虛擬機消耗過多的資源,導致其他虛擬機監控程式資源被占用。

消耗

確實,現在管理員可以使用多種不同技術來保證資源消耗處於監控狀態。管理員可以限制特定虛擬機能夠消耗的CPU、記憶體、網路和存儲等硬體資源。此外,創建新的虛擬機監控程式時,管理員通常會將其放置到擁有足夠硬體資源的主機伺服器上,以防止新加入的負載不會對現有虛擬機監控程式性能造成負面影響。
虛擬機監控程式這種方式和其他機制都能夠很好地保證虛擬機監控程式處於受監控狀態。但是問題在於伺服器虛擬化環境是高度動態的。由於伺服器故障、主機重啟、系統維護或者很多其他原因,虛擬機監控程式r可能將負載自動實時遷移到另外一台主機上。類似地,虛擬機監控程式的資源消耗也有可能隨著時間而變化。最初啟動時虛擬機上的負載只需要使用很少的硬體資源,但是隨著越來越多的用戶開始使用運行在虛擬機監控程式上的應用程式,虛擬機的資源消耗量會不斷增加。
因此問題在於不斷變化的負載以及虛擬機監控程式實時遷移可能完全破壞管理員最初的規劃,也就是將虛擬機創建在最為合適的主機伺服器上。
儘管為了適應不斷變化的運行環境,管理員可以手動遷移虛擬機,但是這種做法並不是最佳方案,而使用虛擬機監控程式和管理軟體來實現自動負載均衡是一種更為高效的方式。

解決方案

所有虛擬機監控程式廠商都推出自己的負載均衡解決方案。對於微軟Hyper-V來說,可以使用System Setter VM Manager當中的一種稱為動態最佳化的技術來實現負載均衡。虛擬機監控程式動態最佳化技術非常簡單,虛擬機監控程式會進行周期性檢查(默認每隔十分鐘)來查看主機伺服器上的可用資源是否已經低於預定閥值。如果任何伺服器的資源值較低,那么動態最佳化進程會把一台或者多台虛擬機實施遷移到擁有更多可用資源的主機當中。
動態最佳化特性工作在主機伺服器組層面。從VM Manager控制台當中,進入Fabric workspace,選擇想要調整的主機組,之後點擊主機組當中的集群。之後,點擊螢幕頂端的Host Cluster標籤,再點擊Optimize Host按鈕。之後Windows會打開Optimize Host Cluster對話框。對話框將會詢問你是否對某些虛擬機進行實施遷移,虛擬機監控程式以實現更好的性能表現。如果一台或者多台主機出現可用硬體資源低於閥值的情況,系統就會彈出這種提示。而如果所有主機都擁有足夠的可用硬體資源,那么系統不會彈出推薦視窗,即便虛擬機分布不是十分均衡。
為了使得集群最佳化進程自動出現,現在關閉對話框,之後點擊螢幕最上方的Folder標籤,單擊Properties按鈕。之後會出現一個新的“All Host Prosperities”對話框。現在點擊“Dynamic Optimization”,之後勾選“Automatically Migrate VMs to Balance Load at this Frequency (Minutes)”複選框。在這個對話框當中,你還可以配置負載均衡頻率、伺服器資源閥值以及負載均衡激進程度等參數。更加激進的負載均衡策略將會提高系統資源利用效率,但是也會導致更高的實時遷移頻率。點擊OK來完成配置過程。
在任何虛擬機監控程式環境當中,高效利用硬體資源都是非常重要的。虛擬機監控程式通過自動將虛擬機從負載過重的主機移動到擁有大量可用資源的主機當中,VM Manager動態最佳化特性可以幫助實現這種目標。

相關詞條

熱門詞條

聯絡我們