最新版本的虚拟化软件,包括VMware虚拟化软件,支持嵌套虚拟化作为硬件虚拟化的附加功能。什么是嵌套虚拟化?如何在VMware环境中启用嵌套虚拟化?阅读本文了解VMware嵌套虚拟化以及如何配置VMware虚拟化软件以使用此功能。
什么是嵌套虚拟化
嵌套虚拟化是指在物理虚拟化软件内部运行虚拟化的假想机(VM)作为虚拟机。此功能允许您在虚拟化的假想机上运行虚拟机。简单来说,嵌套虚拟化是指在虚拟机内部运行虚拟机。在虚拟化的假想机上运行的虚拟机称为嵌套虚拟机。虚拟化的假想机运行在虚拟机的虚拟硬件上,并将此虚拟硬件视为真实主机硬件。感到困惑了吗?让我们仔细看看所有这些术语。
- A host hypervisor is a hypervisor running on physical hardware.
- A guest hypervisor is a hypervisor running on virtual hardware (on a VM).
- 外部客户是运行在物理硬件上的虚拟机。客户操作系统是运行在虚拟机上的操作系统。
- 内部客户是VMware术语,指的是在另一个虚拟机内部(在虚拟硬件上)运行的虚拟机。
下面的屏幕截图显示了VMware虚拟化的不同层次。第2层中的ESXi虚拟机是外部客户,第3层中的嵌套虚拟机是内部客户。从技术上讲,如果您的计算机具有此高性能级别所需的资源,您可以使用更深层次的嵌套(第4层,第5层等)。图像中未说明更深层次的嵌套。
硬件辅助虚拟化(也称为硬件虚拟化、HV或本地虚拟化)使用计算机的底层物理硬件通过软件来运行虚拟机。与之前使用的二进制翻译和半虚拟化相比,硬件功能在这种情况下有助于高效地虚拟化机器。英特尔和AMD在硬件级别均包含原生虚拟化支持,分别为英特尔VT-X和AMD-V功能。硬件虚拟化是运行64位客户机所必需的。请注意,UEFI/BIOS中必须启用英特尔VT-X或AMD-V。
支持的Hypervisor
类型1和类型2 Hypervisor都可以运行嵌套VM。类型1 Hypervisor在物理硬件之上运行,也称为裸金属Hypervisor。类型2 Hypervisor安装在物理硬件上已安装的底层操作系统上(也称为托管Hypervisor)。在VMware环境中,ESXi是一种类型1 Hypervisor。类型2 Hypervisor包括VMware Workstation,VMware Player和VMware Fusion。
要求:
- 虚拟化硬件辅助虚拟化(虚拟化HV)必须由hypervisor支持,以启用嵌套虚拟化并运行嵌套VM。如果为外部guest启用了虚拟化HV,则可以在VM中运行支持硬件虚拟化的任何hypervisor。
- VMware Workstation 8、VMware Player 4和VMware Fusion 4起支持硬件辅助虚拟化和虚拟化HV。至于ESXi,从ESXi 5.0开始支持虚拟化HV。
- 必须使用虚拟硬件9或更高版本来运行VM(外部guest)。
可用的部署配置:
- VMware ESXi作为VM在VMware Workstation、VMware Player或VMware Fusion上运行
- VMware ESXi作为VM在VMware ESXi上运行
- VMware ESXi作为VM在其他第三方hypervisors上运行,如Microsoft Hyper-V或VirtualBox
- 在VMware ESXi、VMware Workstation、VMware Player或VMware Fusion上运行非VMware hypervisor作为VM
VMware支持
从技术上讲,嵌套虚拟化适用于上述VMware hypervisors。同时,VMware不支持在生产环境中运行嵌套VM。这意味着如果使用虚拟化hypervisor和嵌套VM,您无法从VMware获得官方技术支持。VMware仅批准一种例外情况,即在VMware vSphere中使用嵌套VM,即使用vSAN Witness Appliance,这是一种嵌套ESXi安装类型。
VMware支持在虚拟化安全(VBS)中启用VM上的Hyper-V。微软虚拟化安全是一个新功能,适用于Windows 10和Windows 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许可的信息。
您可以将一个CPU配置为多个CPU核心,运行虚拟ESXi虚拟机,而不是为每个CPU配置一个CPU核心,只要您遵守许可规则。考虑调整cpuid.coresPerSocket参数。
VMware嵌套虚拟化的用例
嵌套虚拟化的优势在于您可以在一个物理机上安装一个真实的超级监视器,并在其中运行多个虚拟超级监视器和嵌套虚拟机。节省成本是另一个优势。嵌套虚拟化可用于许多场景。让我们看看最常见的用例。
教育。您可以在虚拟机上安装VMware ESXi,了解VMware vSphere的功能。您可以通过部署一个用于共享存储和多个ESXi虚拟机的VM来创建一个集群。然后配置一个集群,创建嵌套虚拟机,执行虚拟机实时迁移,并探索HA、DRS、存储DRS和其他vSphere功能的工作原理。这种方法的优势在于,在您了解足够多的信息以决定需要部署VMware vSphere的硬件配置之前,您不需要购买SAS控制器、SAS磁盘驱动器、交换机或其他设备。如果您的个人计算机符合要求,您可以使用它来构建一个VMware家庭实验室。
发展。如果您或您的团队为VMware vSphere开发应用程序,您可以使用在虚拟ESXi服务器上运行的嵌套VM。
测试。您可以使用在虚拟ESXi服务器上运行的嵌套VM来测试您的VMware vSphere应用程序。但是,最终测试应在真实环境中的vSphere上运行,以发现可能依赖于物理硬件的问题。另一个用例是在安装此虚拟化程序版本或升级已安装在硬件上的现有版本之前,在虚拟环境中测试VMware虚拟化程序的新版本。如果您从未升级过VMware vSphere组件,最好在虚拟环境中进行实验。您可以测试不同的场景并检查新功能。
建议在升级vSphere环境之前执行VMware VM备份,以避免数据丢失并防止出现问题时停机。
演示。销售经理可以使用虚拟ESXi主机和虚拟vSphere环境进行演示,并讨论所需软件的功能。
建议在升级您的 vSphere 环境之前备份 VMware VM,以避免数据丢失并在出现问题时防止停机。
演示。销售经理可以使用虚拟 ESXi 主机和虚拟 vSphere 环境进行演示,并了解所需软件的功能。
在公共云中运行 VMware VM。嵌套虚拟化的另一个用例是托管服务提供商在其公共云中部署不同虚拟化平台的 VM。
您可以通过备份运行在 hypervisor 上的 VM(外部客户)或备份嵌套 VM(内部客户)来备份嵌套环境。在这份白皮书中了解更多关于 VMware VM 备份和灾难恢复的信息。
嵌套 VM 的性能
当您在 VMware hypervisor 上运行虚拟机时,与在 hypervisor 上运行的 VM 相关的一个进程。该进程根据 VM 使用的虚拟 RAM 消耗主机的物理 RAM(随机存取存储器)。如果您运行五个 VM,则有五个进程,依此类推。在主机上运行的进程越多,进行上下文切换和物理处理器调度所需的时间就越长。结果,准备时间增加,性能水平下降。
通过 vSphere API 和 vSphere Client(在界面中点击适当的按钮时)正确关闭和重新启动虚拟 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 内置于 ESX 中,现在不需要在作为 VMware VM 运行的 ESXi 上手动安装 VMware Tools 了。
- 您可以使用以下命令检查虚拟 ESXi 上的 VMware Tools 状态:
/etc/init.d/vmtoolsd status
- 网络
在配置 ESXi 嵌套虚拟化时,网络配置可能会有挑战。然而,了解 L2 和 L3 网络的工作原理以及虚拟交换机可以简化 VMware 嵌套虚拟化的网络配置。
如果您想在 ESXi 上安装嵌套的 hypervisor,则需要在
/etc/init.d/vmtoolsd状态
网络配置
当您配置ESXi嵌套虚拟化时,网络配置可能会很具有挑战性。但是,了解L2和L3网络的工作原理以及虚拟交换机可以简化VMware嵌套虚拟化的网络配置。
如果您想在ESXi上安装嵌套的hypervisor,则需要在
混杂模式
混杂模式是可以在虚拟交换机级别或端口组级别配置的安全策略。启用混杂模式的端口组上连接的VMkernel和其他网络接口可以看到通过该虚拟交换机传递的所有网络设备的L2网络流量(即使在帧中定义了目标MAC地址,网络适配器也会接收所有IEEE 802.3以太网帧)。默认情况下,网络适配器仅接收发送到该适配器的帧,而将具有其他目标MAC地址的帧丢弃。混杂模式也可用于网络监视和流量嗅探/分析以进行诊断。启用混杂模式时,虚拟交换机的行为类似于集线器。端口组级别的设置可以覆盖虚拟交换机级别的设置。
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地址。因此,更改客户操作系统的MAC地址是关键。将虚拟机网络适配器的MAC地址绑定到虚拟机的VMX配置文件中设置的MAC地址可以提高安全性,减少ARP欺骗攻击的风险。这种VMware功能能够实现在传统物理环境中无法实现的安全级别。这就是为什么默认情况下禁用MAC地址更改的原因。
注意: vSwitch基于通知机制而不是传统物理交换机的流量学习来了解连接到vSwitch的网络适配器的MAC地址。
伪造传输
伪造传输是安全策略,会影响由虚拟机生成的出站流量(从连接到虚拟交换机的虚拟网络适配器的虚拟机)。伪造传输是类似于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 开始,您可以使用 分布式虚拟交换机 (VDS) v6.6 或更高版本,而不是在标准虚拟交换机上启用混杂模式和伪造传输,来配置 VMware 嵌套虚拟化网络。在 VDS 配置中必须启用 macManagementPolicy。
如何配置 VMware 嵌套虚拟化
理论部分已经介绍完毕,现在我们可以进入实践部分并配置 VMware 嵌套虚拟化。在本指南中,我将部署一个运行 ESXi 7.0.3 的虚拟机,并在该 ESXi 虚拟机上运行一个嵌套的 Windows VM。我使用包括 ESXi 6.7 在内的 vSphere 6.7,部署在物理服务器上的 vCenter 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-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镜像
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.
- 打开VMware vSphere客户端并转到Datastores。
- 选择要上传文件的数据存储。我选择位于ESXi 6.7主机(192.168.101.205)上的数据存储11。
- 选择文件选项卡。
- 点击上传文件。
- 在您的计算机上选择ESXi 7.0.3安装ISO镜像文件,然后点击打开。
等待文件上传到数据存储。
创建VMware虚拟机监控程序
现在创建一个新的虚拟机,您将在其上安装ESXI 7.0.3。
- 转到主机和集群。
- 选择所需的ESXi主机(在本例中为192.168.101.205)。
- 点击操作 > 新建虚拟机。
A New Virtual Machine wizard opens. Follow the steps to create the machine.
1) 选择创建类型
- 点击创建新虚拟机。
- 在向导的每个步骤中点击下一步以继续。
2) 选择名称和文件夹
然后指定以下参数:
- 虚拟机名称:ESXi7-VM
- VM位置:Datacenter1
这些参数可能与您的基础架构不同。
3) 选择计算资源
选择您想要部署 ESXi 7 虚拟机的目标物理 ESXi 主机。我选择192.168.101.205。
4) 选择存储
选择一个数据存储,在该数据存储上放置虚拟机文件。确保有足够的免费空间。在这个例子中,我选择datastore42。
5) 选择兼容性
所选择的兼容性定义了虚拟机硬件版本。更高版本提供了更多功能,但较低版本允许您在较旧版本的 VMware ESXi 和 VMware Workstation 上运行虚拟机。如果您计划将虚拟机迁移到运行较旧虚拟化主机版本的主机上,您可能需要选择较低的兼容性版本。我在 ESX 6.7 上创建虚拟机,并选择ESXi 6.5 及以后作为兼容性(虚拟机版本 13)。记住,从虚拟机硬件版本 9 开始支持嵌套虚拟化。
6) 选择来宾操作系统
选择以下参数。
- 来宾操作系统家族:其他
- 来宾操作系统版本:VMware ESXi 6.5 或更高版本
一旦您选择了 ESXi 的版本,就会出现警告信息:此操作系统不受支持。这是 VMware 提醒您,如果使用 ESXi 在虚拟机上出现问题时,您无法请求技术支持。忽略这个信息并继续安装。
7) 自定义硬件
这一步对于正确配置 ESXi 嵌套虚拟化非常重要。您需要为新虚拟机配置虚拟硬件。
CPU。选择至少2个CPU。您可以为每个CPU选择多个核心。选择复选框暴露硬件辅助虚拟化以启用此虚拟机的VMware嵌套虚拟化。
注意:如果不暴露硬件辅助虚拟化,将在VM上安装ESXi时出现以下错误。<硬件虚拟化警告:CPU不支持硬件虚拟化或未在BIOS中启用>。如果看到此错误,将无法在虚拟的ESXi主机上启动嵌套的VM。
内存。选择至少8 GB的内存。请记住,ESXi本身需要4 GB的内存才能运行。您需要添加超过4 GB的内存来运行嵌套的VM。
硬盘。设置虚拟硬盘选项。设置新的虚拟硬盘大小,必须满足ESXi 7.0.3存储要求(至少32 GB的磁盘空间)。在这里,我创建了一个40 GB的虚拟磁盘用于安装ESXi 7.0.3的VM。
磁盘配置。选择精简配置。此选项可帮助您在存储VM所在的数据存储上节省存储空间。
- 网络。选择所需的VM网络。我使用VMXNET3作为网络适配器以获得最佳性能。
- 新建CD/DVD驱动器。展开新建CD/DVD驱动器部分。
- 在下拉菜单中选择Datastore ISO文件。
- 在CD/DVD媒体行中,单击浏览,然后在数据存储中选择ISO文件。
- 在数据存储中选择之前上传的ESXi 7.0.3安装ISO镜像文件。
8) 准备完成
检查虚拟机配置摘要,如果一切正确,请点击完成。
启动ESXi虚拟机
创建虚拟机后,启动此虚拟机。我在VMware vSphere Client中选择ESXi7-VM,右键单击虚拟机,在操作菜单中,单击电源>开机。
虚拟机启动后,在Web浏览器或VMware客户端(如VMware Workstation或VMware Remote Console应用程序)中打开虚拟机控制台,并按照通常的方式安装ESXi 7.0.3。安装ESXi。在ESXi上设置IP地址和主机名(在我们的演示中,ESXi7-VM使用的IP地址为192.168.101.131)。
在虚拟机上安装ESXi 7.0.3完成后,您可以在VMware vSphere Client中单击虚拟机名称并查看虚拟机信息。如下面的屏幕截图所示,VMware Tools已自动安装在ESXi 7.0.3虚拟机上。
配置虚拟交换机
在外部ESXi虚拟机(192.168.101.131)上创建嵌套VM之前,我们需要在物理ESXi主机(192.168.101.205)上配置虚拟交换机。如上面博文理论部分所解释的,必须在物理ESXi主机的虚拟交换机上启用混杂模式和伪造传输,以允许虚拟ESXi主机外部的嵌套VM进行网络连接。
-
- 在VMware vSphere Client中转到主机和集群
- 右键单击已安装ESXi VM的ESXi主机,然后点击设置以打开ESXi配置。将打开配置选项卡。
- 在网络类别中点击虚拟交换机。
- 然后选择所需的虚拟交换机(在我们的情况下是vSwitch0),并点击编辑。
- 配置虚拟交换机的安全策略。选择接受用于混杂模式、MAC地址更改和伪造传输。点击确定保存设置并关闭窗口。
现在已为ESXi嵌套虚拟化配置了虚拟交换机。
在ESXi虚拟机上创建数据存储
当我创建ESXi 7.0.3虚拟机时,我为ESX安装创建了一个40GB的虚拟磁盘。由于ESXi 7中的新的分区布局,创建了VMFSL分区,并且没有空间来创建用于在小型磁盘(小于128GB)上创建数据存储的VMFS分区。因此,我无法将虚拟磁盘上的ESXi 7.0.3安装用于存储虚拟机,并且需要为我的ESX7虚拟机创建第二个虚拟磁盘。
VMFSL分区用于存储ESXi操作系统数据,包括核心转储、工具和临时文件。如果磁盘大小大于128GB,则在系统磁盘上的附加分区中创建VMFS数据存储。
让我们为ESXi7-VM创建第二个虚拟磁盘。我将使用此虚拟磁盘作为虚拟ESXi主机上的VMFS数据存储。在添加虚拟磁盘之前,请关闭ESXi7-VM。
- 打开VMware vSphere Client,选择ESXi7-VM
- 右键单击虚拟机名称,在打开的菜单中点击编辑设置
- 在编辑设置窗口中,点击添加新设备并选择硬盘,然后设置新硬盘的选项。
I select the following configuration:
- 磁盘大小:30GB
- 类型:Thin provision
点击确定保存虚拟机配置并关闭窗口。
一旦在ESXi7-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.
上传嵌套VM的ISO映像
我们几乎完成了在虚拟ESXi主机上创建嵌套VM的准备工作,以解释如何在实践中配置VMware嵌套虚拟化。我们将在嵌套VM上安装Windows XP,因为这个操作系统比较轻量,并且在嵌套环境中性能应该足够。请记住安全方面的考虑,并使用Windows的最新版本。您可以安装任何其他受支持的客户操作系统(VMware Tools提供了支持的客户操作系统)。要安装Windows客户操作系统,我们需要使用Windows安装ISO映像文件。理念是启动操作系统安装程序并在嵌套VM上安装客户操作系统。
有两种主要方法可以上传Windows安装ISO镜像。
- 将ISO镜像上传到虚拟ESXi主机上的数据存储(在我的情况下是ESXi 7.0.3 VM上的30GB数据存储,IP为192.168.101.131)。在嵌套的Windows虚拟机的CD/DVD驱动器设置中选择使用数据存储中的ISO镜像。
- 将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镜像文件上传到数据存储(在我们的情况下是datastore11),就像您为vSphere Client中的ESXi 7.0.3 ISO镜像文件所做的一样。
- 转到数据存储
- 选择所需的数据存储。
- 点击文件选项卡。
- 点击上传文件。
- 选择所需的ISO文件,点击打开,等待ISO文件上传到数据存储。
编辑ESXi7-VM的设置(我们使用VMware vSphere Client为此目的)。
- 选择CD/DVD驱动器1。
- 选择数据存储ISO文件选项。
- 在CD/DVD媒体部分点击浏览,选择位于数据存储上的Windows ISO映像。
- 确保这些复选框被选中:已连接,启动时连接。
创建嵌套虚拟机
登录到虚拟ESXi 7主机的VMware Host Client的Web界面(在我的情况下是192.168.101.131)。
转到虚拟机在导航器窗格中,点击创建/注册VM。
A new virtual machine wizard opens in VMware Host Client.
1) 选择创建类型
选择创建新的虚拟机。在向导的每个步骤中点击下一步继续。
2) 选择名称和来宾操作系统
为VM和OS指定一个唯一名称。我选择以下参数。
- A VM name: WindowsXP
- 兼容性:ESXi 7.0 U2虚拟机
- 来宾操作系统家族:Windows
- 来宾操作系统版本:Microsoft Windows XP Professional (32-位)
如果您想在VM上安装另一个来宾操作系统,请在选项中选择适当的OS。
3) 选择存储
选择您之前在虚拟ESXi主机上创建的数据存储。我选择ds-nested01来存储虚拟机文件。
4) 自定义设置
配置虚拟机硬件和其他虚拟机选项。
I select:
- CPU: 1个CPU
- 内存:512 MB的RAM(32位Windows XP最多可选择3.3 GB的RAM)
- 硬盘:8 GB
- 磁盘配置:精简配置
CD/DVD 驱动器 1:主机设备
您可以保留其他设置的默认值。
5) 准备完成
检查嵌套虚拟机的配置,如果一切正确,请点击完成。
启动ESXi 7.0.3上的嵌套虚拟机。虚拟机应该从安装在虚拟ESXi 7.0.3 VM上的ISO映像引导。在嵌套虚拟机上安装客户操作系统。您可以单击虚拟机屏幕预览以在Web界面中打开虚拟机控制台并与客户操作系统进行交互。
安装了嵌套虚拟机的客户操作系统后,请安装VMware Tools。如果您的ESXi发行版不包含带有VMware Tools的ISO映像,您可以从官方VMware网站下载VMware Tools安装映像。阅读本文以获取有关安装VMware Tools的详细信息。
安装VMware Tools后,嵌套虚拟机的网络应该可以正常工作。尝试从物理ESXi主机对嵌套虚拟机进行ping测试,反之亦然。
克隆ESXi虚拟机
配置完一台VM上的ESXi后,你可能需要在你的物理ESXi服务器上部署更多的ESXi VM。你还可以部署一个嵌套的vCenter Server Appliance和一个具有共享存储的VM(例如,FreeNAS),以测试包括集群特性在内的各种vSphere功能。
你总是可以从一个新的VM上从头安装ESXi,但是如果你需要部署多个完全相同的ESXi VM,你可能需要定期进行这个操作。这就是为什么更好的解决方案是配置一个ESXi VM然后克隆这个VM。然而,创建正常工作的VM克隆需要采取一些额外步骤。
- 通过在ESXCLI中运行命令来更改VMkernel的MAC地址。
esxcli system settings advanced set -o /Net/FollowHardwareMac -i 1
- 从esx.conf中删除UUID记录,因为主机的UUID值必须是唯一的。
系统UUID记录存储在/etc/vmware/esx.conf - 打开这个文件,删除以/system/uuid开头的行
- 关闭原始ESXi VM。现在你可以克隆ESXi VM。当你下次启动VM(包括VM克隆)时,会生成一个新的UUID。一旦你启动了ESXi VM克隆,请更改它们的路由设置(包括IP地址、主机名等)。
现在您知道如何在实践中使用VMware的嵌套虚拟化以及如何使用ESXi嵌套虚拟化部署虚拟环境。您可以使用相同的思路来使用其他虚拟化管理程序部署嵌套环境。
在有关VMware家庭实验室6.7和VMware家庭实验室7.0的博客文章中进一步解释了在VMware Workstation上的嵌套虚拟化。
您还可以阅读有关Hyper-V的嵌套虚拟化以及如何在Hyper-V VM上安装ESXi的内容。
了解更多关于基于Hyper-V的虚拟化安全性以及如何解决VMware在此主机上不支持嵌套虚拟化错误的信息。您可以在运行ESXi的虚拟机上部署Hyper-V,并在虚拟的Hyper-V服务器上运行嵌套的虚拟机。
结论
嵌套虚拟化是一种功能,允许在虚拟机内运行虚拟机。本博客文章介绍了VMware嵌套虚拟化,并解释了如何使用嵌套Windows虚拟机部署虚拟ESXi主机。配置ESXi嵌套虚拟化的最重要步骤是将硬件辅助虚拟化暴露给嵌套的虚拟化监控程序,并在虚拟交换机上配置安全策略以实现正确的网络功能。您可以像往常一样备份运行在ESXi虚拟机上的虚拟化监控程序和嵌套虚拟机。如果您正在寻找可靠的VMware虚拟机备份解决方案,请尝试NAKIVO备份与复制。
Source:
https://www.nakivo.com/blog/vmware-nested-virtualization-explained-use-cases-and-tutorial/