Hypervisor

menu icon

Hypervisor

如果沒有虛擬化,就不可能有雲端運算。 而如果沒有 Hypervisor,則不可能有虛擬化。 此精簡軟體層支援整個雲端生態系統。

何謂 Hypervisor?

在 Hypervisor 成為主流之前,大部分的實體電腦每次只能執行一個作業系統 (OS)。 這可以讓電腦保持穩定,因為運算硬體只需要處理來自一個作業系統的要求。 這個方法的缺點是浪費資源,因為作業系統無法總是使用電腦的所有處理能力。

而 Hypervisor 解決了這個問題。 它是一個小型軟體層,可讓多個作業系統彼此一起執行,共用相同的實體運算資源。 這些作業系統的身分是虛擬機器 (VM):在軟體中模擬整個運算硬體環境的檔案。

Hypervisor,又稱為虛擬機器監視器 (VMM),用來在 VM 彼此一起執行時管理這些 VM。 它會在邏輯上將 VM 彼此分開,然後為每個 VM 指派本身的一部分基礎運算處理能力、記憶體和儲存容量。 這樣可防止 VM 之間相互干擾;因此,例如有一個 OS 發生損毀或安全侵害,其他的 OS 可以幸存。

若要進一步探索虛擬化和虛擬機器,請參考「虛擬化:完整指南」及「 何謂虛擬機器?」

如需 Hypervisor 如何管理 VM 的相關資訊,請觀看此影片 Virtualization Explained (5:20):

Hypervisor 的性質

Hypervisor 有不同種類,每種 Hypervisor 又不同品牌。 市場已經成熟到能夠針對企業領域推出 Hypervisor 商業產品,不過,仍有一些區隔因素將主導您的選擇。 這些區隔因素如下:

  • 效能:尋找基準性能測試資料,以顯示 Hypervisor 在正式作業環境中的表現有多好。 在理想情況下,裸機 Hypervisor 應該支援貼近原生速度的訪客 OS 效能。
  • 生態系統:您需要良好的文件和技術支援,以便大規模實作與管理橫跨多個實體伺服器 Hypervisor。 此外,請尋找健全的第三方開發人員社群,他們透過自己的代理程式和外掛程式,提供備份與還原容量分析以及失效接手管理等功能,來支援 Hypervisor。
  • 管理工具:使用 Hypervisor 時,您必須管理的事不只執行 VM。 您必須佈建、維護與審核 VM,以及清除不使用的 VM,藉此防止「VM 蔓延」。 請確定供應商或第三方社群支援擁有綜合性管理工具的 Hypervisor 架構。
  • 即時移轉:這可讓您在無需停止機器運作的情況下,在不同的實體機器之間移動 Hypervisor,這對失效接手和工作負載平衡兩者而言都很有用。
  • 成本:考量授權 Hypervisor 技術所涉及的成本和費用結構。 請勿只考慮 Hypervisor 本身的成本。 使它變成可擴充以支援企業環境的管理軟體通常都很昂貴。 最後,請查看供應商的授權結構,它可能會因為您在雲端或本端進行部署而改變。

第 1 類和 第 2 類

Hypervisor 有兩大類: 第 1 類和第 2 類。

第 1 類 Hypervisor

第 1 類 Hypervisor 直接在基礎電腦的實體硬體上執行,直接與其 CPU、記憶體及實體儲存體進行互動。 因此,第 1 類 Hypervisor 也稱為裸機 Hypervisor。第 1 類 Hypervisor 會取代主機作業系統的地位。

  • 優點:第 1 類 Hypervisor 效率很高,因為它們可直接存取實體硬體。 這也增加了它們的安全性,因為在它們和 CPU 之間沒有什麼是攻擊者可以侵害的。
  • 缺點:第 1 類 Hypervisor 通常需要個別的管理機器來管理不同的 VM 與控制主機硬體。

第 2 類 Hypervisor

第 2 類 Hypervisor 不是直接在基礎硬體上執行。 它反而是在 OS 中以應用程式的身分執行。 第 2 類 Hypervisor 很少在伺服器型環境中出現。 它們反而適合需要執行多個作業系統的個別 PC 使用者。 範例包括工程師、分析惡意軟體的安全專業人員,以及需要存取僅其他軟體平台才有之應用程式的商業使用者。

