VMware 嵌套虛擬化詳解:使用情境與教學指南
最新版本的虛擬化平台(包括 VMware 虛擬化平台)將"嵌套虛擬化"作為硬體虛擬化的額外特點予以支援。何謂嵌套虛擬化?如何在 VMware 環境中啟用嵌套虛擬化?請閱讀這篇部落格文章,了解 VMware 嵌套虛擬化,以及如何設定 VMware 虛擬化平台以使用此特點。
何謂嵌套虛擬化
嵌套虛擬化是指在實體虛擬化平台內,將另一個虛擬化平台作為虛擬機器(VM)來執行。此特點讓您能夠在該虛擬化平台上運行虛擬機器。簡單來說,嵌套虛擬化就是指在虛擬機器內部運行另一台虛擬機器。運行於虛擬化平台上的虛擬機器稱為嵌套虛擬機器。虛擬化平台運行於虛擬機器的虛擬硬體之上,並將該虛擬硬體視為真實的主機硬體。感到困惑嗎? 讓我們來仔細看看這些術語。
- A 主機虛擬化程式 是一款在實體硬體上運行的虛擬化程式。
- A 來賓虛擬化程式 是一種在虛擬硬體(虛擬機器上)運行的虛擬機器管理程式。
- 一個 外部訪客 是指在實體硬體上運行的虛擬機器。客體作業系統則是運行於虛擬機器上的作業系統。
- 一個 內在的訪客 這是 VMware 用來指稱在另一台虛擬機器(於虛擬硬體上)內運行的虛擬機器的術語。
下圖截圖顯示了 VMware 虛擬化的不同層級。位於第 2 層的 ESXi 虛擬機器是外層客體,而位於第 3 層的嵌套虛擬機器則是內層客體。從技術上來說,若您的電腦具備支援此高階效能所需的資源,即可使用更深層的嵌套(第 4 層、第 5 層等)。圖中未展示更深層的嵌套。
硬體輔助虛擬化 (亦稱為硬體虛擬化、HV 或原生虛擬化)利用底層的 電腦的實體硬體 透過軟體來執行虛擬機器。相較於先前使用的二進位轉換和半虛擬化技術,在此使用情境下,硬體特點有助於高效地實現虛擬化。英特爾和 AMD 透過其產品在硬體層級內建原生虛擬化支援, Intel VT-X 以及 AMD-V 特點。若要執行 64 位元來賓系統,必須具備硬體虛擬化功能。請注意, Intel VT-X 或 AMD-V 必須在以下位置啟用: UEFI/BIOS.
支援的虛擬化平台
第 1 型和第 2 型虛擬化平台均可執行嵌套虛擬機器。第 1 型虛擬化平台直接運行於實體硬體之上,亦稱為裸機虛擬化平台。第 2 型虛擬化平台則安裝於實體硬體上所安裝的底層作業系統之中(亦稱為託管式虛擬化平台)。在 VMware 環境中,ESXi 屬於第 1 型虛擬化平台。第 2 型虛擬化平台則是 VMware 工作站、VMware Player,以及 VMware Fusion.
需求:
- 虛擬化硬體輔助虛擬化(virtualized HV)必須由超管理程式支援,才能啟用嵌套虛擬化並執行嵌套虛擬機器。若已為外層來賓系統啟用虛擬化硬體輔助虛擬化,您便可在虛擬機器內執行任何支援硬體虛擬化的超管理程式。
- 自 VMware Workstation 8、VMware Player 4 及 VMware Fusion 4 起,VMware 第 2 類超管理程式即支援硬體輔助虛擬化與虛擬化 HV。至於 ESXi,則自 ESXi 5.0 起支援虛擬化 HV。
- 虛擬機器(外層來賓系統)必須使用虛擬硬體 9 或更高版本。
可用的部署配置:
- 在 VMware Workstation、VMware Player 或 VMware Fusion 上作為虛擬機器執行的 VMware ESXi
- 在 VMware ESXi 上作為虛擬機器執行的 VMware ESXi
- 在其他第三方虛擬化平台(例如 Microsoft Hyper-V 或 VirtualBox)上作為虛擬機器執行的 VMware ESXi
- 在 VMware ESXi、VMware 工作站、VMware Player 或 VMware Fusion 上,將非 VMware 虛擬化平台作為虛擬機器執行
VMware 技術支援
從技術層面來看,嵌套虛擬化可在上述的 VMware 超管理程式上運作。然而,VMware 不支援在生產環境中運行嵌套虛擬機器。這意味著,若您使用虛擬化超管理程式及嵌套虛擬機器,將無法向 VMware 申請官方技術支援。VMware 僅針對在 VMware vSphere 中使用嵌套虛擬機器核准一項例外情況,那就是使用 vSAN Witness Appliance,這是一種嵌套式 ESXi 安裝。
VMware 支援在虛擬機器上啟用 Hyper-V,以實現基於虛擬化的安全性(VBS). Microsoft 虛擬化基礎安全是一項新特點,具備 Windows 10 以及 Windows Server 2016. VMware 支援使用 VBS 在運行 Windows 的虛擬機器上,適用於 VMware vSphere 6.7 及後續版本。請閱讀有關在新的 Windows 10 版本上運行 VMware 工作站的相關資訊,其中 VBS 預設為啟用狀態 以及如何解決相關錯誤。
授權選項
若您將 ESXi 及其他 vSphere 元件作為虛擬機器安裝於嵌套環境中,則必須針對這些元件進行授權,如同您是在實體伺服器上使用它們一般。此規則適用於在任何虛擬化平台(hypervisor)上安裝嵌套的 VMware 虛擬化平台。您可以使用 ESXi、vCenter 及其他 VMware 元件的試用版,或安裝 免費 ESXi. 進一步了解 VMware vSphere 授權 以及 vCenter 授權.
只要符合授權規則,您可以為執行虛擬 ESXi 的虛擬機器配置一顆具備多個 CPU 核心的 CPU,而非分別配置多顆各僅具一個 CPU 核心的 CPU。建議您調整 cpuid.coresPerSocket 參數.
VMware 嵌套虛擬化的使用情境
嵌套虛擬化的優勢在於,您可以在安裝於實體機器上的一個真實虛擬化平台中,運行多個具備嵌套虛擬機的虛擬化平台。節省成本是另一項優勢。嵌套虛擬化可應用於多種情境,以下我們來探討其中最常見的幾種。
教育. 您可以在虛擬機器上安裝 VMware ESXi,藉此了解 VMware vSphere 的功能性。您可以透過部署一台用於共用儲存的虛擬機器以及多台 ESXi 虛擬機器來建立叢集。接著,設定叢集、建立嵌套虛擬機器、執行虛擬機器即時遷移,並探索高可用性 (HA)、DRS、儲存 DRS 以及其他 vSphere 特點的運作方式。 此方法的優勢在於,在您充分了解並能決定部署 VMware vSphere 所需的硬體配置之前,無需購買 SAS 控制器、SAS 硬碟、交換器或其他設備。若您的個人電腦符合需求,即可利用它來建置一個 VMware 家庭實驗室.
此方法亦可用於培訓貴組織內的員工。若他們因配置錯誤導致虛擬 ESXi 主機及嵌套虛擬機器發生故障,您可以透過虛擬機器備份來恢復虛擬 ESXi 主機。您可以備份虛擬 ESXi 主機及嵌套虛擬機器。請嘗試 NAKIVO Backup & Replication,這是一套功能性完備的備份與快速還原解決方案,可保護您的 VMware vSphere 虛擬機器。
您可以 下載 VMware 叢集技術電子書 欲了解更多資訊。
發展. 若您或您的團隊正在為 VMware vSphere 開發應用程式,您可以使用在虛擬 ESXi 伺服器上執行的嵌套虛擬機器。
測試. 您可以針對在具有嵌套虛擬機的虛擬 ESXi 伺服器上運行的 VMware vSphere,對您的應用程式進行測試。不過,請在真實環境中的 vSphere 上進行最終測試,以找出可能取決於實體硬體的問題。 另一種使用情境是在虛擬環境中測試 VMware 虛擬化平台的新版本,以便在決定是否將此版本安裝於實體硬體,或升級硬體上現有的版本之前,先進行評估。若您從未升級過 VMware vSphere 組件,建議先在虛擬環境中進行測試。您可以測試各種情境並驗證新特點。
建議您執行一項 VMware 虛擬機器備份 在將您的 vSphere 環境升級之前,請務必採取以下措施,以避免資料遺失,並在發生問題時防止系統停機。
示範. 銷售經理可以利用虛擬 ESXi 主機和虛擬 vSphere 環境進行示範,並詳細說明所需軟體的功能性。
在公有雲中執行 VMware 虛擬機器. 嵌套虛擬化的另一個使用情境是 託管服務供應商 在其公有雲中部署不同虛擬化平台的虛擬機器。
您可透過備份運行虛擬化程式(外層客機)的虛擬機器,或備份嵌套虛擬機器(內層客機),來備份嵌套環境。請參閱此處,進一步了解 VMware 虛擬機器備份與災難還原 白皮書.
嵌套虛擬機的效能
當您在 VMware 虛擬化平台(hypervisor)上執行虛擬機器時,該虛擬化平台上會存在一個與正在運行的虛擬機器相關的程序。該程序會根據虛擬機器所使用的虛擬記憶體,消耗主機的實體記憶體(Random Access Memory)。 若您執行五台虛擬機器,便會有五個程序,以此類推。主機上執行的程序越多,上下文切換和實體處理器調度所需的時間就越長。結果,就緒時間增加,效能水準隨之下降。
在使用 VMware 嵌套虛擬化時,實體 ESXi 主機上的某個程序會包含一個 ESXi 虛擬機的程序,而該虛擬機上運行的 ESXi 又包含多個嵌套虛擬機的程序(這些程序運行於作為外層來賓的虛擬 ESXi 主機程序之中)。因此,嵌套虛擬機的運作速度會比一般虛擬機慢。效能下降的程度取決於您的硬體效能以及嵌套層級。
適用於嵌套式 VMware 虛擬化平台的 VMware Tools
安裝於虛擬機器內的 ESXi 需要 VMware Tools。VMware Tools 是一組安裝在來賓作業系統上的驅動程式和公用程式。這些工具可提升虛擬機器的效能與使用者體驗。在虛擬 ESXi(外層來賓)上運行的 VMware Tools 提供以下功能:
- 關於嵌套式 ESXi 的資訊,這些資訊會顯示在 VMware vSphere Client 中:IP 位址、主機名稱等。
- 能夠透過 vSphere API 及 vSphere Client(點擊介面中的相關按鈕時)正確地關閉並重新啟動虛擬 ESXi 系統
- 當 ESXi 主機的電源狀態發生變化(開機、關機等)時,執行腳本的能力
- 支援虛擬機器(此處指虛擬 ESXi 的控制台)內操作的 Guest Operations API(原 VIX API)
在 VMware 虛擬機器上執行的 ESXi 所用的 VMware Tools,最初是針對 vSphere 5.0、5.1 及 5.5 版本所發布。供手動安裝的 VMware Tools 是以 VIB 套件的形式提供給 ESXi 5.x 版本。自 VMware vSphere 6.0 起,VMware Tools 已內建於 ESXi 中,因此現在無需在作為 VMware 虛擬機器執行的 ESXi 上手動安裝 VMware Tools。
您可以使用以下指令檢查虛擬 ESXi 上的 VMware Tools 狀態:
/etc/init.d/vmtoolsd status
網路
在設定 ESXi 嵌套虛擬化時,網路配置可能會是一項挑戰。然而,若能了解 L2 和 L3 網路以及虛擬交換機的運作原理,便能簡化 VMware 嵌套虛擬化的網路配置。
若要在 ESXi 上安裝嵌套式虛擬化平台,您需要啟用 Promiscuous mode 以及 Forged transmits 在某個的設定中 vSwitch. 若需要,您也可以啟用 MAC address change. 基於安全考量,這三項選項預設為停用狀態(顯示為"拒絕")。
隨機模式
Promiscuous mode 這是一項虛擬交換機的安全政策,可於 vSwitch 層級或埠組層級進行設定。VMkernel 以及其他連接到具有 Promiscuous mode 若啟用此功能,即可查看所有透過此 vSwitch 的網路裝置所產生的 L2 網路流量(無論幀中定義的目的地 MAC 位址為何,網路介面卡都會接收所有 IEEE 802.3 以太網幀)。預設情況下,網路介面卡僅會接收寄送給該介面卡的幀,而目的地 MAC 位址為其他值的幀則會被丟棄。 Promiscuous mode 也可用於網路監控及流量嗅探/分析,以進行診斷。當 Promiscuous mode 若已啟用,虛擬交換機便會像一個 樞紐. 埠組層級的設定可覆寫虛擬交換器層級的設定。
硬體(實體)交換器會學習連接至該交換器的網路裝置的 MAC 位址。與傳統實體交換器不同,虛擬交換器不會學習連接的網路介面控制器的 MAC 位址。這是因為 VMware vSphere(ESXi 和 vCenter)已經知道那些透過虛擬網路適配器連接至虛擬交換器的虛擬機器的 MAC 位址。 在此情況下,虛擬交換機僅會在目的 MAC 位址與 ESXi 實體或虛擬網路介面控制器 (NIC) 的 MAC 位址相同時,才會將幀轉發至虛擬機器。
使用 ESXi 嵌套虛擬化時,虛擬機器 NIC(針對嵌套虛擬機器)的目的 MAC 位址會與執行嵌套虛擬機器的虛擬 ESXi 主機的 MAC 位址不同。 因此,物理 ESXi 主機上的虛擬交換器會捨棄這些幀(若雜訊模式已停用)。
混用模式與效能
當在虛擬交換機或埠組上啟用"隨意模式"時,網路效能會下降。若您使用 ESXi 嵌套虛擬化來執行會產生大量網路流量的網路密集型工作負載,便會注意到此變化。
MAC 位址變更與安全性
MAC 位址偽造是指在 ARP 毒化攻擊中使用虛假的 MAC 位址。正因如此,由來賓作業系統變更 MAC 位址才是關鍵所在。 能夠將虛擬機器網路介面卡的 MAC 位址綁定至虛擬機器 VMX 設定檔中設定的 MAC 位址,不僅能提升安全性,還能降低遭受 ARP 毒化攻擊的風險。此 VMware 功能性讓您能夠達到傳統實體環境所無法提供的安全等級。正因如此,MAC 位址變更功能預設為停用狀態。
注意!!!: 虛擬交換器(vSwitch)是透過通知機制來識別連接至該虛擬交換器的網路介面卡之 MAC 位址,而非像傳統實體交換器那樣透過學習經過的流量來識別。
偽造的傳輸
"偽造傳輸"是一項影響虛擬機器(VM)所產生出站流量(來自連接至虛擬交換器的虛擬機器之虛擬網路介面卡)的安全政策。"偽造傳輸"這項政策與"MAC 位址變更"政策類似,但適用於入站流量而非出站流量。
一旦啟用"偽造傳輸"後 已接受, 若有效 MAC 位址與幀標頭中定義的來源 MAC 位址不同,ESXi 主機便會允許虛擬機器傳送幀(此現象亦稱為 MAC 冒用)。有效位址即是由客體作業系統所設定的 MAC 位址。在偽造的傳輸中 Reject 在此模式下,若虛擬機所使用的有效 MAC 位址與標頭中定義的來源 MAC 位址不符,主機便不會將資料幀傳送至該虛擬機。在此情況下,客體作業系統將無法辨識出該網路問題是由 MAC 位址偽造所引起。預設情況下,偽造傳輸的設定為 Reject 模式。
讓我們來看一個例子。在一個虛擬 ESXi 主機上,有三個嵌套的虛擬機器正在執行。每台虛擬機器都有一個唯一的 MAC 位址.
ESXi – 00:50:56:DD:DD:DD
Nested VM 1 - 00:50:56:AA:AA:AA
Nested VM 2 - 00:50:56:BB:BB:BB
Nested VM 3 - 00:50:56:CC:CC:CC
當這些虛擬機器中的任何一台嘗試透過虛擬 ESXi 主機的網路介面卡,連線至該虛擬 ESXi 主機虛擬交換器之外的網路時,連接至該虛擬 ESXi 主機網路介面卡的虛擬交換器會檢查虛擬機器傳送的乙太網路幀中所定義的來源 MAC 位址。該來源 MAC 位址與虛擬 ESXi 主機的有效 MAC 位址不符。來自該虛擬機器的幀將被視為 Forged Transmits 並掉落。該 Forged Transmits 該政策設定為 拒絕 在這種情況下。
在 VMware vSphere 6.7 中,分散式虛擬交換機支援 MAC 位址學習功能性。這表示從 vSphere 6.7 開始,您可以使用一個 分散式虛擬交換器 (VDS) 請使用 v6.6 或更高版本,而非在標準虛擬交換機上啟用"混雜模式"和"偽造傳輸",以配置具備網路功能的 VMware 嵌套虛擬化。該 macManagementPolicy 必須在 VDS 設定中啟用此功能。
如何設定 VMware 嵌套虛擬化
在講解完理論部分後,我們現在可以進入實作環節,並設定 VMware 嵌套虛擬化。在這篇操作指南中,我將部署一台執行 ESXi 7.0.3 並在該 ESXi 虛擬機器上執行一個嵌套的 Windows 虛擬機器。我使用 vSphere 6.7(包含物理伺服器上的 ESXi 6.7)以及 vCenter 6.7。這是一個在現有 vSphere 環境中需要測試 VMware vSphere 最新版本時,運用 ESXi 嵌套虛擬化的範例。
我使用的機器如下:
- 192.168.101.205 – 一台執行 ESXi 6.7 的實體主機。此主機已連接多個 VMFS 資料存放區。
- 192.168.101.103 – 運行於另一台主機上的 VMware vCenter Server。其主機名是 vCenter 6-7 (vcenter6-7.localdomain). 此 vCenter Server 用於管理 ESXi 主機 (192.168.101.205)。
- 192.168.101.131 – 一台執行 ESXi 7.0 Update 3(ESXi 7.0.3)的虛擬機器。該虛擬機器的名稱是
ESXi7-VM. - 192.168.101.0/24 – 這是用於連接實體與虛擬機器的網路位址。
您可以使用相同的設定,或使用您自己的設定,透過 VMware 嵌套虛擬化技術在實驗室中部署虛擬環境。
上傳 ISO 映像檔
我需要將 ESXi 7.0.3 的安裝 ISO 映像檔上傳至 ESXi 6.7(即我的實體 ESXi 主機)上的資料存放區。
- 開啟 VMware vSphere Client,然後前往
Datastores. - 請選擇一個資料存放區,您將把檔案上傳至該存放區。我選擇
datastore 11位置位於 ESXi 6.7 主機上(192.168.101.205). - 請選擇
Filestab. - 點擊
Upload Files.
- 在您的電腦上選取 ESXi 7.0.3 安裝 ISO 映像檔,然後按下
Open.
請等待檔案上傳至資料存放區。
建立 VMware 虛擬化平台虛擬機器
現在請建立一台新的虛擬機器,並在該虛擬機器上安裝 ESXI 7.0.3。
- 前往
Hosts and Clusters. - 選取所需的 ESXi 主機 (192.168.101.205 (在此情況下)。
- 點擊
Actions>New Virtual Machine.
A New Virtual Machine 精靈視窗隨即開啟。請依照步驟建立該機器。
1) 選擇創作類型
- 點擊
Create a new virtual machine. - 點擊
Next在精靈的每個步驟中,請點擊以繼續。
2) 選擇名稱和資料夾
接著請指定以下參數:
- 虛擬機器名稱:
ESXi7-VM - 虛擬機器位置:
Datacenter1
在您的基礎架構中,這些參數可能有所不同。
3) 選擇運算資源
請選擇您要部署 ESXi 7 虛擬機器的那台實體 ESXi 主機。我選擇 192.168.101.205.
4) 選擇儲存位置
請選擇一個虛擬機器檔案的位置。請確保該資料存放區有足夠的可用空間。我選擇 datastore42 在此範例中。
5) 選擇相容性
所選的相容性會決定虛擬機器(VM)的硬體版本。較高的版本提供更多特點,但較低的版本則可讓您在舊版 VMware ESXi 和 VMware 工作站上執行虛擬機器。如果您計劃將虛擬機器遷移至執行舊版虛擬化平台的主機,可能需要選擇較低的相容性版本。我正在 ESX 6.7 上建立一臺虛擬機器,並選擇 ESXi 6.5 and later 以確保相容性(VM 版本 13)。請注意,嵌套虛擬化功能自 VM 硬體版本 9 起才開始支援。
6) 選擇一個來賓作業系統
請選取以下參數。
- 客體作業系統系列:
Other - 來賓作業系統版本:
VMware ESXi 6.5 or later
一旦您選取了 ESXi 的版本,便會出現以下警告訊息: This operating system is not supported. 這是 VMware 發出的提醒:若您在虛擬機器上使用 ESXi 時發生問題,將無法申請技術支援。請忽略此訊息並繼續進行安裝。
7) 自訂硬體
此步驟對於正確設定 ESXi 嵌套虛擬化至關重要。您需要為新的虛擬機器設定虛擬硬體。
CPU. 請至少選取 2 顆 CPU。您可以針對每顆 CPU 選取多個核心。請勾選此核取方塊 揭露硬體輔助虛擬化 在客體作業系統中啟用此虛擬機器的 VMware 嵌套虛擬化功能。
註: 若未啟用硬體輔助虛擬化,在虛擬機器上安裝 ESXi 時將會出現以下錯誤。 <Hardware virtualization warning: Hardware virtualization is not a feature of the CPU, or is not enabled in the BIOS>. 若出現此錯誤,您將無法在虛擬 ESXi 主機上啟動嵌套虛擬機器。
記憶. 請選擇 8 GB 或以上的記憶體。請注意,ESXi 本身運行時的需求為 4 GB 的記憶體。若要執行嵌套虛擬機器,您需要增加超過 4 GB 的記憶體。
硬碟. 設定虛擬硬碟選項。設定新虛擬硬碟的大小,其必須符合 ESXi 7.0.3 的儲存需求(至少 32 GB 的磁碟空間)。在此,我為一臺將安裝 ESXi 7.0.3 的虛擬機器建立一個 40 GB 的虛擬硬碟。
磁碟配置. 選擇 簡略條款. 此選項可讓您節省虛擬機器的資料存放區儲存空間。
- 網路. 選取所需的虛擬機器網路。我使用
VMXNET3作為網路適配器,以獲得最佳效能。 - 新款 CD/DVD 光碟機. 展開
New CD/DVD Drive章節。 - 選擇
Datastore ISO file在下拉式選單中。 - 在
CD/DVD Media行,點擊Browse並在資料存放區中選取 ISO 檔案。
- 在資料存放區中,選取您先前上傳的 ESXi 7.0.3 安裝 ISO 映像檔。
8) 準備完成
檢查虛擬機器配置摘要,若一切無誤,請按下 Finish.
啟動 ESXi 虛擬機器
建立虛擬機器後,請啟動此虛擬機器。我選擇 ESXi7-VM 在 VMware vSphere Client 中,右鍵點擊虛擬機器,然後在 Actions 選單中,點擊 Power > Power On.

