什么是虛擬機,為什么它們如此有用?
?當今的許多IT創新都源于虛擬機以及軟件與硬件的分離。
如今的許多尖端技術,如云計算、邊緣計算和微服務,都源于虛擬機的概念——將操作系統和軟件實例與底層物理計算機分離。
什么是虛擬機?
虛擬機(VM)是運行程序或應用程序而不綁定到物理機的軟件。在虛擬機(VM)實例中,一臺或多臺來賓計算機可以在主機上運行。
每個虛擬機都有自己的操作系統,并且與其他虛擬機分開運行,即使它們位于同一物理主機上。虛擬機通常運行在服務器上,但也可以運行在桌面系統甚至嵌入式平臺上。多個虛擬機可以共享來自物理主機的資源,包括CPU周期、網絡帶寬和內存。
虛擬機的起源可以追溯到上世紀60年代早期的計算,當時大型機用戶的時間共享被用于將軟件與物理主機系統分開。虛擬機在上世紀70年代初被定義為“真實計算機機器的高效、獨立副本”。
我們今天所知道的虛擬機在過去20年中獲得了發展,因為公司采用服務器虛擬化以更有效地利用其物理服務器的計算能力,減少物理服務器的數量并節省數據中心的空間。因為具有不同操作系統要求的應用程序可以在單個物理主機上運行,所以每個應用程序不需要不同的服務器硬件。
虛擬機如何工作?
一般來說,有兩種類型的虛擬機:進程虛擬機,將單個進程分開,系統虛擬機,將操作系統和應用程序與物理計算機完全分離。進程虛擬機的示例包括Java虛擬機、.NETFramework和Parrot虛擬機。
系統虛擬機依賴管理程序作為中間人,讓軟件可以訪問硬件資源。管理程序模擬計算機的CPU、內存、硬盤、網絡和其他硬件資源,創建一個資源池,可以根據其特定要求分配給各個虛擬機。Hypervisor可以支持多個相互隔離的虛擬硬件平臺,使VM能夠在同一物理主機上運行Linux和Windows Server操作系統。
虛擬機管理程序領域的知名企業包括VMware(ESX/ESXi)、Intel/Linux Foundation(Xen)、Oracle(適用于SPARC的MV服務器和適用于x86的OracleVM服務器)和微軟(Hyper-V)。
臺式計算機系統也可以利用虛擬機。此處的示例是Mac用戶在其物理Mac硬件上運行虛擬Windows實例。
管理程序有哪兩種類型?
管理程序管理資源并將它們分配給虛擬機。它還可以根據管理程序和虛擬機的配置方式來調度和調整資源的分配方式,并且可以根據需求波動重新分配資源。大多數虛擬機管理程序屬于以下兩類之一:
- Type1。裸機管理程序直接在物理主機上運行,并可以直接訪問其硬件。1類管理程序通常在服務器上運行,被認為比2類管理程序更高效、性能更好,因此非常適合服務器、桌面和應用程序虛擬化。類型1管理程序的示例包括MicrosoftHyper-V和VMwareESXi。
- Type2。有時稱為托管管理程序,Type2管理程序安裝在主機操作系統的頂部,它管理對硬件資源的調用。類型2管理程序通常部署在最終用戶系統上以用于特定用例。例如,開發人員可能使用類型2管理程序來創建特定環境來構建應用程序,或者數據分析師可能使用它在隔離環境中測試應用程序。示例包括VMwareWorkstation和OracleVirtualBox。
虛擬機有什么優勢?
由于軟件與物理主機分離,用戶可以在單個硬件上運行多個操作系統實例,從而節省企業時間、管理成本和物理空間。另一個優勢是虛擬機可以支持舊版應用程序,從而減少或消除將舊版應用程序遷移到更新或不同操作系統的需求和成本。
此外,開發人員使用虛擬機在安全的沙盒環境中測試應用程序。希望查看他們的應用程序是否可以在新操作系統上運行的開發人員可以利用虛擬機來測試他們的軟件,而不是提前購買新的硬件和操作系統。例如,微軟最近更新了其免費的Windows VM,允許開發人員下載帶有Windows11的評估虛擬機,以便在不更新主計算機的情況下試用該操作系統。
這也有助于隔離可能感染給定虛擬機實例的惡意軟件。由于虛擬機內的軟件無法篡改主機,惡意軟件無法傳播同樣多的損害。
虛擬機的缺點是什么?
虛擬機確實有一些缺點。在一臺物理主機上運行多個虛擬機可能會導致性能不穩定,尤其是在不滿足特定應用程序的基礎架構要求的情況下。與物理計算機相比,這也使它們在許多情況下效率較低。
如果物理服務器崩潰,在其上運行的所有應用程序都會崩潰。大多數IT商店利用物理和虛擬系統之間的平衡。
還有哪些其他形式的虛擬化?
虛擬機在服務器虛擬化中的成功導致將虛擬化應用到其他領域,包括存儲、網絡和桌面。如果數據中心正在使用某種類型的硬件,則很有可能正在探索虛擬化它的概念(例如,應用程序交付控制器)。
在網絡虛擬化方面,公司已經探索了網絡即服務選項和網絡功能虛擬化(NFV),它使用商品服務器代替專用網絡設備,以實現更靈活和可擴展的服務。這與軟件定義網絡略有不同,后者將網絡控制平面與轉發平面分開,以實現對網絡資源進行更自動化的供應和基于策略的管理。第三種技術,虛擬網絡功能,是可以在NFV環境中運行的基于軟件的服務,包括路由、防火墻、負載平衡、WAN加速和加密等過程。
例如,Verizon使用NFV為其虛擬網絡服務提供支持,使客戶能夠按需啟動新的服務和功能。服務包括虛擬應用程序、路由、軟件定義的廣域網、廣域網優化,甚至會話邊界控制器即服務(SBCaaS),以集中管理和安全部署基于IP的實時服務,例如VoIP和統一通信。
虛擬機和容器
虛擬機的增長導致容器等技術的進一步發展,使這一概念又向前邁進了一步,并在Web應用程序開發人員中獲得了吸引力。在容器設置中,可以虛擬化單個應用程序及其依賴項。與虛擬機相比,容器的開銷要少得多,因此容器僅包含二進制文件、庫和應用程序。
雖然有些人認為容器的開發可能會扼殺虛擬機,但虛擬機有足夠的功能和優勢來推動技術向前發展。例如,在同時運行多個應用程序或在舊操作系統上運行遺留應用程序時,虛擬機仍然很有用。
此外,有些人認為容器不如虛擬機管理程序安全,因為容器只有一個應用程序共享的操作系統,而虛擬機可以隔離應用程序和操作系統。
IDC軟件定義計算部門的研究經理GaryChen表示,即使客戶探索云架構和容器,VM軟件市場仍然是一項基礎技術。“盡管虛擬機軟件市場非常成熟且接近飽和,但在未來五年內將繼續保持正增長,”Chen在IDC的《2019-2022年全球虛擬機軟件預測》中寫道。
虛擬機、5G和邊緣計算
虛擬機被視為5G和邊緣計算等新技術的一部分。例如,Microsoft、VMware和Citrix等虛擬桌面基礎架構(VDI)供應商正在尋找將其VDI系統擴展到現在在家工作的員工的方法,作為后COVID混合模型的一部分。
“使用VDI,您需要極低的延遲,因為基本上將擊鍵和鼠標移動發送到遠程桌面,”卡內基梅隆大學計算機科學教授MahadevSatyanarayanan說。2009年,Satyanarayanan寫了一篇關于如何使用基于虛擬機的小云來為互聯網邊緣的移動設備提供更好的處理能力的文章,這導致了邊緣計算的發展。
在5G無線空間中,網絡切片過程使用軟件定義的網絡和NFV技術來幫助將網絡功能安裝到虛擬服務器上的虛擬機上,以提供曾經只能在專有硬件上運行的服務。
與當今使用的許多其他技術一樣,如果不是幾十年前引入的原始虛擬機概念,這些新興創新就不會被開發出來。?