前言

  还记得之前关于体验ESX服务器的那些事情吗?你可以通过“利用单主机搭建和物理机器通讯的测试网络(http://waringid.blog.51cto.com/65148/413530)”、“使用Vmware ESX 4.0搭建虚拟测试环境(http://waringid.blog.51cto.com/65148/220283)”、“通过VsPhere体验MAC OS X(http://waringid.blog.51cto.com/65148/367393)”、“ESX搭建网络测试环境(http://waringid.blog.51cto.com/65148/385767)”等这些内容来了解虚拟机的相关内容。想要体验虚拟机除了要求CPU要支持以及硬件存储需识别外还要对网卡有要求,正常情况下是无法加载Realtek系列的板载网卡的(有关ESX的兼容列表可以参考http://www.vmware.com/resources/compatibility/search.php?deviceCategory=io)。从列表中可以清楚知道哪些网卡可以驱动哪些是不受支持的,如下图所示。

截图36

但既然ESX的内核用的是linux,那么理论上是完全可以定制驱动程序的,只要方法正确应该就没问题(Linux下GA-945GZM-S2网卡驱动安装http://waringid.blog.51cto.com/65148/52013)。试过后才发现和linux下加载驱动的方式还真有点不同,以下是详细方法。需说明的是此次测试的主板是GA-EP45-DS5。

上传驱动文件

  先通过远程SSH或是ESX主机查看主板上所需驱动的网卡芯片类型。

  1. lspci -n

截图35

  可以从此看出板载网卡的ID是10ec:8168(最后一条),可以通过相关的网站来查询ID号(http://www.pcidatabase.com/search.php?vendor_search_str=10ec&vendor_search.x=0&vendor_search.y=0)如下图所示。

截图40

  找到正确的驱动后可以直接去牛人很多的国外网站上下载(http://www.vm-help.com/forum/viewforum.php?f=11&sid=a2328391dae10f2ecb94a7f2fde62685)。然后将下载下来的文件(如本例中的oem-r8169-esx4.1.tgz文件)上传至ESX主机。上传的方式可通过浏览存储或软件上传的方式传送,如下图所示。

clip_image001_thumb

clip_image002_thumb

  或是用以下的方式上传。如下图所示。

截图38

截图39

截图24

加载驱动

  将上传的文件解压并copy至适当位置,请参考以下指令。

  1. tar zxvf oem-r8169-esx4.1.tgz
  2. cp ./usr/lib/vmware/vmkmod/r8169.o /usr/lib/vmware/vmkmod/
  3. ls -l /usr/lib/vmware/vmkmod/r8169.o
  4. file /usr/lib/vmware/vmkmod/r8169.o

截图25

截图26

修改pci.xml文件

  和正常的linux不同的是,ESX使用的是XML配置文件的方式来加载驱动,这个和ESXI的方式也不同。先用vi指令修改pci.xml文件,以8169关键字查找系统屏蔽的板载网卡,删除相关内容。如下图所示。

  1. vi /etc/vmware/pci.xml

截图27

截图28

增加新驱动配置文件

  编辑并保存好上面的pci.xml文件后,再建立和新驱动对应的配置文件.如下图所示.

  1. touch /etc/vmware/pciid/r81xx.xml
  2. vi /etc/vmware/pciid/r81xx.xml

  文件内容如下:

  1. <?xml version='1.0' encoding='iso-8859-1'?>
  2. <pcitable>
  3. <vendor id="10ec">
  4. <short>Realtek Semiconductor Co., Ltd.</short>
  5. <name>Realtek Semiconductor Co., Ltd.</name>
  6. <device id="8168">
  7. <vmware label="nic">
  8. <driver>r8168</driver>
  9. </vmware>
  10. <name>RTL8111/8168B PCI Express Gigabit Ethernet controller</name>
  11. <table file="pcitable" module="ignore" />
  12. <table file="pcitable.Linux" module="r8168">
  13. <desc>Realtek|RTL8111/8168B PCI Express Gigabit Ethernet controller</desc>
  14. </table>
  15. </device>
  16. <device id="8169">
  17. <vmware label="nic">
  18. <driver>r8169</driver>
  19. </vmware>
  20. <name>RTL-8169</name>
  21. <table file="pcitable" module="ignore" />
  22. <table file="pcitable.Linux" module="r8169">
  23. <desc>Realtek|RTL-8169</desc>
  24. </table>
  25. </device>
  26. </vendor>
  27. </pcitable>

截图29

加载新驱动文件

  1. vmkload_mod /usr/lib/vmware/vmkmod/r8169.o debug=5
  2. vmkload_mod -l |grep r8

截图30

更新驱动及开机时启用新驱动

  1. esxcfg-pciid
  2. esxcfg-module -e r8169

  执行上述指令后,系统会自动更新simple.map文件,下图验证更新后的文件内容是否正确。

截图31

建立mf文件

 

  1. touch /etc/vmware/init/manifests/vmware-r8196.mf

截图32

重启ESX主机

截图33

截图34

截图21

截图22

本文出自 “虚拟的现实” 博客,请务必保留此出处http://waringid.blog.51cto.com/65148/648931