想要在數據中心嘗試嵌套虛擬化?你需要滿足一些軟件和硬件方面的要求。
虛擬化已經改變了現代計算的面貌,管理員可以提供計算資源并操作從底層服務器完全解耦的工作負載。管理程序通常直接安裝在服務器硬件的頂端,虛擬機可以建立在管理程序之上并運行多種操作系統和應用程序。但一項新的虛擬化模型允許一個管理程序運行在另一個之上,允許IT專業人員“混合”管理程序并開發沒有實踐過的復雜的虛擬環境。雖然這項技術還沒有成熟到可以運用在繁忙的數據中心生產環境中,但人們對“嵌套虛擬化”的興趣不斷增長,供應商也對這項技術表示支持。
嵌套虛擬化或稱之為嵌套虛擬機并不是一個新想法。2008年,VMware討論了這個問題,使用一個管理程序可以正常工作的虛擬機嵌套在另一個虛擬機中。例如,主機程序像ESXi 6.0將支持客戶管理程序,包括Hyper-V,Xen和KVM。然而,不應該假定主機虛擬機監控程序具備支持特定的客戶虛擬機監控程序的能力。想要開始嵌套虛擬化的研究,應該核對虛擬化廠商來決定哪種具體的管理程序可以作為客戶機使用,并核對主機系統管理程序支持特定客戶機的能力。如果你找不到支持所需的主機和客戶虛擬機監控程序組合的文檔,你仍然可以在受控的環境進行實驗并檢測實驗結果,這始終是一個良好的實踐方法。
嵌套虛擬化的原則問題會給客戶機虛擬機的性能帶來影響。虛擬機監控程序如ESXi,Hyper-V,Xen和KVM都需要訪問處理器硬件擴展來增強虛擬化。對于現代服務器來說,這不是一個問題。因為早在2006年就加入了這兩個處理器的擴展。但是一旦系統管理程序安裝在服務器上的裸機硬件上,服務器主機程序通常不公開客戶虛擬機監控程序的虛擬化特性,如果嵌套的虛擬機啟動,將導致客戶機管理程序表現不佳。
現代管理程序如ESXi 5.1及之后的版本能夠實現虛擬化處理器和內存增強,使這些特性可用于客戶虛擬機,然后可以嵌套在其他虛擬機并提供完整的硬件加速性能。
盡管當前虛擬機監控程序應該支持嵌套,請記住,在正確部署嵌套虛擬機之前,可能需要故意使硬件輔助虛擬化作為主機管理程序的一項功能。例如,ESXi 5.1、5.1和5.5都需要管理員在Web客戶端訪問處理器設置屏幕。另外,在Xen實現嵌套虛擬化可能需要改變Xen配置文件:
hap=1
nestedhvm=1