第 2 類 Hypervisor 通常會提供額外的工具箱,以供使用者安裝至訪客 OS 中。 這些工具提供訪客與主機 OS 之間的加強連線,通常可讓使用者在兩個 OS 之間執行剪下並貼上,或從訪客 VM 內部存取主機 OS 檔案和資料夾。

  • 優點:第 2 類 Hypervisor 可讓您在執行於主機系統的主要 OS 上迅速輕鬆地存取替代的訪客 OS。 這使得它很適合用於支援一般使用者的生產力。 例如,使用者可以在使用 Windows 中才能找到的語音聽寫系統時,同時使用第 2 類 Hypervisor 來存取他們喜愛的 Linux 型開發工具。
  • 缺點:第 2 類 Hypervisor 必須透過主機 OS 存取運算、記憶體及網路資源,因為主機 OS 擁有實體機器的主要存取權。 這會引發延遲問題,進而影響效能。 如果攻擊者會侵害主機 OS,為了操弄在第 2 類 Hypervisor 上執行的任何訪客 OS,則它還會引發潛在的安全風險。

範例

VMware Hypervisor

  • ESXi Hypervisor:VMware ESXi (Elastic Sky X Integrated) 是以資料中心伺服器虛擬化為目標的第 1 類(或裸機) Hypervisor。 ESXi 會管理 VMware 虛擬機器集合。
  • VSphere Hypervisor:客戶可當作免費 vSphere Hypervisor 基本伺服器虛擬化產品的一部分免費使用 VMware ESXi。 擁有企業雲端環境的公司將會授權 vSphere,它是包含 VMware vCenter Server 授權的更完整系統。 這是一個獨立伺服器,用來管理在實體主機上執行的 vSphere 環境。 VSphere 可以在私有的內部部署雲端環境或代管雲端配置中執行。

VMware 還針對桌上型電腦和筆記型電腦使用者提供兩個主要的第 2 類 Hypervisor 產品系列:

  • VMware Fusion:這是該公司 MacOS 型供應項目,其可讓 Mac 使用者執行大量的訪客作業系統。
  • Workstation:VMware 的 Linux 型和 Windows 型平台有兩種選項: Pro 版是付費版本,Player 則提供個人免費使用。 Pro 版可讓使用者在單一 PC 上執行多個作業系統,也可連接至 VMware vSphere,就像 Fusion 一樣。 Workstation Player 僅支援單一訪客 OS。
  • VirtualBox:在 Linux、Mac OS 及 Windows 作業系統上執行的第 2 類 Hypervisor。 Oracle 在 2010 年收購 Sun Microsystems 時繼承了該產品。

VMware:完整指南」深入探討 VMware 的所有產品與服務。

Hyper-V Hypervisor

Hyper-V 是 Microsoft 為了在 Windows 系統上使用而專門設計的 Hypervisor。 它在 2008 年做為 Windows Server 的一部分推出,這意味著客戶需要安裝整個 Windows 作業系統才能使用它。 Microsoft 隨後製作了一個名為 Hyper-V Server 的專用版本,該版本在 Windows Server Core 上執行。 這讓管理者得以在不用安裝 Windows Server 完整版本的情況下執行 Hyper-V。 Hyper-V 也可以在 Windows 用戶端上使用。

Microsoft 將 Hyper-V 指定為第 1 類 Hypervisor,即使它的執行方式與許多競爭產品不同。 Hyper-V 安裝在 Windows 上,但卻直接在實體硬體上執行,它將本身插入主機 OS 之下。 然後所有訪客 OS 透過 Hypervisor 執行,不過主機作業系統會取得硬體的特殊存取權,這使其具有效能優勢。

Citrix XenServer

XenServer,現在稱為 Citrix Hypervisor,是支援 Linux 和 Windows 作業系統的商用第 1 類 Hypervisor。 XenServer 誕生於 Xen 開放原始碼專案(IBM 外部鏈結)。

開放原始碼 Hypervisor

有些 Hypervisor,例如 KVM,來自開放原始碼專案。 Red Hat 與開放原始碼社群的緊密關係使 KVM 成為所有主要 OpenStack 和 Linux 虛擬化發行套件的核心。

開放原始碼 Hypervisor 也有提供免費配置。 KVM 可以獨立下載,或做為 oVirt 開放原始碼虛擬化解決方案的一部分進行下載,Red Hat 是它的長期支援者。

另一個是 Xen,它是在 Intel 和 ARM 架構上執行的開放原始碼第 1 類 Hypervisor。 它最初是劍橋大學的一個專案,其團隊後來透過創立 XenSource 公司(2007 年被 Citrix 購併)將其商業化。

