解释VMware嵌套虚拟化:用例和教程

最新版本的虛擬機監視器(包括VMware虛擬機監視器)支持嵌套虛擬化作為硬體虛擬化的附加功能。什麼是嵌套虛擬化?如何在VMware環境中啟用嵌套虛擬化?閱讀此博客文章以了解VMware嵌套虛擬化及如何配置VMware虛擬機監視器以使用此功能。

什麼是嵌套虛擬化

嵌套虛擬化是指在物理機監視器中運行虛擬機監視器作為虛擬機(VM)的功能。此功能允許您在虛擬機監視器上運行虛擬機。簡單來說,嵌套虛擬化就是在虛擬機內運行虛擬機。在虛擬機監視器上運行的虛擬機稱為嵌套VM。虛擬機監視器在虛擬機的虛擬硬體上運行,並將此虛擬硬體視為真實主機硬體。感到困惑?讓我們仔細看看所有這些術語。

  • A host hypervisor is a hypervisor running on physical hardware.
  • A guest hypervisor is a hypervisor running on virtual hardware (on a VM).
  • 外部客戶是在物理硬體上運行的虛擬機。客戶端操作系統是在VM上運行的操作系統。
  • 內部客戶是VMware對於在另一個VM中(在虛擬硬體上)運行的VM的術語。

下面的截圖顯示了VMware虛擬化的不同層次。第2層中的ESXi VM是外部客戶,第3層中的嵌套VM是內部客戶。從技術上講,如果您的計算機具有這種高性能的資源,您可以使用更深層次的嵌套(第4層、第5層等)。圖像中未顯示更深層次的嵌套。

硬件輔助虛擬化(又稱硬件虛擬化、HV或本機虛擬化)通過軟件使用計算機的底層物理硬件運行虛擬機器。在這種情況下,硬件功能與以前使用的二進制翻譯和部分虛擬化相比,可以有效地虛擬化機器。英特爾和AMD在硬件級別通過其Intel VT-X和AMD-V功能包括本機虛擬化支持。運行64位客戶端需要硬件虛擬化。請注意,必須在UEFI/BIOS中啟用英特爾VT-X或AMD-V。

支持的虛擬機

兩種類型的虛擬機都可以運行嵌套虛擬機。第一類型的虛擬機在物理硬件上運行,也稱為裸機虛擬機。第二類型的虛擬機安裝在安裝在物理硬件上的底層操作系統上(也稱為托管虛擬機)。在VMware環境中,ESXi是第一類型的虛擬機。第二類型的虛擬機是VMware Workstation,VMware Player和VMware Fusion

要求:虛擬化的硬件輔助虛擬化(虛擬化HV)必須由虛擬機支持,以啟用嵌套虛擬化並運行嵌套虛擬機。如果外部客戶端啟用了虛擬化HV,則可以在虛擬機中運行支持硬件虛擬化的任何虛擬機。

  • 硬件辅助虚拟化(虚拟化 HV)必须得到 hypervisor 的支持,以启用嵌套虚拟化并运行嵌套虚拟机。如果为外部客户端启用了虚拟化 HV,则可以在支持硬件虚拟化的任何 hypervisor 中运行。
  • VMware 类型 2 的 hypervisor 从 VMware Workstation 8、VMware Player 4 和 VMware Fusion 4 开始支持硬件辅助虚拟化和虚拟化 HV。至于 ESXi,虚拟化 HV 从 ESXi 5.0 开始得到支持。
  • 必须为虚拟机(外部客户端)使用虚拟硬件 9 或更高版本。

可用的部署配置:

  • 在 VMware Workstation、VMware Player 或 VMware Fusion 上作为虚拟机运行的 VMware ESXi
  • 在 VMware ESXi 上作为虚拟机运行的 VMware ESXi
  • 在其他第三方 hypervisor(如 Microsoft Hyper-V 或 VirtualBox)上作为虚拟机运行的 VMware ESXi
  • 在 VMware ESXi、VMware Workstation、VMware Player 或 VMware Fusion 上作为虚拟机运行的非 VMware hypervisor

VMware 支持

