上一篇
ESXi如何直通物理网卡给虚拟机?
- 物理机
- 2025-05-31
- 2776
在VMware ESXi中,通过PCI设备直通功能可将物理网卡直接分配给指定虚拟机,操作步骤:在主机配置中启用该网卡的直通功能,重启主机后,将该网卡作为PCI设备添加到虚拟机硬件配置中,虚拟机重启后即可直接访问此物理网卡。
在VMware ESXi环境中,将物理网卡直接分配给特定虚拟机(VM)是一项高级功能,通常称为 “PCI设备直通”(PCI Passthrough) 或 “直接设备分配”(Direct Device Assignment),这种技术能让虚拟机绕过ESXi虚拟化层,直接、独占地访问物理硬件,从而获得近乎原生的网络性能,尤其适合高吞吐量、低延迟的网络应用(如防火墙、高性能存储、网络监控等)。
重要前提与注意事项:
-
硬件支持:
- CPU: 必须支持 Intel VT-d (Intel) 或 AMD-Vi (AMD) 技术,请在BIOS/UEFI中确认并启用此功能(通常位于“Advanced” -> “CPU Configuration” 或 “Chipset” -> “North Bridge” 相关菜单)。
- 主板芯片组: 需支持并启用 IOMMU(输入输出内存管理单元)。
- 网卡: 目标物理网卡本身及其驱动程序通常需要支持直通功能,建议查阅VMware的官方兼容性指南(VMware Compatibility Guide – VCG)确认网卡型号是否列于支持PCI直通的列表中。
-
ESXi主机影响:
- 一旦物理网卡被直通给虚拟机,ESXi主机本身将无法再使用该网卡进行管理网络通信(如vCenter连接、SSH访问、vMotion等)或连接标准虚拟交换机(vSwitch),确保您至少保留一个未直通的网卡供主机管理使用。
- 执行直通操作需要重启ESXi主机生效。
-
虚拟机要求:
- 目标虚拟机必须关机。
- 虚拟机操作系统需要安装能直接驱动该物理网卡的驱动程序(与物理机上安装的相同)。
- 使用EFI固件的虚拟机可能配置更复杂,推荐使用BIOS固件。
详细配置步骤:
步骤 1:启用 ESXi 主机的 PCI 设备直通功能
- 登录 ESXi主机管理界面 (通常通过浏览器访问
https://<esxi-host-ip-address>
或 vCenter)。 - 导航到 主机 > 管理。
- 在 “硬件” 选项卡下,选择 “PCI设备”。
- 在显示的可用PCI设备列表中,找到您要直通给虚拟机的物理网卡,识别网卡的关键信息:
- 设备名称/型号: (e.g.,
Intel Corporation I350 Gigabit Network Connection
) - 供应商ID和设备ID: (格式如
8086:1521
,8086
是Intel的供应商ID,1521
是该特定网卡的设备ID)。 - 设备地址: (类似
0000:03:00.0
),这是最可靠的标识符。 - 您也可以在ESXi主机的SSH控制台(需启用SSH服务)中输入命令
lspci -v | grep -i ethernet
来获取更详细的列表和地址信息。
- 设备名称/型号: (e.g.,
- 选中目标网卡条目旁边的复选框。
- 点击左上角的 “切换直通” 按钮,状态将变为 “活动” 或 “需要重新引导”。
- 重要: 页面顶部通常会提示 “挂起配置更改需要重新引导”,这意味着必须重启ESXi主机才能使直通配置生效。
- 保存配置(系统通常会提示保存),并安全地重启ESXi主机,确保主机有另一块未直通的网卡用于管理通信,否则重启后可能无法连接。
步骤 2:将直通的 PCI 设备添加到虚拟机
- ESXi主机重启完成后,重新登录管理界面。
- 导航到 虚拟机清单,找到并选中您要将物理网卡直通给的目标虚拟机。确保该虚拟机处于关机状态。
- 右键单击虚拟机,选择 “编辑设置”。
- 在虚拟机属性编辑器中,点击 “添加其他设备”。
- 在下拉菜单中选择 “PCI设备”。
- 在新增的 “新增 PCI 设备” 下拉菜单中,现在应该能看到状态为 “活动” 的已启用直通的物理网卡(通过之前记录的设备名称、ID或地址识别)。
- 选中该物理网卡。
- (可选但推荐) 检查配置:
- 预留所有内存: 对于PCI直通设备,强烈建议勾选此选项,它保证虚拟机启动时就有足够的物理内存,避免因内存交换导致设备访问错误,这会锁定部分主机内存给该虚拟机。
- 点击 “保存” 关闭虚拟机设置窗口。
步骤 3:在虚拟机操作系统中配置直通网卡
- 启动该虚拟机。
- 登录虚拟机操作系统。
- 打开操作系统的 设备管理器 (Windows) 或使用命令行工具 (如
lspci
/dmesg
in Linux) 检查新硬件。 - 您应该能看到新的、未被识别的网络适配器(或可能被识别为具体的网卡型号)。
- 安装驱动程序:
- Windows: 需要为该硬件安装与物理网卡型号完全匹配的厂商驱动,从网卡制造商(如Intel、Broadcom、Mellanox)官网下载适用于您Windows版本的正确驱动并安装。
- Linux: 大多数主流网卡驱动已包含在内核中,系统通常能自动识别加载,如果内核版本较旧或不包含驱动,需要手动下载并编译安装网卡厂商提供的Linux驱动。
- 安装驱动后,操作系统应能正确识别网卡,像配置普通物理网卡一样,为新网卡配置IP地址、子网掩码、网关等网络设置。
- 测试网络连接以确认直通网卡工作正常。
关键优势与适用场景:
- 极致性能: 消除虚拟交换机(vSwitch)开销,提供接近线速的网络性能和最低延迟。
- 绕过vSwitch限制: 直接处理特定高级网络功能(如某些硬件卸载、自定义协议栈)。
- 硬件依赖性: 虚拟机需要直接依赖特定物理硬件功能(如特定加密卡、智能网卡功能)。
风险与限制:
- 硬件依赖性强: 虚拟机迁移(vMotion)到不支持该物理设备(或未启用直通)的主机会失败,通常只能在相同硬件配置的主机间迁移或需要特殊处理(如使用VMware Cluster Compatibility)。
- 管理中断风险: 配置错误(如直通了主机唯一的管理网卡)会导致主机失联,务必保留独立的管理网口。
- 安全模型改变: 直通设备的安全性依赖于虚拟机内部的操作系统和应用,而非ESXi的虚拟化层隔离。
- 中断处理: 某些设备对中断处理要求较高,在虚拟化环境中可能遇到挑战。
- SR-IOV是替代方案: 对于支持单根IO虚拟化(SR-IOV) 的网卡,更推荐使用该技术,它允许单一物理网卡虚拟出多个“虚拟功能”VF,每个VF可以直通给不同的虚拟机,同时物理功能PF仍可供主机使用,解决了独占性问题和迁移限制(前提是目标主机也有支持SR-IOV的同型号网卡)。
通过VMware ESXi的PCI设备直通功能,将物理网卡直接分配给虚拟机是获取最高网络性能的有效手段,尤其适合网络密集型应用,它引入了硬件依赖性、管理复杂性和迁移限制,在实施前,务必彻底验证硬件兼容性,理解其对ESXi主机管理的影响(特别是管理网络连接),并仔细评估SR-IOV(如果网卡支持)是否是更优的选择,操作过程中谨慎选择直通的设备并重启主机激活配置是关键步骤,在虚拟机内部安装正确的驱动程序是让直通网卡正常工作的最后一步。
引用说明:
- 本文档核心操作流程基于 VMware ESXi 官方文档 中关于 PCI 设备直通(PCI Passthrough)的功能描述与配置指南。
- 硬件兼容性要求参考 VMware Compatibility Guide (VCG)。
- Intel VT-d 和 AMD-Vi (AMD-V with IOMMU) 技术规范分别由 Intel Corporation 和 Advanced Micro Devices, Inc. (AMD) 定义。
- 具体网卡的驱动程序支持与获取请参考相应硬件制造商(如 Intel, Broadcom, Mellanox)的官方网站。