位于虛擬化核心的是一種眾所周知但很少討論的技術(shù),稱(chēng)為 Hypervisor。管理程序是一個(gè)軟件層,它使單個(gè)硬件能夠托管多個(gè)隔離的虛擬機。它還有助于管理這些虛擬機。但在我們討論虛擬機管理程序的工作原理、虛擬機管理程序的類(lèi)型以及這項技術(shù)的好處之前,讓我們先定義一些基本的定義。我們將從與虛擬機管理程序密切相關(guān)的技術(shù)開(kāi)始——虛擬化。
什么是虛擬化?
虛擬化是創(chuàng )建“虛擬”形式的資源,例如服務(wù)器、桌面、操作系統、存儲空間、網(wǎng)絡(luò )或文件。通過(guò)虛擬化,傳統計算發(fā)生了轉變,因為這些資源可以根據客戶(hù)或組織的需求進(jìn)行擴展。虛擬化已經(jīng)存在了幾十年,現在分為三種不同的類(lèi)型——操作系統(OS)虛擬化、硬件虛擬化和服務(wù)器虛擬化。
虛擬化用于將工作負載、系統和多個(gè)操作環(huán)境整合到一個(gè)物理系統上。本質(zhì)上,底層硬件是分區的,每個(gè)分區都作為一個(gè)獨立的、隔離的虛擬機運行——它有自己的操作系統?,F在,這就是管理程序的用武之地。
什么是管理程序?
分區的功能,或者更具體地說(shuō),從底層計算機硬件中抽象和隔離這些不同的操作系統和應用程序是管理程序所做的。因此,說(shuō)虛擬化是由虛擬機管理程序的功能啟用的并沒(méi)有錯。
這意味著(zhù)底層硬件(稱(chēng)為主機)可以獨立操作和運行一個(gè)或多個(gè)虛擬機(稱(chēng)為來(lái)賓機器)。管理程序還通過(guò)分配硬件資源(例如內存分配、CPU 使用網(wǎng)絡(luò )帶寬等)來(lái)幫助管理這些獨立的虛擬機。它通過(guò)創(chuàng )建抽象硬件資源池來(lái)做到這一點(diǎn),然后將其分配給虛擬機。它還可以在用戶(hù)請求時(shí)停止和啟動(dòng)虛擬機。
管理程序的另一個(gè)關(guān)鍵組件是確保所有虛擬機與其他虛擬機保持隔離——因此當一個(gè)虛擬機出現問(wèn)題時(shí),其他虛擬機不會(huì )受到影響。最后,管理程序還處理虛擬機之間通過(guò)虛擬網(wǎng)絡(luò )的通信——使虛擬機能夠相互連接。
管理程序如何工作?
要了解管理程序的工作原理,了解管理程序的類(lèi)型很重要 - 管理程序的類(lèi)型是什么?它們是如何工作的?有什么區別?有 2 種類(lèi)型的 Hypervisor。它們也被稱(chēng)為本機或裸機管理程序(類(lèi)型 1)和托管管理程序(類(lèi)型 2)。
類(lèi)型 1 管理程序:
類(lèi)型 1 管理程序直接在主機硬件上運行,無(wú)需底層操作系統的干預。這意味著(zhù)管理程序可以直接訪(fǎng)問(wèn)硬件,而無(wú)需與操作系統和驅動(dòng)程序競爭。
Type 1 被廣泛認為是企業(yè)計算中性能最佳和最高效的虛擬機管理程序。直接分配資源的能力使這些虛擬機管理程序更具可擴展性,但優(yōu)勢遠不止于此:
- 物理資源優(yōu)化:組織通常通過(guò)為不同的應用程序購買(mǎi)單獨的服務(wù)器來(lái)快速消耗資金——這是一項耗時(shí)且占用數據中心空間的工作。借助 Type 1 虛擬機管理程序,IT 可以利用服務(wù)器硬件,從而釋放數據中心成本和空間并減少能源使用。
- 更大的資源分配:大多數類(lèi)型 1 管理程序讓管理員有機會(huì )根據應用程序的優(yōu)先級手動(dòng)設置資源分配。許多類(lèi)型 1 管理程序還根據需要自動(dòng)分配資源,從而使資源管理成為動(dòng)態(tài)和定制的選項。
類(lèi)型 1 管理程序最著(zhù)名的例子是 VMware 的 ESXi 和 Microsoft 的 Hyper-V。
類(lèi)型 2 管理程序
通常,這些管理程序構建在操作系統之上。由于它依賴(lài)于主機的底層操作系統(與類(lèi)型 1 直接對比),因此被稱(chēng)為“托管管理程序”。管理程序作為操作系統中的應用程序運行,然后直接在主機上運行。類(lèi)型 2 管理程序確實(shí)支持多臺訪(fǎng)客機器,但不允許直接訪(fǎng)問(wèn)主機硬件及其資源。預先存在的操作系統管理對 CPU 的內存、網(wǎng)絡(luò )資源和存儲的調用。所有這些都會(huì )產(chǎn)生一定的延遲。
但是,這僅適用于更復雜和高性能的場(chǎng)景。2 型管理程序仍然是流行的家庭和測試實(shí)驗室。此外,Type 2 虛擬機管理程序具有自己的一組優(yōu)勢,例如:
- 類(lèi)型 2 管理程序更容易設置和管理,因為您已經(jīng)有一個(gè)操作系統可以使用。
- 它不需要專(zhuān)門(mén)的管理員。
- 它與各種硬件兼容。
2 類(lèi)管理程序的示例包括 Oracle Solaris Zones、Oracle VM Server for x86、Oracle VM Virtual Box、VMware Workstation、VMware Fusion 等。
虛擬機
KVM(基于內核的虛擬機)是一種流行且獨特的虛擬機管理程序——因為它具有 1 類(lèi)和 2 類(lèi)虛擬機管理程序的特征。這種開(kāi)源虛擬化技術(shù)內置于 Linux 中,更具體地說(shuō),將 Linux 變成了一個(gè)虛擬機管理程序。
需要明確的是,KVM 是 Linux 代碼的一部分,這意味著(zhù)它可以從 Linux 的每一項創(chuàng )新或進(jìn)步、特性和修復中受益,而無(wú)需額外的工程設計。
KVM 將 Linux 轉換為 Type-1(本機/裸機)管理程序。這是一個(gè)安全的選項,可為您提供充足的存儲空間、硬件支持、內存管理、虛擬機實(shí)時(shí)遷移(無(wú)任何服務(wù)中斷)、可擴展性、調度和資源控制、低延遲和更高的應用程序優(yōu)先級。KVM還可以創(chuàng )建更安全和更好隔離的虛擬機,同時(shí)確保它們繼續以最佳性能運行。