从技术上讲,嵌套虚拟化在上述 VMware hypervisors 上可以运行。同时,VMware 不支持在生产环境中运行嵌套虚拟机。这意味着如果使用虚拟化的 hypervisor 和嵌套虚拟机,则无法从 VMware 获得官方技术支持。VMware 仅批准一种情况下可以在 VMware vSphere 中使用嵌套虚拟机,那就是使用 vSAN Witness Appliance,这是一种嵌套 ESXi 安装。

VMware支援在虛擬機器上啟用Hyper-V以進行基於虛擬化的安全性(VBS)。Microsoft基於虛擬化的安全性是一個新功能,與Windows 10Windows Server 2016一起提供。VMware支援在運行Windows的虛擬機器上使用VBS,從VMware vSphere 6.7開始。閱讀有關在新的啟用了VBS的Windows 10版本上運行VMware Workstation以及如何修復相關錯誤的信息。

授權選項

如果您將ESXi和其他vSphere組件安裝為VM以用於嵌套環境,則必須對這些組件進行授權,就像您在物理伺服器上使用它們一樣。這個規則也適用於在任何虛擬化器上安裝嵌套VMware虛擬化器。您可以使用ESXi、vCenter和其他VMware組件的試用版本,或安裝免費的ESXi。閱讀更多關於VMware vSphere授權vCenter授權的信息。

您可以為運行虛擬 ESXi 的 VM 配置一個 CPU,該 CPU 具有多個 CPU 核心,而不是為每個 CPU 核心配置一個 CPU,只要您遵守許可規則。考慮調整 cpuid.coresPerSocket 參數。

VMware 嵌套虛擬化的用例

嵌套虛擬化的優點是您可以在安裝在物理機器上的一個真實的 hypervisor 上運行多個虛擬 hypervisor 和嵌套的 VM。節省成本是另一個優點。嵌套虛擬化可以應用於許多場景。讓我們看看最常見的用例。

教育。您可以在 VM 上安裝 VMware ESXi 以了解 VMware vSphere 的功能。您可以通過部署一個用於共享存儲和多個 ESXi VM 的 VM 來創建一個集群。然後配置一個集群,創建嵌套的 VM,執行 VM 的實時遷移,並探索 HA、DRS、存儲 DRS 和其他 vSphere 功能的工作方式。這種方法的優點是在您了解足夠多以決定部署 VMware vSphere 所需的硬件配置之前,您無需購買 SAS 控制器、SAS 磁盤驅動器、交換機或其他設備。如果您的個人計算機符合要求,您可以使用它來搭建 VMware 家用實驗室

發展。如果您或您的團隊為 VMware vSphere 開發應用程序,您可以在虛擬 ESXi 伺服器上運行的巢狀 VM 中使用。

測試。您可以在運行於虛擬 ESXi 伺服器上的巢狀 VM 上測試您的 VMware vSphere 應用程序。但是,請在真實環境中的 vSphere 上運行最終測試,以發現可能依賴於物理硬件的問題。另一個用例是在安裝此虛擬化版本的硬件上安裝新版本的 VMware hypervisor 或升級已安裝在硬件上的現有版本之前,在虛擬環境中測試 VMware hypervisor 的新版本。如果您從未升級過 VMware vSphere 組件,最好在虛擬環境中進行實驗。您可以測試不同的方案並檢查新功能。

建議您在升級 vSphere 環境之前執行VMware VM 備份,以避免數據丟失並防止出現問題時停機。

演示。銷售經理可以使用虛擬 ESXi 主機和虛擬 vSphere 環境進行示範,並查看所需軟件的功能。在公共雲中運行 VMware VMs。巢狀虛擬化的另一個用例是管理服務提供商在其公共雲中部署不同虛擬化平台的 VM。

在升級您的vSphere環境之前,建議您執行VMware VM備份,以避免數據丟失並在出現問題時防止停機。

演示。銷售經理可以使用虛擬ESXi主機和虛擬vSphere環境進行演示,並了解所需軟件的功能。

在公有雲中運行VMware VM。嵌套虛擬化的另一個用例是管理服務提供商在其公共雲中部署不同虛擬化平台的VM。

您可以通過備份運行虛擬化管理員(外部客戶)的VM或備份嵌套VM(內部客戶)來備份嵌套環境。在這篇白皮書中了解更多關於VMware VM備份和災難恢復的信息。

嵌套VM的性能

