Hypervisor(虛擬機管理系統)是壹種運行在物理服務器和操作系統之間的中間軟件層,可允許多個操作系統和應用***享壹套基礎物理硬件,因此也可以看作是虛擬環境中的“元”操作系統,它可以協調訪問服務器上的所有物理設備和虛擬機,也叫虛擬機監視器(Virtual Machine Monitor)。
Hypervisor是所有虛擬化技術的核心,非中斷地支持多工作負載遷移的能力是Hypervisor的基本功能。
當服務器啟動並執行Hypervisor時,它會給每壹臺虛擬機分配適量的內存、CPU、網絡和磁盤,並加載所有虛擬機的客戶操作系統。
Hypervisor 之於操作系統類似於操作系統之於進程,它們為執行提供獨立的虛擬硬件平臺,而虛擬硬件平臺反過來又提供對底層機器的虛擬的完整訪問。
在典型的分層架構中,提供平臺虛擬化的層稱為 hypervisor (有時稱為 虛擬機管理程序 或 VMM)。
Guest操作系統稱為 虛擬機 (VM),因為對這些 VM 而言,硬件是專門針對它們虛擬化的。
平臺虛擬化的好處很多。美國環境保護署(EPA)報告的壹組有趣的統計數據就證明了其好處:EPA 研究服務器和數據中心的能源效率時發現,實際上服務器只有 5% 的時間是在工作的,在其他時間,服務器都處於 “休眠” 狀態。
在單個服務器上的虛擬化平臺能夠改善服務器的利用率,但是減少服務器的數量才是它的最大功用。減少服務器數量意味著減少不動資產、能耗、冷卻和管理成本。使用更少的硬件還能提高可靠性。總之,平臺虛擬化不僅帶來技術優勢,還能創造成本和能源優勢。
在圖 1 中可以看到,hypervisor 是提供底層機器虛擬化的軟件層(在某些情況下需要處理器支持),操作系統將對機器的底層資源的訪問虛擬化為進程。hypervisor 也做壹樣的事情,但其對象不是進程,而是整個Guest操作系統。
hypervisor 分類
hypervisor 可以劃分為兩大類:
首先是類型 1,這種 hypervisor 是直接運行在物理硬件之上的。
其次是類型 2,這種 hypervisor 運行在另壹個操作系統(運行在物理硬件之上)中。
類型 1 hypervisor 的壹個例子是基於內核的虛擬機(KVM —— 它本身是壹個基於操作系統的 hypervisor)。
類型 2 hypervisor 包括 QEMU 和?WINE。
hypervisor 的構成
hypervisor(不管是什麽類型)僅是壹個從其來賓操作系統抽象機器硬件的分層應用程序。通過這種方式,每個來賓操作系統看到的僅是壹個 VM 而不是真實的硬件機器。
我們大致看壹下 hypervisor 的內部組成,以及它在 VM(來賓操作系統)上的表示。
在較高級別上,hypervisor 需要少量設施啟動來賓操作系統:壹個需要驅動的內核映像、壹個配置(比如 IP 地址和所需的內存量)、壹個磁盤盒壹個網絡設備。
磁盤和網絡設備通常映射到機器的物理磁盤和網絡設備(如圖 2 所示)。
最後,需要使用壹組來賓操作系統工具啟動和管理來賓操作系統。
參考:
/linux/l-hypervisor/