在當今IT應用程序部署的世界中,服務器虛拟化是一個常用術語。但是,服務器虛拟化到底是什麽?是否适合企業的業務?虛拟化的概念始于二十年前,服務器虛拟化如今成爲一個更加複雜且涉及更多的話題。但是,其核心基本概念和承諾保持不變。
什麽是服務器虛拟化?
物理服務器是一項衆所周知的IT設施,其中包括計算、内存存儲、網絡接口組件。物理服務器還具有多種外形尺寸,其中包括刀片服務器、機架服務器、塔式服務器,通常運營在企業的内部部署數據中心。
對于常規的物理服務器(有時稱爲“裸機”服務器),計算、内存、存儲和網絡接口等組件都綁定到單個租戶上。例如,将大量的處理任務分配給正在運行的應用程序。對于核心處理器來說,某些工作負載實際上完全占用了給定處理器的全部容量和吞吐量。
服務器虛拟化技術将物理服務器的屬性(最顯著的是計算能力)抽象爲多個虛拟服務器。因此,虛拟CPU可以被抽象化,而不是僅讓單個CPU處理單個工作負載,該工作負載無法充分利用硬件的容量,從而使單個工作負載和任務更有效地運行。
服務器虛拟化意味着在虛拟化環境中對物理服務器進行抽象化,從而使企業能夠跨服務器資産集群運行應用程序工作負載,而無需直接與底層物理服務器硬件交互。采用虛拟化基礎設施可以最大限度地提高運行工作負載的利用率和可靠性。
虛拟化如何工作
虛拟化完全是關于抽象的,即采用物理上的東西并定義虛拟或基于軟件的物理資産版本。企業使用服務器虛拟化技術在物理硬件上運行大量虛拟機,企業可以通過這些虛拟機在在這個操作系統運行多個應用程序工作負載。
虛拟化技術有多種類型,其中包括支持虛拟機的管理程序、容器虛拟化、硬件輔助虛拟化。在較高的層次上,所有虛拟化技術的目标都是爲了實現同一個目标,即通過分層技術并以高效和靈活的方式配置資源,使物理計算資産更加可用。
虛拟化與雲計算
虛拟化和雲計算是兩個相互關聯的主題和技術。雲計算就是要在彈性模型上提供服務器計算資源,該模型可以根據需要擴展或縮減。物理服務器沒有提供這樣的彈性,并且具有固定的容量,這就是雲計算建立在服務器虛拟化之上的原因。
借助雲計算的服務器虛拟化,雲計算供應商可以使用服務器虛拟化來抽象化數據中心内的大量計算資源,供最終用戶使用。雲計算服務器虛拟化可以提供具有不同數量的虛拟服務器計算和内存容量的不同實例類型。
因此,例如,AWS公司在數據中心中可能運行數以千計的物理服務器,但最終用戶無法訪問實際的物理服務器硬件。EC2(彈性計算雲)服務提供了雲計算服務器虛拟化實例,這些實例提供了不同大小和配置的虛拟機雲計算實例。
虛拟化技術的應用
服務器虛拟化技術有許多應用程序,各種規模的企業都可以從中受益。
應用程序部署。使用服務器虛拟化技術,可以将應用程序捆綁并打包成一種更易于運行和部署的格式,而不是簡單地嘗試在裸機服務器上安裝。
雲計算服務器。虛拟化技術使采用雲計算技術成爲可能,這一切都是爲了擴大運營商的規模,以及降低最終用戶的投資。通過虛拟化,物理服務器可以用于提供數百個可用于不同目的的虛拟機。
開發和測試。使用服務器虛拟化技術開發和測試應用程序比物理硬件容易,因爲可以快速啓動和關閉資源。此外,借助虛拟化技術,開發人員可以設置特定的測試環境,以模拟産品環境,而無需影響生産運營。
桌面仿真。借助虛拟化,最終用戶可以在桌面系統上運行服務器虛拟機。可以用于各種用例,其中包括評估和分析。
高可用性、彈性和備份。虛拟化技術的關鍵特性是它可以使工作負載易于複制。使用複制的工作負載,可以提高彈性和可用性,以及企業執行備份和災難恢複操作的能力。
服務器利用率。單個操作系統或工作負載通常無法充分利用高端計算。通過虛拟化硬件,組織可以實現更高級别的服務器利用率和運營效率。
虛拟化類型
有多種類型的虛拟化技術可以幫助啓用服務器虛拟化架構。
通常将不同類型的虛拟化服務器并行部署或重疊部署。例如,可以使用硬件輔助虛拟化來啓用半虛拟化部署的管理程序,該虛拟機管理程序又可以具有運行應用程序虛拟化的容器引擎。
硬件輔助虛拟化。十多年來,包括英特爾公司和AMD公司在内的芯片供應商已經認識到支持虛拟化環境的價值,并在其芯片組中集成了技術來幫助協助和加速虛拟化。借助英特爾VT-x和AMD-V(硬件輔助虛拟化技術),無需對整個芯片組進行虛拟化,就可以加速和優化虛拟機管理程序。
完全虛拟化。完全虛拟化的概念是在硬件輔助或半虛拟化技術出現之前發展起來的。通過完全虛拟化,主機的計算能力被完全抽象化,從而支持虛拟環境。現代芯片組對硬件輔助虛拟化的支持使完全虛拟化的概念不再像以前那樣有用。
半虛拟化。半虛拟化提供了一個軟件界面,管理程序可以使用該界面對虛拟化硬件功能進行虛拟化,從而實現仿真磁盤和網絡功能。半虛拟化(有時簡稱爲PV)可以在不具有硬件輔助虛拟化支持的系統架構上運行。
半虛拟化硬件(PVH)。半虛拟化硬件(PVH)是2018年開始出現的服務器虛拟化的較新形式之一。半虛拟化硬件(PVH)緻力于将最佳的準虛拟化(PV)與基于硬件虛拟機(HVM)的虛拟化方法結合在一起。
管理程序。服務器虛拟化架構通常涉及管理程序的使用。在虛拟化中,系統管理程序的作用是利用硬件輔助虛拟化和半虛拟化來啓動和管理虛拟機(VM)。虛拟機(VM)和系統管理程序提供操作系統(OS)級别的虛拟化,并且可以運行應用程序工作負載。
開源。虛拟化技術有多種類型,其中包括開源方法。Xen是開源虛拟化技術之一,它可以管理自己的虛拟機管理程序來部署虛拟機。Xen在公共雲中廣泛用于服務器虛拟化。KVM(基于内核的虛拟機)管理程序是另一種流行的開源管理程序技術。
容器。由Docker普及的應用程序容器有時被認爲是服務器虛拟化的又一個層次。但是,容器實際上并沒有虛拟化硬件,然後可以對其進行抽象和共享。而不是像Docker這樣的容器引擎,多個容器可以利用底層主機操作系統的相同接口和共享庫,在獨立的實例中運行單獨的容器Pod或應用程序。容器通常部署在虛拟機管理程序或虛拟機内部,以提供服務器核心主機操作系統的附加隔離層。