當您在VMware虛擬化管理員上運行虛擬機時,與虛擬機相關的處理過程會在虛擬化管理員上運行。該處理過程根據虛擬機使用的虛擬內存消耗主機的物理內存(隨機存取存儲器)。如果運行五個虛擬機,則有五個處理過程,以此類推。在主機上運行的進程越多,切換上下文和物理處理器調度所需的時間就越多。結果,就緒時間增加,性能水平下降。

可以透過 vSphere API 和 vSphere 客戶端(在界面中點擊適當的按鈕時)正確關閉並重新啟動虛擬 ESXi 的能力。

當 ESXi 主機的電源狀態更改時(開機、關機等),可以運行腳本的能力。

支持 Guest Operations API(前身為 VIX API),用於在虛擬機內進行操作(在這種情況下是虛擬 ESXi 的控制台)。

  • VMware VM 上運行的 ESXi 的 VMware Tools 首次釋出於 vSphere 5.0、5.1 和 5.5。手動安裝的 VMware Tools 提供為 ESXi 5.x 版本的 VIB 套件。從 VMware vSphere 6.0 開始,VMware Tools 內建於 ESXi 中,現在不再需要在作為 VMware VM 運行的 ESXi 上手動安裝 VMware Tools。
  • 您可以使用以下命令檢查虛擬 ESXi 上的 VMware Tools 狀態:
  • /etc/init.d/vmtoolsd status
  • 網絡

當您配置 ESXi 嵌套虛擬化時,網絡配置可能會很具挑戰性。然而,了解 L2 和 L3 網絡的工作原理,以及虛擬交換機可以簡化 VMware 嵌套虛擬化的網絡配置。

如果您想在 ESXi 上安裝嵌套虛擬化,則需要在 vSwitch 的配置中啟用 混雜模式偽造的傳輸。您還可以選擇啟用 MAC 地址更改。出於安全原因,這三個選項默認情況下被禁用(狀態為拒絕)。混雜模式

/etc/init.d/vmtoolsd status

網絡

在配置 ESXi 嵌套虛擬化時,網絡配置可能會有一些挑戰。然而,了解 L2 和 L3 網絡的工作原理以及虛擬交換機可以簡化 VMware 嵌套虛擬化的網絡配置。

如果您想在 ESXi 上安裝嵌套的 hypervisor,您需要在 虛擬交換機 的配置中啟用 混合模式偽造傳輸。可選擇地,您還可以啟用 MAC 地址更改。這三個選項出於安全考慮默認情況下被禁用(具有拒絕狀態)。

混合模式

淫蕩模式是可以在虛擬交換機的vSwitch級別或端口組級別上配置的安全策略。啟用淫蕩模式的端口組連接的VMkernel和其他網絡接口可以看到所有通過該vSwitch的網絡設備傳輸的L2網絡流量(即使在幀中定義了目的MAC地址,網絡適配器也會接收所有IEEE 802.3以太網幀)。默認情況下,網絡適配器僅接收發送到該適配器的幀,而發送到其他目的MAC地址的幀將被丟棄。淫蕩模式也可用於網絡監控和流量嗅探/分析以進行診斷。啟用淫蕩模式時,虛擬交換機的行為類似於一個。端口組級別的設置可以覆蓋vSwitch級別的設置。

A hardware (physical) switch learns MAC addresses of the network devices connected to the switch. Unlike traditional physical switches, a virtual switch doesn’t learn MAC addresses of connected network interface controllers. This is because VMware vSphere (ESXi and vCenter) already knows the MAC addresses of the virtual machines that have virtual network adapters connected to a virtual switch. In this situation, a virtual switch forwards only frames to a VM if the destination MAC address is the MAC address of the ESXi physical or virtual network interface controller (NIC).

在使用ESXi嵌套虛擬化時,VM NIC(用於嵌套VM的)的目的MAC地址與運行嵌套VM的虛擬ESXi主機的MAC地址不同。因此,如果禁用淫蕩模式,物理ESXi主機上的虛擬交換機將丟棄這些幀。

淫蕩模式和性能

當在虛擬交換機或端口組上啟用淫蕩模式時,網絡性能會下降。如果您在使用ESXi嵌套虛擬化進行產生大量網絡流量的網絡密集型工作負載時,您可以注意到這種變化。

