Proxmox 嵌套虚拟机设置 - ESXi 教程
在 VMware ESXi 中将 Proxmox VE 作为虚拟机运行,其中包含真实的虚拟机。两个设置决定它是否有效——ESXi 端的暴露虚拟化交换机和网络端的端口组安全修复——加上证明 KVM 处于活动状态的终端检查以及嵌套实验室的诚实限制。
📑Chapters
- What nested virtualization is — and the honest lab picture before you start
- Creating the Proxmox VM in ESXi with lab-sized resources
- Setting one — expose hardware assisted virtualization to the guest OS
- Installing Proxmox VE and opening the web interface on port 8006
- Proving KVM is alive — the three terminal checks
- The port group fix — why VMs inside Proxmox have no network
- Creating a VM inside Proxmox — CPU type host
- Honest lab limits — learning yes, production no
📋 概述和分步指南
开始之前 - 诚实的图片
嵌套虚拟化意味着虚拟机管理程序在虚拟机内运行:ESXi 内的 Proxmox,其中有自己的虚拟机和容器。这是最便宜的实验室——一台服务器、两个学习平台、零额外硬件。但在开始之前应该清楚三个事实。
首先,这是一种实验室技术。 VMware 不支持在 ESXi 上运行第三方虚拟机管理程序,除了狭隘记录的案例(例如用于基于虚拟化的安全性的 Hyper-V)。嵌套的 Proxmox 可以工作,数千个家庭实验室都在运行它 - 但没有供应商会接听您有关它的支持电话。
其次,物理 CPU 必须具有 Intel VT-x 或 AMD-V,在服务器 BIOS 中启用。 ESXi 无法通过硬件已关闭的功能。
第三,嵌套设置的强度取决于主机的备用容量。 Proxmox 本身需要资源,而 Proxmox 内的每个虚拟机都会再次花费这些资源 - 8 GB 主机将承载一个令人失望的实验室。
使用实验室规模的资源在 ESXi 中创建 Proxmox 虚拟机
在 ESXi 中创建新虚拟机。将来宾操作系统系列设置为 Linux — Debian 64 位配置文件是最接近的匹配,因为 Proxmox VE 是基于 Debian 构建的。给它4个vCPU和8-16 GB RAM:Proxmox本身空闲大约1-2 GB,其余的用于您将在其中运行的来宾。
创建100 GB 或更大的虚拟磁盘 - 每个嵌套虚拟机的磁盘都将驻留在该磁盘中。对于网络适配器,如果您的 Proxmox 版本能够干净地检测到 VMXNET3,则 VMXNET3 可以工作,E1000E 也可以工作;两者都适用于基于 Debian 的安装程序。
将 Proxmox VE ISO 连接到 CD/DVD 驱动器并将其设置为开机时连接。仅从 Proxmox 的官方网站 (proxmox.com) 下载 ISO。 暂时不要打开虚拟机 - 关闭虚拟机后,下一步会容易得多。
设置一 - 将硬件辅助虚拟化暴露给来宾操作系统
这是整个设置所依据的设置。右键单击 Proxmox VM → 编辑设置,然后在虚拟硬件选项卡上展开 CPU 部分并勾选向来宾操作系统公开硬件辅助虚拟化。这会将 CPU 的虚拟化扩展(Intel 上的 vmx 标志、AMD 上的 svm)传递给 Proxmox VM,以便 Proxmox 自己的 KVM 管理程序可以使用它们。
如果没有此复选框,Proxmox 会正常安装和启动,但其中的虚拟机无法使用 KVM 加速 - 并且仅当您尝试启动第一个嵌套来宾时才会出现该故障。
该复选框会将一行写入虚拟机的 .vmx 配置文件中,如果难以触及该复选框,您可以自己添加同一行:
安装 Proxmox VE 并打开 Web 界面
打开虚拟机电源并从 ISO 启动以运行 Proxmox VE 安装程序。选择目标磁盘(您创建的 100 GB 虚拟磁盘),设置您的国家/地区、时区和键盘布局,设置 root 密码和电子邮件地址,并为服务器提供实验室网络上的主机名和固定管理 IP 地址。
安装完成后,让虚拟机重新启动进入 Proxmox(您现在可以断开 ISO 的连接)。然后,从 PC 上的浏览器打开 Proxmox Web 界面 - 将下面的地址替换为您在安装过程中为 Proxmox 提供的 IP:
__完整代码块1__证明 KVM 有效 - 三个终端检查
暂时不要创建单个访客。在 Proxmox Web 界面中,选择您的节点并打开 Shell,然后运行这三项检查。首先,KVM设备必须存在:
__完整代码块2__ 节>端口组修复 - 为什么 Proxmox 内的虚拟机没有网络
最奇怪的嵌套实验室故障:Proxmox 本身完全在线 - 它会 ping 网关、下载更新并加载其 Web UI - 但其中的每个虚拟机都处于网络死机状态,无法获取 DHCP 地址或无法访问任何内容。没有任何东西被破坏。 ESXi 确切地知道该端口上的一台机器 - Proxmox 虚拟机,具有一个 MAC 地址 - 并且 Proxmox 内的每个来宾都使用其自己的 MAC 地址进行传输,该地址到达虚拟交换机时看起来是伪造的。默认端口组安全策略会丢弃那些看到的帧,并且回复也无法找到返回的方式。
修复了三个设置。在 ESXi 中,转到网络并选择 Proxmox VM 连接到的端口组。编辑其设置,打开安全部分,并将所有三个策略设置为接受:
• 混杂模式: 接受
• MAC 地址更改: 接受
• 伪造传输: 接受
保存,然后重新启动嵌套来宾(或仅其网络)并再次测试。无需重新启动 Proxmox 或 ESXi - 一旦来宾重新传输,更改就会生效。
在 Proxmox 内部创建虚拟机 - 将 CPU 类型设置为 Host
虚拟化标志必须穿过第二扇门,它位于 Proxmox 内部。在 Proxmox 中创建的新 VM 默认情况下使用模拟 CPU 模型(kvm64 系列),该模型故意呈现旧的通用 CPU,没有虚拟化标志 - 因此,本身想要运行 VM 或使用与标志相关的功能的来宾什么也看不到。
当您在 Proxmox 中创建 VM 时,打开其硬件设置并将CPU 类型设置为主机。然后,来宾会收到下面机器的真实 CPU 型号和标志 - 在嵌套中,这意味着 ESXi 传递给 Proxmox 的标志会向下流动一级。将 ISO 上传到 Proxmox 的本地存储,通过这一更改以正常方式创建 VM,启动它,并确认它启动并在您的网络上获取 IP 地址。您的嵌套实验室现在正在端到端地工作。
诚实实验室限制 - 此设置的用途和不用途
嵌套中的所有内容都会支付两次性能税:嵌套虚拟机的工作由 Proxmox 处理,Proxmox 自己的工作在相同的物理 CPU、RAM 和存储之上再次由 ESXi 处理。预计嵌套来宾会比直接在任一虚拟机管理程序上运行的同一虚拟机感觉明显慢 - Windows 来宾为此付出的代价最大。
那么为什么要在 ESXi 中运行 Proxmox 呢?诚实的理由是好的:这是学习第二个平台、演练迁移、测试 Proxmox 功能并安全地破坏事物的最便宜的方式 - 一台服务器、两个虚拟机管理程序、零额外硬件,并且生产中的任何内容都不会受到损害。
当实验室规模超出巢穴时,退出很简单:保留 Proxmox 配置和访客的备份,并在裸机上重建相同的设置。此页面上的设置 - 公开的虚拟化、端口组、主机 CPU - 正是 Proxmox 拥有硬件时消失的东西,这才是重点:适合学习,不适用于生产。
🏷️Topic Search Variables & Keywords
🎙️ 完整文字记录 — 点击展开
分步故障排除指南和解决方案 - 在 VMWARE ESXi 嵌套虚拟机教程中配置 PROXMOX。技术安叔屏幕演示。
在 VMware ESXi 上将 Proxmox VE 作为虚拟机安装,并在其中运行真实的虚拟机。使嵌套虚拟化工作的两个设置:端口组修复和诚实的实验室限制。
(转录在源页面上结束)
❓ 常见问题(英文)
本教程 100% 免费学习吗?
是的!技术安数演示的所有指南和方法均使用免费、合法的教育资源。
初学者可以遵循本指南吗?
绝对是!每个步骤都在屏幕上演示并附有详细说明,以便任何人都可以轻松遵循。
如果遇到困难我可以在哪里提问?
直接在 YouTube 视频上发表评论,我们的社区和技术安树将为您提供帮助。
🚀 在 YouTube 上观看完整教程
🚀 在 YouTube 上观看完整的分步视频教程:https://www.youtube.com/watch?v=_KeUQr-Nq1Y
订阅技术安数以获取 IT 支持、Windows 故障排除和服务器管理。
▶️观看完整视频