E1000e和VMXNET3怎么选?VM虚拟网卡性能与兼容性全面解析

E1000e和VMXNET3怎么选?VM虚拟网卡性能与兼容性全面解析

在VMware的虚拟化环境中,虚拟机选择虚拟机网卡类型(如E1000e和VMXNET3)是部署和优化虚拟化工作负载的重要环节。本文将探讨这两种虚拟网卡的特点、适用场景及其历史背景,帮助大家做出更明智的选择。

先说结论:

  • 新的操作系统和高性能需求的话,优先选择VMXNET3。VMXNET3要装VMware Tools
  • 旧的操作系统或实验性环境,可以使用E1000e
  • 对性能有极高要求且硬件支持,考虑SR-IOV Passthrough

VMware支持的虚拟网卡类型及发行历史

  1. E1000e
    • 发行时间:2008年,与VMware Workstation 6.5一起推出。
    • 特点:模拟Intel 82574千兆网卡,是Windows8和Windows Server2012的默认适配器。
    • 适用场景:需要兼容性优先的环境,特别是在不安装VMware Tools的情况下。
  2. E1000
    • 发行时间:2004年,随 VMware Workstation 4.5推出。
    • 特点:模拟Intel 82545EM千兆网卡,支持WinXP及以上和Linux 2.4.19以上的操作系统。
    • 适用场景:常规操作系统兼容性需求。
  3. Flexible
    • 发行时间:2001 年,随 VMware Workstation 3.0 推出。
    • 特点:启动时识别为Vlance,装VMware Tools后切换为VMXNET模式,提升性能。
    • 适用场景:需要兼顾兼容性和性能的环境。
  4. Vlance
    • 发行时间:1999 年,随 VMware 第一代产品推出。
    • 特点:模拟AMD 79C970 PCnet32 LANCE网卡,速率为10Mbps,支持32位操作系统。
    • 适用场景:极老版本操作系统,适合初始网络连接需求。
  5. VMXNET
    • 发行时间:2001 年,随 VMware Workstation 3.0 推出。
    • 特点:专为虚拟化优化,需安装 VMware Tools 驱动,无物理网卡对应。
    • 适用场景:虚拟化性能需求较高但不涉及现代功能的场景。
  6. VMXNET 2 (Enhanced VMXNET)
    • 发行时间:2007 年,随 ESX/ESXi 3.5 推出。
    • 特点:在 VMXNET 基础上增加支持大帧(Jumbo Frame)和硬件卸载。
    • 适用场景:需要支持现代网络特性的工作负载。
  7. VMXNET 3
    • 发行时间:2009 年,随 ESX/ESXi 4.0 推出。
    • 特点:高性能虚拟化网卡,支持多队列、IPv6 卸载、MSI/MSI-X 中断等现代功能。
    • 适用场景:需要高性能的生产环境,通常是默认首选
  8. PVRDMA
    • 发行时间:2016 年,随 vSphere 6.5 推出。
    • 特点:支持远程直接内存访问(RDMA),需要虚拟机间通过OFED verbs API 通信。
    • 适用场景:分布式交换机连接的高性能虚拟机。
  9. SR-IOV Passthrough
    • 发行时间:2015 年,随 ESXi 6.0 推出。
    • 特点:物理网卡直接与VM通信,无需通过VMkernel中介,极大降低延迟和 CPU占用。
    • 适用场景
      • 对延迟敏感的虚拟机,如高性能计算(HPC)。
      • 需要更多 CPU 资源的环境。

选E1000e还是VMXNET3?

必须使用VMXNET3的场景