MAC地址更改和安全性

MAC地址欺騙是指在ARP欺騙中使用虛假MAC地址。因此,通過來賓OS更改MAC地址是關鍵。將VM網絡適配器的MAC地址綁定到VMX配置文件中設置的MAC地址,可以提高安全性並降低ARP欺騙攻擊的風險。這項VMware功能使您能夠實現傳統物理環境中無法提供的安全級別。這就是為什麼默認情況下禁用MAC地址更改。

注意 vSwitch根據通知機制而不是像傳統物理交換機一樣學習通過流量的方式,知道連接到vSwitch的網絡適配器的MAC地址。

偽造傳輸

偽造傳輸是對由VM生成的出站流量(從連接到虛擬交換機的VM的虛擬網絡適配器)產生影響的安全策略。偽造傳輸是一種類似於MAC地址更改策略但應用於入站而不是出站流量的策略。

一旦伪造传输被接受,ESXi 主机允许虚拟机发送帧,如果有效的 MAC 地址与帧头中定义的源 MAC 地址不同(这也被称为 MAC 冒充)。有效地址是由客户操作系统设置的 MAC 地址。在伪造传输拒绝模式下,如果虚拟机使用的有效 MAC 地址与帧头中定义的源 MAC 地址不同,主机就不会将帧发送到虚拟机。在这种情况下,客户操作系统无法确定网络问题是否是由 MAC 地址欺骗引起的。默认情况下,伪造传输被设置为拒绝模式。

让我们来看一个例子。有三个嵌套的虚拟机在一个虚拟 ESXi 主机上运行。每台机器都有一个独特的MAC 地址

ESXi – 00:50:56:DD:DD:DD

嵌套虚拟机 1 - 00:50:56:AA:AA:AA

嵌套虚拟机 2 - 00:50:56:BB:BB:BB

嵌套虚拟机 3 - 00:50:56:CC:CC:CC

当这些虚拟机中的任何一个尝试通过虚拟 ESXi 主机的网络适配器连接到虚拟 ESXi 主机的虚拟交换机之外时,连接到虚拟 ESXi 主机的网络适配器的虚拟交换机会检查虚拟机发送的以太网帧中定义的源 MAC 地址。源 MAC 地址与虚拟 ESXi 主机的有效 MAC 地址不匹配。从这个虚拟机发送的帧被视为伪造传输并被丢弃。在这种情况下,伪造传输策略被设置为拒绝

在 VMware vSphere 6.7 中,分佈式虛擬交換器支持 MAC 地址學習功能。這意味著從 vSphere 6.7 開始,您可以使用高於 v6.6 的 分佈式虛擬交換器(VDS),而不是在標準虛擬交換器上啟用混雜模式和偽造傳輸,以配置具有網絡的 VMware 嵌套虛擬化。在 VDS 配置中必須啟用 macManagementPolicy

如何配置 VMware 嵌套虛擬化

在理論部分已經涵蓋的情況下,我們現在可以進入實踐部分並配置 VMware 嵌套虛擬化。在這個步驟中,我將部署運行 ESXi 7.0.3 的虛擬機器,並在該 ESXi 虛擬機器上運行一個嵌套的 Windows VM。我在一台物理服務器上使用包括 ESXi 6.7 和 vCenter 6.7 的 vSphere 6.7。這是在現有 vSphere 環境中需要檢查 VMware vSphere 最新版本時使用 ESXi 嵌套虛擬化的示例。

I use the following machines:

  • 192.168.101.205 – 一台運行 ESXi 6.7 的物理主機。有多個 VMFS 數據存儲附加到此主機。
  • 192.168.101.103 – VMware vCenter Server 運行在另一台主機上。主機名稱為 vcenter6-7vcenter6-7.localdomain)。此 vCenter Server 用於管理 ESXi 主機(192.168.101.205)。
  • 192.168.101.131 – 一個運行 ESXi 7.0 Update 3(ESXi 7.0.3)的 VM。VM 名稱為 ESXi7-VM
  • 192.168.101.0/24 – 是用來連接實體和虛擬機器的網路地址。

您可以使用相同的配置或使用您自己的配置在實驗室中部署一個使用 VMware 嵌套虛擬化的虛擬環境。

