Jun 12

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

linuxing , 17:44 , 网络服务 » 虚拟机 , 评论(0) , 引用(0) , 阅读(25657) , Via 本站原创 | |
    一直以来,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工具中,都只有如下选项:
点击在新窗口中浏览此图片
※ 没有vSphere 4的环境,无法测试。

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。
Tags:
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]