在 2013 年,開放原始碼專案成為 Linux 基金會旗下的協作專案。 許多雲端服務供應商使用 Xen 來推動其產品。

Xen 支援數種類型的虛擬化,包括使用 Intel VT 和 AMD-V 的硬體輔助環境。 它也支援半虛擬化,其中可調整訪客 OS 以便與 Hypervisor 合作提高效能。

Hypervisor KVM

Linux 還直接在 OS 核心中內建 Hypervisor 功能。 核心型虛擬機器 (KVM) 在 2007 年成為 Linux 核心主線的一部分,同時還補充了 QEMU,這是一種完全在軟體中模擬實體機器之處理器的 Hypervisor。

KVM 支援 Intel 和 AMD 內建在其處理器架構中的虛擬化延伸,以便更充分地支援 Hypervisor。 這些延伸,分別稱為 Intel VT 和 AMD - V,可讓處理器協助 Hypervisor 管理多個虛擬機器。 如果有這些延伸可用,Linux 核心即可使用 KVM。 否則,將切回 QEMU。

進一步瞭解來自 Red Hat 的 KVM(IBM 外部鏈結)。

Red Hat Hypervisor

Red Hat 以 KVM Hypervisor 為基礎建立其 Red Hat Enterprise Virtualization Hypervisor。 其虛擬化解決方案以 Hypervisor 為中心建置額外機能。 其中包括虛擬化管理程式,以提供集中管理系統與搜尋驅動的圖形使用者介面,以及可加強 Hypervisor 以防範主機或虛擬機器攻擊的安全虛擬化技術。 Red Hat的 Hypervisor 可以執行許多作業系統,包括 Ubuntu。

虛擬桌面整合 (VDI)

除了伺服器作業系統,第 1 類 Hypervisor 還可以將更多東西虛擬化。 它們還可以幫想要集中管理其一般使用者 IT 資源的公司將桌面作業系統虛擬化

虛擬桌面整合 (VDI) 可讓使用者處理在中央伺服器上虛擬機器中執行的桌面,讓 IT 人員得以更輕鬆地管理與維護其 OS。

在此環境中,Hypervisor 將執行多個虛擬桌面。 每一個桌面都位在自己的 VM 中,保留在稱為虛擬桌面儲存區的集合中。 每一個 VM 都針對透過網路存取它的單一使用者提供服務。

使用者的端點可以是相對便宜的小型用戶端,也可以是行動式裝置。 這為他們提供可一致存取相同桌面 OS 的優勢。 他們可以在任何裝置上取得相同的資料和應用程式,完全無需在安全環境的外部移動機密資料。

使用者未直接連接 Hypervisor。 他們改為存取連線分配管理系統,該系統會與 Hypervisor 進行協調,以從儲存區找出適當的虛擬桌面。

像 VMware Horizon 之類的產品透過單一產品,由您自己的內部部署服務或代管型雲端服務供應商提供所有功能。

疑難排解

Hypervisor 有這麼多不同的製作者,因此對所有 Hypervisor 進行疑難排解將涉及造訪供應商自己的支援頁面,以及產品專用的修正程式。 不過,部分常見問題包括無法啟動您的所有 VM。 當您耗盡主機的實體硬體資源時便會發生這種情況。 若要修正此問題,您可以為主機新增更多資源,或使用 Hypervisor 的管理軟體來減少 VM 的資源需求。

阻礙 VM 啟動的另一個 Hypervisor 常見問題是,VM 的檢查點或 Snapshot 毀損。 這就是為什麼 VM 備份是企業 Hypervisor 解決方案的重要環節,但您的 Hypervisor 管理軟體可讓您將檔案回復至最後一個有效的檢查點,並且從那裡開始啟動。 不過,這可能意味著遺失您的部分工作。

Hypervisor 與 IBM

IBM 在 1960 年代為自己的大型主機發明了 Hypervisor。 如今,IBM z/VMIBM z Systems 大型主機的 Hypervisor)可以在單一大型主機上執行數千個 Linux 虛擬機器。 IBM PowerVM 提供在 IBM Power Systems 上執行的 AIX、IBM i 及 Linux 作業系統。

IBM 支援雲端中的一系列虛擬化產品。 IBM Cloud Virtual Servers 是完全受管理且可自訂的產品,並且可在您的運算需求增長時提供擴充選項。

如果您目前已在內部部署中執行虛擬化,請參考 IBM VMware 合作提供的解決方案

立即從建立您自己的 IBM Cloud 帳戶開始進行。