VMWare不支持eth-tool,mii-tool等工具及施用E1000网卡
在VMWare中安装Linux时发现无法使用eth-tool,mii-tool等工具查询网卡的信息,导致一些程序都不能工作,其实是虚拟网卡的问题。
一直以来,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类型。
二、指定网卡类型
2、默认配置
在Linux中,为PCNet32
网卡:
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,直接修改对应虚拟客户机的.vmx文件:
先关闭VMWare WorkStation,不然修改会被覆盖
加入或修改:
保存即
可。若有多个网卡,采取同样的操作。
值为"e1000"指定网卡类型为Intel(R) PRO/1000
值为"vlance"指定网卡类型为AMD PCNet AM79C970A(默认为此项)
重启虚拟客户机后,可看到结果:
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