當虛擬機器啟動後,請在網頁瀏覽器或 VMware 客戶端(例如 VMware 工作站或 VMware Remote Console 應用程式)中開啟虛擬機器主控台,並依照慣常步驟安裝 ESXi 7.0.3 安裝 ESXi. 在 ESXi 上設定 IP 位址和主機名稱 (192.168.101.131 (此為本教學中 ESXi 7 虛擬機器所使用的 IP 位址)。
在虛擬機器上完成 ESXi 7.0.3 的安裝後,您可以在 VMware vSphere Client 中點擊虛擬機器名稱,並檢視虛擬機器資訊。如下方螢幕截圖所示,VMware Tools 已自動安裝在 ESXi 7.0.3 虛擬機器上。
設定虛擬交換器
在外部 ESXi 虛擬機器上建立嵌套虛擬機器之前(192.168.101.131),我們需要在實體 ESXi 主機上設定一個虛擬交換器 (192.168.101.205). 正如本篇部落格文章理論部分前述, Promiscuous mode 以及 Forged transmits 必須在實體 ESXi 主機的虛擬交換機上啟用此功能,才能讓嵌套虛擬機器在虛擬 ESXi 主機外部建立網路連線。
-
- 前往
Hosts and Clusters在 VMware vSphere Client 中 - 在您已安裝 ESXi 虛擬機的主機上,以滑鼠右鍵點擊該 ESXi 主機,然後點選
Settings以開啟 ESXi 設定。該Configure分頁窗格開啟。 - 點擊
Virtual switches在Network類別. - 接著選取所需的虛擬交換器(
vSwitch0(就我們的情況而言)並按下Edit.
- 前往
- 設定虛擬交換機的安全政策。請選擇
Accept因為Promiscuous mode,MAC address changes, 和Forged transmits. 點擊OK以儲存設定並關閉視窗。
虛擬交換機現已針對 ESXi 嵌套虛擬化完成設定。
在 ESXi 虛擬機器上建立資料存放區
在建立 ESXi 7.0.3 虛擬機器時,我為 ESX 安裝建立了一個 40 GB 的虛擬磁碟。由於新的 分割區佈局 在 ESXi 7 中,系統會預先建立 VMFSL 分區,導致在小容量磁碟(小於 128 GB)上,無法為必須用於建立資料存放區的 VMFS 分區預留空間。 因此,我無法將虛擬機器儲存於此虛擬機器上用於安裝 ESXi 7.0.3 的虛擬磁碟中,而必須為我的 ESX7 虛擬機器建立第二個虛擬磁碟。
VMFSL 分割區用於儲存 ESXi 作業系統資料、核心轉儲檔、工具及暫存資料。若磁碟大小大於 128 GB,系統會於系統磁碟的額外分割區中建立 VMFS 資料存放區。
現在讓我們為 ESXi7-VM 建立第二個虛擬磁碟。我將把這個虛擬磁碟用於虛擬 ESXi 主機上的 VMFS 資料存放區。要執行此操作,請在新增虛擬磁碟之前先關閉 ESXi7-VM。
- 開啟 VMware vSphere Client,然後選取
ESXi7-VM. - 右鍵點擊虛擬機器名稱,然後在彈出的選單中,點擊
Edit Settings.
- 在
Edit Settings視窗,點擊Add new device並選擇Hard disk. 接著設定新硬碟的選項。
我選擇以下設定:
- 磁碟大小: 30 GB
- 類型:
Thin provision
點擊 OK 以儲存虛擬機器設定並關閉視窗。
在 ESXi7-VM 上建立第二個虛擬磁碟後,請啟動該虛擬機器。接著連線至該虛擬機器上執行的 ESXi 7.0.3(192.168.101.131) 在網頁瀏覽器中開啟並登入 VMware Host Client。
前往 Storage 在 Navigator 滑動並點擊 New datastore.
1) 資料存放區名稱
選擇 Create a new VMFS datastore 並為新的資料存放區指定一個名稱,例如, ds-nested01. 點擊 Next 在每個步驟中,請繼續操作。
2) 選擇分割選項
由於只有一個可用的虛擬磁碟,因此選取了這個 30 GB 的磁碟。請選取 Use full disk 以及 VMFS 6 在相應的下拉式清單中。
3) 準備完成
檢查資料存放區的配置摘要,然後按下 Finish.
已建立一個資料存放區。您可以使用此資料存放區,將一個嵌套虛擬機器(例如,執行 Windows 的虛擬機器)儲存於 VMware 虛擬化平台中,以我的情況為例,即 ESXi 7.0.3。
上傳嵌套虛擬機的 ISO 映像檔
我們已幾乎完成在虛擬 ESXi 主機上建立嵌套虛擬機的準備工作,以說明如何在實際操作中設定 VMware 嵌套虛擬化。我們將在嵌套虛擬機上安裝 Windows XP,因為此作業系統體積輕巧,且在嵌套環境中的效能應足以應付需求。 請務必留意安全性考量,並使用最新版本的 Windows。您也可以安裝任何其他受支援的客體作業系統(即 VMware Tools 提供支援的客體作業系統)。要安裝 Windows 客體作業系統,我們需要使用 Windows 安裝 ISO 映像檔。其原理是啟動作業系統安裝程式,並在嵌套虛擬機器上安裝客體作業系統。
上傳 Windows 安裝 ISO 映像檔主要有兩種方式。
- 將 ISO 映像檔上傳至虛擬 ESXi 主機上的資料存放區(位於 IP 位址為 的 ESXi 7.0.3 虛擬機器上的 30 GB 資料存放區) 192.168.101.131 (以我的情況為例)。在嵌套的 Windows 虛擬機器中的 CD/DVD 光碟機設定中,選擇使用資料存放區中的 ISO 映像檔。
- 將 ISO 映像檔上傳至實體 ESXi 主機的資料存放區。在 ESXi7-VM 的虛擬機器設定中,將此 ISO 映像檔掛載至 ESXi7 虛擬機器的 CD/DVD 光碟機。選擇
Host Device在建立新的嵌套虛擬機器時,請於嵌套的 Windows XP 虛擬機器的設定中進行操作。虛擬機器所使用的 CD/DVD 光碟機之"主機裝置"選項,可啟用直通模式,並將虛擬機器連接到實體 ESXi 主機的實體 CD/DVD 光碟機。由於我們的 ESXi 主機 7.0.3 是在 VMware 嵌套虛擬化環境中運作的虛擬主機,因此該Host device此選項將 ESXi7 虛擬機的虛擬 CD/DVD 光碟機連接到嵌套虛擬機的虛擬 CD/DVD 光碟機。
第二種方法的優點在於,您無需佔用虛擬 ESXi VM 上的資料存放區空間,可將所有 ISO 映像檔儲存於單一位置,且整體效能應會略為提升。我在本操作指南中採用第二種方法,以說明 ESXi 嵌套虛擬化的設定。
將 Windows XP 安裝 ISO 映像檔上傳至資料存放區 (datastore11 (以我們的情況為例)就像您在 vSphere Client 中對 ESXi 7.0.3 ISO 映像檔所做的那樣。
- 前往
Datastores. - 請選擇所需的資料存放區。
- 點擊
Filestab. - 點擊
Upload files. - 選取所需的 ISO 檔案,按下
Open,並等待 ISO 檔案上傳至資料存放區。
編輯 ESXi7 虛擬機的設定(我們使用 VMware vSphere Client 來執行此操作)。
- 選擇
CD/DVD drive 1. - 請選擇
Datastore ISO file選項。 - 點擊
Browse在"CD/DVD 媒體"區段中,選取位於資料存放區上的 Windows ISO 映像檔的位置。 - 請確保已勾選以下核取方塊:
Connected,Connect At Power On.
建立嵌套虛擬機器
登入虛擬 ESXi 7 主機的 VMware Host Client 網頁介面(192.168.101.131 (就我而言)。
前往 Virtual Machines 在 Navigator 滑動並點擊 Create / Register VM.
VMware Host Client 中會開啟一個新的虛擬機器精靈。
1) 選擇建立類型
選擇 Create a new virtual machine. 點擊 Next 在精靈的每個步驟中,請點擊以繼續。
2) 選擇名稱和客體作業系統
為虛擬機器和作業系統指定一個唯一的名稱。我選擇以下參數。
- 虛擬機器名稱:
WindowsXP - 相容性:
ESXi 7.0 U2 virtual machine - 客體作業系統家族: Windows
- 來賓作業系統版本: Microsoft Windows XP Professional(32 位元)
若要在虛擬機器上安裝另一個客體作業系統,請在選項中選擇適當的作業系統。
3) 選擇儲存空間
請選擇您先前在虛擬 ESXi 主機上建立的資料存放區。我選擇 ds-nested01 用來儲存 VM 檔案。
4) 自訂設定
設定虛擬機器硬體及額外的虛擬機器選項。
我選擇:
- CPU: 1 顆 CPU
- 記憶體: 512 MB RAM(針對 Windows XP 32 位元版本,最多可選配 3.3 GB RAM)
- 硬碟: 8 GB
- 磁碟配置:
Thin provisioned
CD/DVD 光碟機 1: 主機裝置
其餘設定可維持預設值。
5) 準備完成
檢查嵌套虛擬機的設定,如果一切正確,請按 Finish.
在 ESXi 7.0.3 上啟動嵌套虛擬機器。該虛擬機器應從掛載至虛擬 ESXi 7.0.3 虛擬機器的 ISO 映像檔開機。在嵌套虛擬機器上安裝來賓作業系統。您可以點擊虛擬機器畫面預覽,以開啟虛擬機器控制台,並透過網頁介面與來賓作業系統進行互動。
在嵌套虛擬機器上安裝完客體作業系統後,請安裝 VMware Tools。若您的 ESXi 發行版中未包含附有 VMware Tools 的 ISO 映像檔,您可以從 VMware 官方網站下載 VMware Tools 安裝映像檔。請參閱這篇文章以了解有關 安裝 VMware Tools.
安裝 VMware Tools 後,嵌套虛擬機的網路應可正常運作。請嘗試從實體 ESXi 主機對嵌套虛擬機執行 ping 指令,反之亦然。
克隆 ESXi 虛擬機器
在其中一台虛擬機器上完成 ESXi 的設定後,您可能需要於實體 ESXi 伺服器上部署更多 ESXi 虛擬機器。您也可以部署一個嵌套式的 vCenter Server 裝置以及一台具備共用儲存空間的虛擬機器(例如, FreeNAS) 來測試各種 vSphere 特點,包括叢集特點。
您隨時可以從頭開始在新的虛擬機器上安裝 ESXi,但若需部署多台相同的 ESXi 虛擬機器,您可能需要定期執行此操作。因此,更好的解決方案是先設定一台 ESXi 虛擬機器,然後克隆這台虛擬機器。不過,您需要執行一些額外的步驟,才能建立能正常運作的虛擬機器克隆。
- 透過以下方式變更 VMkernel 的 MAC 位址: 在 ESXCLI 中執行該指令.
esxcli system settings advanced set -o /Net/FollowHardwareMac -i 1 - 從中刪除 UUID 記錄
esx.conf因為 UUID 值在各主機上必須是唯一的。
系統 UUID 記錄儲存於/etc/vmware/esx.conf - 請開啟此檔案,並刪除以
/system/uuid - 關閉原始的 ESXi 虛擬機器。現在您可以克隆該 ESXi 虛擬機器。下次開機時(包括虛擬機器克隆本),系統會產生一個新的 UUID。在開機完成 ESXi 虛擬機器克隆本後,請變更其網路設定(IP 位址、主機名稱等)。
現在您已經了解如何在實務中運用 VMware 的嵌套虛擬化,以及如何透過 ESXi 嵌套虛擬化部署虛擬環境。您也可以運用相同的概念,使用其他虛擬化平台來部署嵌套環境。
關於 VMware 工作站上的嵌套虛擬化,請參閱以下部落格文章以獲取更詳細的說明: VMware 家庭實驗室 6.7 以及 VMware 家庭實驗室 7.0.
您也可以閱讀關於 Hyper-V 的嵌套虛擬化 以及 如何在 Hyper-V 虛擬機器上安裝 ESXi.
進一步了解基於 Hyper-V 虛擬化的安全性,以及如何解決該 VMware 不支援在此主機上進行嵌套虛擬化 錯誤。您可以在運行於 ESXi 上的虛擬機器中部署 Hyper-V,並在虛擬的 Hyper-V 伺服器上執行嵌套虛擬機器。
結論
嵌套虛擬化是一項特點,可讓您在虛擬機器(VM)內部運行其他虛擬機器的功能。這篇部落格文章探討了 VMware 的嵌套虛擬化,並說明了如何部署一個包含嵌套 Windows 虛擬機器的虛擬 ESXi 主機。配置 ESXi 嵌套虛擬化最重要的步驟,是將硬體輔助虛擬化功能開放給客體虛擬化平台,並在虛擬交換機上配置安全性政策,以確保網路正常運作。 您可以照常備份超管理程式虛擬機器,以及在 ESXi 虛擬機器上運行的嵌套虛擬機器。如果您正在尋找可靠的 VMware 虛擬機器備份解決方案,不妨試試 NAKIVO Backup & Replication.





