上傳 ISO 映像

I need to upload the ESXi 7.0.3 installation ISO image to the datastore on ESXi 6.7, which is my physical ESXi host.

  1. 打開 VMware vSphere 客戶端並轉到 數據存儲
  2. 選擇要上傳文件的數據存儲。我選擇位於 ESXi 6.7 主機(192.168.101.205)上的 數據存儲 11
  3. 選擇 文件 選項卡。
  4. 點擊 上傳文件

  1. 在您的計算機上選擇 ESXi 7.0.3 安裝 ISO 映像文件,然後點擊 打開

等待文件上傳到數據存儲。

創建 VMware hypervisor VM

現在創建一個新的虛擬機器,您將在其中安裝 ESXI 7.0.3。

  1. 轉到 主機和集群
  2. 選擇所需的 ESXi 主機(在這種情況下為 192.168.101.205)。
  3. 點擊 操作 > 新建虛擬機器

A New Virtual Machine wizard opens. Follow the steps to create the machine.

1) 選擇創建類型

  1. 點擊 創建新的虛擬機器
  2. 在向導的每一步中點擊 下一步 以繼續。

2) 選擇名稱和文件夾

然後指定以下參數:

  • 虛擬機器名稱: ESXi7-VM
  • VM 位置: Datacenter1

這些參數在您的基礕設施中可能有所不同。

3) 選擇計算資源

選擇您要部署 ESXi 7 VM 的實體 ESXi 主機。我選擇 192.168.101.205

4) 選擇儲存空間

選擇一個資料存儲區,您將在其中放置 VM 檔案。請確保有足夠的可用空間。在此示例中,我選擇 datastore42

5) 選擇相容性

所選擇的相容性定義了 VM 硬體版本。較高版本提供更多功能,但較低版本允許您在舊版 VMware ESXi 和 VMware Workstation 上運行 VM。如果您計劃將 VM 遷移至運行較舊 hypervisor 版本的主機,您可能需要選擇較低的相容性版本。我正在 ESX 6.7 上創建一個 VM,並選擇 ESXi 6.5 及更新版本 作為相容性(VM 版本 13)。請記住,從 VM 硬體版本 9 開始支援巢狀虛擬化。

6) 選擇客戶端作業系統

選擇以下參數。

  • 客戶端作業系統系列: 其他
  • 客戶端作業系統版本: VMware ESXi 6.5 或更新版本

一旦您選擇 ESXi 版本,將出現警告訊息:此作業系統不受支援。這是 VMware 提醒您,如果在 VM 上使用 ESXi 時出現問題,您將無法請求技術支援。忽略此訊息,繼續安裝。

7) 自訂硬體

這一步對於正確配置 ESXi 巢狀虛擬化非常重要。您需要為新 VM 配置虛擬硬體。

CPU。至少選擇2個CPU。您可以選擇每個CPU多個核心。選擇勾選框公開硬件輔助虛擬化以啟用此VM的VMware嵌套虛擬化。

注意:如果您不公開硬件輔助虛擬化,則在VM上安裝ESXi時將收到以下錯誤。 <硬件虛擬化警告:CPU沒有硬件虛擬化功能,或未在BIOS中啟用>。如果出現此錯誤,您將無法在虛擬ESXi主機上啟動嵌套VM。

內存。選擇8 GB或更多內存。請記住,ESXi本身需要4 GB內存才能運行。您需要添加超過4 GB內存才能運行嵌套VM。

硬盤。設置虛擬硬盤選項。設置新虛擬硬盤大小,其必須滿足ESXi 7.0.3的存儲要求(至少32 GB的磁盤空間)。在這裡,我為VM創建了一個40GB的虛擬磁盤來安裝ESXi 7.0.3。

磁盤配置。選擇細分配。此選項可讓您在VM所在的數據存儲中節省存儲空間。

  1. 網絡。選擇所需的VM網絡。我使用VMXNET3作為網絡適配器以獲得最佳性能。
  2. 新CD / DVD驅動器。展開新CD / DVD驅動器部分。
  3. 在下拉菜單中選擇數據存儲ISO文件
  4. CD/DVD媒體行中,點擊瀏覽,並在資料存儲中選擇ISO文件。

  1. 在資料存儲中選擇您之前上傳的ESXi 7.0.3安裝ISO映像文件。