VMXNET3作为一种高性能虚拟网卡,专为优化虚拟化环境的网络性能而设计。相比E1000e,VMXNET3提供了更低的CPU占用、更高的吞吐量和先进的网络特性。以下是一些场景和最佳实践中要求或建议使用 VMXNET3的情况:

  1. 高网络性能需求的工作负载
    • 场景描述:需要处理大量网络流量的虚拟机,例如:
      • 数据库服务器(如 SQL Server、MySQL)。
      • Web 应用服务器。
      • 文件传输服务器(如 FTP、SMB)。
      • 视频流媒体服务器。
    • 原因
      • VMXNET3支持更高的网络吞吐量和更低的延迟。
      • 减少虚拟机和主机之间的网络性能瓶颈。
  2. 高并发和低延迟的环境
    • 场景描述:运行要求高并发网络连接的应用,例如:
      • 大规模的虚拟桌面基础架构(VDI)。
      • 分布式应用程序和微服务(如Kubernetes集群中的服务)。
    • 原因
      • VMXNET 3 支持大规模并发连接,并优化了网络包处理效率。
      • 提供多队列支持(如多重发送和接收队列),更适合多核处理器。
  3. 需要支持高级网络功能的场景
    • 场景描述:虚拟机需要使用以下网络特性:
      • IPv6 支持。
      • 虚拟机热添加网卡。
      • 大帧(Jumbo Frames)。
      • 分段卸载(TSO)和校验和卸载(CSO)。
      • 收包合并(Receive Side Coalescing, RSC)。
    • 原因
      • VMXNET3是 VMware 唯一完全支持这些高级网络特性的虚拟网卡。
  4. 提升虚拟化环境的网络效率
    • 场景描述:运行虚拟机密集型应用,需降低主机CPU的网络处理开销。
    • 原因
      • VMXNET3更高效地利用虚拟化平台,降低主机CPU占用。
      • 提升整体虚拟化环境的可扩展性和资源利用率。
  5. 迁移到 NSX-T 或其他高级网络架构
    • 场景描述:企业计划实施NSX-T网络虚拟化或其他基于SDN(软件定义网络)的架构。
    • 原因
      • VMXNET3能无缝集成NSX提供的功能,如分布式防火墙、微分段等。
      • 提供更强的兼容性和性能支持。
  6. 运行现代操作系统
    • 场景描述:VM操作系统为现代版本(如WinServer2016/2019/2022或新版本的Linux)。
    • 原因
      • 这些操作系统中,VMXNET3的驱动程序已内置,避免额外安装第三方驱动。
      • 提供更稳定、更高效的网络性能。

E1000e的应用场景

何时选择E1000e?

  1. 需要操作系统原生驱动支持(如嵌入式或轻量系统)。
  2. 实验性或临时虚拟机部署,性能需求低,配置时间有限。
  3. 需要与某些要求硬件模拟的工具兼容。
  4. 测试与开发环境,对性能没有严格要求。

我们列一下什么时候可以或者需要选择用E1000e作为VM的虚拟网卡:

  1. 操作系统或驱动兼容性
    • 场景
      • 使用旧版本的操作系统(如部分嵌入式 Linux、较旧的Windows)。
      • 操作系统没有预装VMware Tools或无法安装VMware Tools的场景。
    • 原因
      • E1000e采用通用的Intel驱动,几乎所有现代操作系统都原生支持。
      • 无需依赖额外的驱动或工具,确保基础网络功能的快速启用。
  2. 对网络性能要求不高的环境
    • 场景
      • 测试或开发环境中,仅需要基本网络连接。
      • 较低负载的虚拟机(如简单的文件共享或轻量级应用服务器)。
    • 原因
      • 在低流量场景下,E1000e的性能已经足够满足需求。
      • 配置简单,无需优化网络特性。
  3. 对特定监控工具或兼容性有要求
    • 场景
      • 使用要求网卡呈现为标准硬件设备的监控工具(如需要硬件绑定的流量分析工具)。
      • 与需要硬件模拟的第三方系统集成。
    • 原因
      • E1000e模拟的是真实的Intel网卡,更容易与某些需要物理硬件标识的工具兼容。
  4. 快速部署场景
    • 场景
      • 在快速部署中,需要VM立即启动并连接网络,而暂时没有时间安装VMware Tools。
    • 原因
      • E1000e不依赖VMware Tools即可正常工作。
      • 适合短期快速实验或临时需求。

E1000e和VMXNET3两者的对比总结

