[原]设置VMware中的虚拟客户机使用e1000网卡

    一直以来,VMware都在虚拟客户机中提供的是古老的AMD PCNet10/100Mbps虚拟网卡,后来,VMware通过一种类似部分虚拟化的vmxnet优化虚拟网卡的方式提供了10/100/1000Mbps性能,无疑性能更好。现在,VMware ESX Server已经可以提供基于Intel E1000的千兆虚拟网卡,从兼容性和性能的角度来看,E1000都是更好的选择。但似乎,在ESX/ESXi 3.5的图形界面中,都无法直接选择该网卡类型,需要手动配置。

一、为什么要用E1000
原有很很多,其中最主要的有两个:
1、PCNet32 网卡太古老
这个古老的意思是,该网卡已经不适应新操作系统的要求了。而且也不支持mii-tool等检测工具,过去用虚拟客户机测试HA集群时,就无法监控虚拟的PCNet32 网卡。
甚至在Linux kernel的默认配置中,都需要费一番功夫才能找到该网卡的编译模块选项。
2、性能
现在的服务器基本都提供千兆的网卡,若虚拟客户机中仍只提供100Mbps虚拟网卡,性能肯定会降低的。
另一方面,vmxnet与E1000的对比中,也会发现E1000的效率更高,见 这里 。
因此,建议把虚拟客户机中的网卡设置为Intel E1000类型。

二、如何设置
1、没有提供图形配置工具
无论是在VirtualCenter 2.x或ESX/ESX 3i等Infrastructure Client工具中,都只有如下选项:

2、默认配置
若根据VMware提供的默认选项,选择“灵活”类型的话,则在Linux中,为PCNet32网卡:

引用
# lspci -v
00:11.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 10)
        Subsystem: Advanced Micro Devices [AMD] PCnet – Fast 79C971
        Flags: bus master, medium devsel, latency 64, IRQ 177
        I/O ports at 1400 [size=128]
        [virtual] Expansion ROM at 50000000 [disabled] [size=64K]
# cat /etc/modprobe.conf|grep eth
alias eth0 pcnet32
# ethtool eth0
Settings for eth0:
        Current message level: 0x00000007 (7)
        Link detected: yes
# mii-tool eth0
SIOCGMIIPHY on ‘eth0’ failed: Operation not supported

3、修改配置
若希望把虚拟网卡类型改为Intel E1000,可以使用ssh登陆到ESX/ESX 3i服务器后台,直接修改对应虚拟客户机的.vmx文件:
把下面一行注释掉:

引用
#ethernet0.addressType = “vpx”

加入:

引用
ethernet0.virtualDev = “e1000”

保存即可。若有多个网卡,采取同样的操作。
重启虚拟客户机后,可看到结果:

引用
# lspci -v
00:13.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)
        Subsystem: VMware Inc Abstract PRO/1000 MT Single Port Adapter
        Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 193
        Memory at f4840000 (64-bit, non-prefetchable) [size=128K]
        Memory at f4810000 (64-bit, non-prefetchable) [size=64K]
        I/O ports at 14c0 [size=64]
        [virtual] Expansion ROM at 50010000 [disabled] [size=64K]
        Capabilities: [dc] Power Management version 2
        Capabilities: [e4] PCI-X non-bridge device
# cat /etc/modprobe.conf|grep eth
alias eth0 e1000
# ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000007 (7)
        Link detected: yes
# mii-tool eth0
eth0: negotiated 100baseTx-FD, link ok

※ 我接的是百兆交换机,所以仅能使用100Mbps。

vSphere 5.0 重定位虚拟机时报“在主机的当前连接状况下不允许执行该操作”的问题
配置Vmware vSphere 5.0 Auto Deploy服务:配置Auto Deploy 服务
配置Vmware vSphere 5.0 Auto Deploy服务:准备自定义脱机库
给VMware vSphere Hypervisor(ESXi) 5.0 添加第三方驱动
创建VMware vSphere 5 使用的共享磁盘

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/105113.html

(0)
上一篇 2021年8月25日 14:49
下一篇 2021年8月25日 14:49

相关推荐

发表回复

登录后才能评论