8) 準備完成

檢查VM配置摘要,如果一切正確,點擊完成

啟動ESXi VM

創建VM後,啟動此VM。我在VMware vSphere Client中選擇ESXi7-VM,右鍵單擊VM,在操作菜單中,點擊電源> 開機

當VM啟動時,在Web瀏覽器中或在VMware客戶端(如VMware Workstation或VMware Remote Console應用程序)中打開VM控制台,並按照通常的方式安裝ESXi 7.0.3。安裝ESXi。在ESXi上設置IP地址和主機名(在我們的操作中,ESXi7-VM使用的IP地址是192.168.101.131)。

在VM上完成安裝ESXi 7.0.3後,您可以在VMware vSphere Client中點擊VM名稱並查看VM信息。如下面的屏幕截圖所示,VMware Tools已自動安裝在ESXi 7.0.3 VM上。

配置虛擬交換机

在外部 ESXi VM(192.168.101.131)上創建嵌套 VM 之前,我們需要在物理 ESXi 主機(192.168.101.205)上配置虛擬交換機。如上所述,在這篇博客文章的理論部分中,必須在物理 ESXi 主機的虛擬交換機上啟用 混雜模式偽造傳輸,以允許嵌套 VM 在虛擬 ESXi 主機外部進行網絡連接。

    1. 在 VMware vSphere Client 中進入 主機和集群
    2. 右鍵點擊安裝了 ESXi VM 的 ESXi 主機,並點擊 設置 打開 ESXi 配置。將打開 配置 選項卡。
    3. 網絡 分類中點擊 虛擬交換機
    4. 然後選擇所需的虛擬交換機(在我們的情況下為 vSwitch0)並點擊 編輯

  1. 為虛擬交換機配置安全策略。選擇在 混雜模式MAC 地址更改偽造傳輸接受。點擊 確定 保存設置並關閉窗口。

虛擬交換機現在已配置為 ESXi 嵌套虛擬化。

在ESXi虛擬機上建立資料存儲

當我創建ESXi 7.0.3虛擬機時,我為ESX安裝創建了一個40GB的虛擬磁碟。由於ESXi 7中的新 分區布局,創建了VMFSL分區,並且沒有空間用於在小於128GB的磁盤上創建必須用於創建資料存儲的VMFS分區。因此,我無法將VM存儲在用於在此VM上安裝ESXi 7.0.3的虛擬磁碟上,我需要為我的ESX7虛擬機創建第二個虛擬磁碟。

VMFSL分區用於存儲ESXi OS資料,包括核心轉儲、工具和暫存的整合。如果磁盤大小大於128GB,系統磁盤上的額外分區將創建VMFS資料存儲。

讓我們為ESXi7-VM創建第二個虛擬磁碟。我將使用這個虛擬磁碟來存儲虛擬ESXi主機上的VMFS資料存儲。為此,在添加虛擬磁碟之前,請關閉ESXi7-VM。

  1. 轉到VMware vSphere Client並選擇 ESXi7-VM
  2. 右鍵單擊VM名稱,在打開的菜單中,點擊 編輯設置

  1. 編輯設置 窗口中,點擊 添加新設備,選擇 硬盤。然後設置新硬盤選項。

I select the following configuration:

  • 磁盤大小: 30GB
  • 類型: 精簡配置

點擊 確定 以保存VM配置並關閉窗口。

一旦在ESXi7-VM上创建了第二个虚拟磁盘,启动VM。然后在Web浏览器中连接到运行在VM上的ESXi 7.0.3(192.168.101.131),并登录到VMware Host Client。

转到导航器窗格中的存储,然后单击新数据存储

1) 数据存储名称

选择创建新的VMFS数据存储并提供新数据存储的名称,例如ds-nested01。在每个步骤中单击下一步以继续。

2) 选择分区选项

因为只有一个空闲虚拟磁盘,所以选择了这个30GB的磁盘。在适当的下拉列表中选择使用整个磁盘VMFS 6

3) 准备完成

检查数据存储配置摘要,然后点击完成

A datastore is created. You can use this datastore to store a nested VM (for example, a VM running Windows) in a virtual VMware hypervisor, that is, ESXi 7.0.3 in my case.

