给虚拟化集群选网卡,和给物理服务器选网卡是两回事。物理服务器关注的是吞吐量和延迟,虚拟化环境多了一层hypervisor,数据从虚拟机到物理网络之间要经过虚拟交换机、虚拟网卡驱动、PF/VF映射等多个环节。每一个环节都在吃性能。
VMware ESXi 环境下,网卡虚拟化主要有两种模式:SR-IOV 直通和半虚拟化(vmxnet3)。两者的性能差距可以达到 3-5 倍,但适用场景完全不同。本文从四个决策维度帮你做出选择。
这是最核心的选择。两种模式的数据路径差异决定了性能天花板。
SR-IOV 直通:物理网卡通过 SR-IOV 技术将自身虚拟化为一个 PF(Physical Function)和多个 VF(Virtual Function)。VF 直接分配给虚拟机,数据从虚拟机到物理网络几乎不经过 hypervisor 的网络栈。延迟可以降低到接近物理机的水平,CPU 开销也大幅减少。
半虚拟化(vmxnet3):虚拟机使用 VMware 提供的虚拟网卡驱动 vmxnet3,数据经过虚拟交换机(vSwitch 或 dvSwitch)转发到物理网卡。灵活性强,支持 vMotion、分布式交换机等高级功能,但每跳一层就多一层开销。
在相同硬件条件下,SR-IOV 直通的 PPS(每秒包数)通常是 vmxnet3 的 3-5 倍,延迟从 20-50μs 降低到 5-10μs。但 SR-IOV 会牺牲 vMotion 灵活性和部分网络安全功能。
服务器支持哪种扩展卡形态,直接决定了可选的网卡范围。
OCP 3.0:现代服务器(尤其是 2U 机架式)越来越多地采用 OCP 3.0 插槽。OCP 网卡没有传统金属后挡板,水平滑入服务器前面板,PCB 紧凑,散热依赖服务器风道。LRES3029PF-OCP 是基于 E810 芯片的 OCP 3.0 网卡,支持 25G SFP28 双口,SR-IOV VF 数量可达 256 个,是虚拟化高密度部署的首选。
LRES3039PF-OCP 是同系列的 10G 版本,基于 X710 芯片,双口 SFP+,适合不需要 25G 带宽但需要 SR-IOV 的场景。
标准 PCIe:如果服务器只有传统 PCIe 扩展槽,或者需要更灵活的部署方式,标准 PCIe 网卡是更通用的选择。LREC9812BF-2SFP+ 基于 X710 芯片,双口 10G SFP+,PCIe 3.0 x8 接口,SR-IOV VF 数量 64 个。金属后挡板设计,散热更独立,对服务器风道的依赖更低。
| 型号 | 形态 | 芯片 | 接口 | 速率 | SR-IOV VF数 | PCIe |
|---|---|---|---|---|---|---|
| LRES3029PF-OCP | OCP 3.0 | E810 | 2×SFP28 | 25G | 256 | 4.0 x16 |
| LRES3039PF-OCP | OCP 3.0 | X710 | 2×SFP+ | 10G | 64 | 3.0 x8 |
| LREC9812BF-2SFP+ | PCIe | X710 | 2×SFP+ | 10G | 64 | 3.0 x8 |
| LREC9802BF-2SFP+ | PCIe | 82599 | 2×SFP+ | 10G | 64 | 2.0 x8 |
虚拟化环境中,一台物理服务器通常运行几十甚至上百台虚拟机。每个需要 SR-IOV 直通的虚拟机都要占用一个 VF。VF 数量上限决定了单张网卡能支撑的直通虚拟机数量。
E810 芯片的 LRES3029PF-OCP 支持 256 个 VF,是四款中最高的。这意味着单张卡可以支撑最多 256 台虚拟机同时使用 SR-IOV 直通(实际受服务器 CPU 和内存限制,通常远低于这个数字)。X710 和 82599 芯片的卡支持 64 个 VF,对于中等密度的虚拟化部署已经够用。
不同版本的 ESXi 对 SR-IOV 和网卡驱动的支持程度不同。ESXi 7.0 及以上版本对 SR-IOV 的支持最为完善,包括 VF 的动态分配、与 dvSwitch 的集成等。ESXi 6.5/6.7 也支持 SR-IOV,但功能相对有限。
82599 芯片的 LREC9802BF-2SFP+ 是最成熟的选择,从 ESXi 5.x 时代就有驱动支持,兼容性最广。X710 芯片从 ESXi 6.0 开始支持。E810 芯片需要 ESXi 7.0 Update 2 及以上版本。
启用 SR-IOV 直通后,对应的 VF 无法参与 vMotion 迁移(除非配置了 Enhanced vMotion Compatibility)。如果业务对高可用性和在线迁移有强需求,建议在管理网络和业务网络之间做区分:管理网络用 vmxnet3 保留灵活性,高性能业务网络用 SR-IOV 直通。
根据你的实际条件,快速定位推荐方案:
| 你的条件 | 推荐型号 | 模式 | 理由 |
|---|---|---|---|
| 高密度虚拟化 + 25G + ESXi 7.0+ | LRES3029PF-OCP | SR-IOV | E810 芯片 256 VF,OCP 3.0 适配现代服务器 |
| 中等密度 + 10G + OCP 插槽 | LRES3039PF-OCP | SR-IOV | X710 芯片 64 VF,10G 带宽满足多数虚拟化场景 |
| 标准 PCIe 插槽 + 10G + 兼容性优先 | LREC9812BF-2SFP+ | SR-IOV / vmxnet3 | X710 芯片,ESXi 6.0+ 兼容,灵活切换模式 |
| 老版本 ESXi + 成本敏感 | LREC9802BF-2SFP+ | vmxnet3 | 82599 芯片兼容性最广,ESXi 5.x 即可使用 |
虚拟化网卡选型的核心矛盾是性能与灵活性的取舍。SR-IOV 直通给性能敏感型业务(数据库、NFV、高频交易)提供接近物理机的网络性能;vmxnet3 半虚拟化给需要 vMotion 和分布式交换的业务保留管理灵活性。两者不互斥,可以在同一台服务器上混合使用。
SR-IOV 是硬件级别的虚拟化技术,一张物理网卡可以同时为多个虚拟机提供独立的 VF,每个 VF 有独立的 MAC 地址和队列资源。传统直通(VT-d Passthrough)是把整张物理网卡分配给一台虚拟机,其他虚拟机无法共享。SR-IOV 的硬件利用率远高于传统直通。
在 ESXi Host 的"配置 → 硬件 → PCI 设备"中找到网卡,编辑设置启用 SR-IOV 并设置 VF 数量。重启主机后,在虚拟机的编辑设置中添加"SR-IOV 直通"类型的网络适配器。需要网卡驱动和 ESXi 版本都支持 SR-IOV。
对于大多数企业虚拟化场景(Web 服务、应用服务器、文件共享),vmxnet3 的性能完全够用。10G 环境下 vmxnet3 的吞吐量可以达到 8-9Gbps,延迟在 20-50μs 范围。只有当业务对延迟极度敏感(<10μs)或需要超高 PPS 时,才需要 SR-IOV 直通。
不能。OCP 2.0(Type-1)和 OCP 3.0 的物理接口和电气规格不同,互不兼容。选型前必须确认服务器主板支持哪种 OCP 版本。LRES3029PF-OCP 和 LRES3039PF-OCP 均为 OCP 3.0 规格。