特性VMXNET 3E1000e
性能高性能、低延迟较低性能,适合普通网络流量
驱动依赖需要安装 VMware Tools使用操作系统自带驱动
功能支持支持高级网络功能(如大帧、TSO)不支持高级功能
兼容性需要现代操作系统和 VMware Tools广泛兼容,适合旧操作系统
资源消耗较低的主机 CPU 占用较高的主机 CPU 占用

E1000e和VMXNET3的性能差距

根据Google,大概看了国外的一些博主作的测试。

VMXNET3的网络吞吐量通常比E1000e高2至4倍。在高流量负载下,VMXNET3的CPU使用率比E1000e低 30%-50%。

比如https://rickardnobel.se/vmxnet3-vs-e1000e-and-e1000-part-2/,当然这个博文也比较旧了。

根据这位技术博主Rickard的测试结果,VMXNET3网卡在Windows Server虚拟机中的网络吞吐量显著优于 E1000和E1000E网卡。在 Windows Server 2008 R2环境中,E1000网卡的吞吐量约为2.65 Gbps,而VMXNET3网卡则达到约4.47 Gbps,提升约70%。在Windows Server 2012 R2环境中,E1000E网卡的吞吐量约为1.88 Gbps,而VMXNET3网卡则达到约4.66 Gbps,提升约150%。

还有这一篇阿里云的https://developer.aliyun.com/article/1407470,这一篇比较新,可以参考。

VMXNET3 网卡的性能约为E1000网卡的四倍,E1000e网卡的两倍。

当然,实际性能可能因具体的硬件配置,操作系统和实际使用环境而有所不同。


总结

在 VMware 环境中,如果操作系统支持并能够安装 VMware Tools,VMXNET3 应作为首选网卡类型。它能够显著优化资源利用率,提升网络吞吐量,并降低延迟。而 E1000e 则仅适合于需要兼容性或运行旧版操作系统的场景。合理选择网卡将有效提升虚拟化部署的整体性能。

图书推介 - 京东自营

24小时热门

还有更多VMware问题?

免费试下我们的VMware问答小助理,即时解答VM难题 → 🤖VM技术助理

需要协助?或者只是想技术交流一下,直接联系我们!

推荐更多

如何配置VMware ESXi主机的时间和日期
未分类

如何配置VMware ESXi主机的时间和日期

本文详细介绍了如何通过VMware ESXi主机客户端配置时间和日期,包括手动设置时间与日期的步骤,以及使用NTP服务器同步时间的具体方法。此外,还提供了解决ESXi 7.0 NTP服务无法启动的替代方案和相关排查建议,帮助用户高效完成时间配置。

vSphere:如何创建数据中心并添加ESXi主机
VMware快速入门

vSphere:如何创建数据中心并添加ESXi主机

本文详细介绍了如何在 vSphere 中创建数据中心并添加 ESXi 主机的操作步骤。首先,讲解了准备工作,包括安装 ESXi 主机和 vCenter Server 的详细步骤。接着,通过 vSphere 客户端创建数据中心,并介绍了如何将 ESXi 主机添加到数据中心中,涵盖了从输入主机信息、设置证书验证,到分配许可证等各个环节。

E1000e和VMXNET3怎么选?VM虚拟网卡性能与兼容性全面解析
VMware快速入门

E1000e和VMXNET3怎么选?VM虚拟网卡性能与兼容性全面解析

本文深入探讨了 VMware 虚拟网卡 E1000e 和 VMXNET3 的性能差异与适用场景,帮助用户选择最适合自己需求的网卡类型。通过对兼容性、吞吐量、延迟等方面的分析,提供优化 VMware 虚拟化环境网络性能的实用建议。

如何在VMware Workstation和ESXi之间迁移虚拟机
VMware快速入门

如何在VMware Workstation和ESXi之间迁移虚拟机

如何在VMware Workstation和ESXi之间迁移虚拟机?本文详细介绍了使用VMware Workstation连接远程ESXi主机的方法,并涵盖了将虚拟机从ESXi迁移到Workstation或从Workstation上传到ESXi的具体步骤及常见问题的解决方案。