上传ISO映像以用于嵌套VM

我们几乎完成了在虚拟ESXi主机上创建嵌套VM的准备工作,以解释如何在实践中配置VMware嵌套虚拟化。我们打算在嵌套VM上安装Windows XP,因为这个操作系统比较轻量级,在嵌套环境中性能应该足够。请牢记安全方面的考虑,并使用最新版本的Windows。您可以安装任何其他受支持的客户操作系统(VMware提供了VMware Tools的客户操作系统)。要安装Windows客户操作系统,我们需要使用Windows安装ISO映像文件。想法是引导操作系统安装程序,并在嵌套VM上安装客户操作系统。

有兩個主要的上傳 Windows 安裝 ISO 映像檔的路徑。

  1. 將 ISO 映像檔上傳到虛擬 ESXi 主機的資料存儲庫(在我的情況下,ESXi 7.0.3 VM 上的 30 GB 資料存儲庫,其 IP 為 192.168.101.131)。在巢狀 Windows VM 的 CD/DVD 驅動器設置中選擇從資料存儲庫使用 ISO 映像檔。
  2. 將 ISO 映像檔上傳到實體 ESXi 主機的資料存儲庫。在 ESXi7-VM 的 VM 設置中將此 ISO 映像檔掛載到 CD/DVD 驅動器。在創建新的巢狀 VM 時,在巢狀 Windows XP VM 的 VM 設置中選擇 主機裝置。VM 使用的 CD/DVD 驅動器的主機裝置選項啟用了通過模式,並將 VM 連接到實體 ESXi 主機的實體 CD/DVD 驅動器。由於我們的 ESXi 主機 7.0.3 在 VMware 巢狀虛擬化情況下是虛擬的,主機裝置 選項將 ESXi7-VM 的虛擬 CD-DVD 驅動器連接到巢狀 VM 的虛擬 CD/DVD 驅動器。

第二種方法的優勢在於您無需使用虛擬 ESXi VM 上的資料存儲空間,您可以將所有 ISO 映像檔存儲在單個位置,整體性能應該稍微更好。在本指南中,我使用第二種方法來解釋 ESXi 巢狀虛擬化的配置。

將 Windows XP 安裝 ISO 映像檔上傳到資料存儲庫(在我們的情況下是 資料存儲庫11),就像您在 vSphere Client 中為 ESXi 7.0.3 ISO 映像檔所做的那樣。

  1. 前往 資料存儲
  2. 選擇所需的資料存儲。
  3. 點擊 文件 標籤。
  4. 點擊 上傳文件
  5. 選擇所需的 ISO 檔案,點擊 開啟,等待直到 ISO 檔案上傳至資料存儲庫。

編輯 ESXi7-VM 的設置(我們使用 VMware vSphere Client 進行此操作)。

  1. 選擇 CD/DVD 驅動器 1
  2. 選擇 資料存儲庫 ISO 檔案 選項。
  3. 在 CD/DVD 媒體部分點擊 瀏覽,並選擇位於資料存儲庫中的 Windows ISO 映像。
  4. 確保選中以下核取方塊:已連線開機時連線

創建嵌套 VM

登入 VMware Host Client 的 Web 介面,用於虛擬 ESXi 7 主機(在我的情況下為 192.168.101.131)。
前往 虛擬機器導覽器 面板中,點擊 建立/註冊 VM

A new virtual machine wizard opens in VMware Host Client.

1) 選擇創建類型

選擇 建立新的虛擬機器。在嚮導的每個步驟中點擊 下一步 以繼續。

2) 選擇名稱和客戶 OS

為 VM 和 OS 指定一個唯一名稱。我選擇以下參數。

  • A VM name: WindowsXP
  • 相容性: ESXi 7.0 U2 虛擬機器
  • 客戶 OS 類別: Windows
  • 客戶 OS 版本: Microsoft Windows XP 專業版(32 位元)

如果您想在 VM 上安裝另一個客戶 OS,請在選項中選擇適當的 OS。

3) 選擇儲存空間

選擇您之前在虛擬 ESXi 主機上建立的資料存儲。我選擇 ds-nested01 來儲存虛擬機檔案。

4) 自訂設定

配置虛擬機的硬體和其他選項。

I select:

  • CPU: 1 個 CPU
  • 記憶體: 512 MB RAM(對於 Windows XP 32 位元,最多可選擇 3.3 GB RAM)
  • 硬碟: 8 GB
  • 磁碟設置: 薄配置

CD/DVD 光驅 1: 主機裝置

其他設定可以保留預設值。

5) 準備完成

檢查嵌套虛擬機的配置,如果一切正確,請點擊 完成

在 ESXi 7.0.3 上啟動嵌套虛擬機。該虛擬機應該從掛載到虛擬 ESXi 7.0.3 虛擬機的 ISO 映像中引導。在嵌套虛擬機上安裝一個客戶操作系統。您可以點擊虛擬機螢幕預覽以在 Web 介面中打開虛擬機控制台並與客戶操作系統進行互動。

安裝嵌套虛擬機上的 VMware 工具。如果您的 ESXi 發行版不包含帶有 VMware 工具的 ISO 映像,您可以從官方 VMware 網站下載 VMware 工具安裝映像。閱讀本文以獲取有關 安裝 VMware 工具 的詳細信息。

安裝完 VMware 工具後,嵌套虛擬機的網路應正常運作。嘗試從實體 ESXi 主機 ping 回嵌套虛擬機,反之亦然。

克隆 ESXi 虛擬機

在配置了一台虚拟机上的 ESXi 之后,您可能需要在物理 ESXi 服务器上部署更多的 ESXi 虚拟机。您还可以部署一个嵌套的 vCenter Server Appliance 和一个带有共享存储的虚拟机(例如,FreeNAS)来测试各种 vSphere 功能,包括集群功能。

您可以随时从头开始在新的虚拟机上安装 ESXi,但如果需要部署多个相同的 ESXi 虚拟机,您可能需要经常执行此操作。这就是为什么更好的解决方案是配置一个 ESXi 虚拟机并克隆此虚拟机。但是,您需要采取一些额外的步骤来创建正常工作的虚拟机克隆。

  1. 通过在 ESXCLI 中运行命令来更改 VMkernel MAC 地址。
    esxcli system settings advanced set -o /Net/FollowHardwareMac -i 1
  2. esx.conf中删除 UUID 记录,因为主机上的 UUID 值必须是唯一的。
    系统 UUID 记录存储在/etc/vmware/esx.conf
  3. 打开此文件并删除以/system/uuid开头的行
  4. 关闭原始的 ESXi 虚拟机。现在您可以克隆 ESXi 虚拟机。下次启动虚拟机(包括虚拟机克隆)时,将生成新的 UUID。启动 ESXi 虚拟机克隆后,更改其网络设置(IP 地址、主机名等)。

現在你知道如何在實踐中使用VMware嵌套虛擬化,以及如何使用ESXi嵌套虛擬化部署虛擬環境。您可以使用相同的思路來部署其他虛擬化 hypervisor 的嵌套環境。

有關在VMware Workstation上進一步解釋嵌套虛擬化的內容,可以參閱有關VMware home lab 6.7VMware home lab 7.0的博客文章。

您還可以閱讀有關Hyper-V的嵌套虛擬化如何在Hyper-V虛擬機器上安裝ESXi的相關內容。

深入了解Hyper-V基於虛擬化的安全性,以及如何解決VMware不支援此主機上的嵌套虛擬化錯誤。您可以在運行ESXi的虛擬機器上部署Hyper-V並在虛擬Hyper-V伺服器上運行嵌套虛擬機器。

結論

嵌套虛擬化是一種功能,允許您在虛擬機器(VMs)內運行其他VMs。這篇博客文章介紹了VMware的嵌套虛擬化,並解釋了如何使用嵌套的Windows VM部署虛擬ESXi主機。配置ESXi嵌套虛擬化的最重要步驟是將硬體輔助虛擬化暴露給客戶假想管理員,並在虛擬交換機上配置安全策略以實現正確的網絡功能。您可以像平常一樣備份運行在ESXi VM上的假想管理員VM和嵌套的VMs。如果您正在尋找可靠的VMware VM備份,請嘗試使用NAKIVO Backup & Replication。

Source:
https://www.nakivo.com/blog/vmware-nested-virtualization-explained-use-cases-and-tutorial/