PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

【补档】华擎Z77 EX4实战VMware ESXi及双显卡直通

[复制链接]
跳转到指定楼层
1#
nighttob 发表于 2014-7-29 21:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
点击数:95531|回复数:59
本帖最后由 nighttob 于 2014-8-1 12:43 编辑

此帖为本人补档,内容经过合并整理并修改,故与原帖不同

这是我的“家庭服务器补完计划”的软件部分,本文介绍一个在普通台式机主板上部署VMware ESXi并配置PCI设备直通的实例——以单一主机通过双/多显卡及控制器直通,实现多用户共用。
硬件篇完成篇

通俗点说就是原本一台主机只能一个人用。再加一块显卡、一台显示器和一套键鼠,就能让两个人同时用。再加一套就能让三个人用……(当然有上限)
而且各个用户操作彼此独立,互不影响。比如用户A玩游戏的同时,用户B在看电影,两个人用同一台主机。

这个方案可以使“高配”主机得到充分利用,不必为了组一台低配主机而采购整套主机硬件,只要添加一块独显即可。

本文不涉及网络和高级资源分配等方面的内容



准备阶段

软硬件配置

ESXi主机

硬件配置:
主板:华擎 Z77 Extreme4,BIOS P2.90
CPU:Intel Core i5 3470
内存:芝奇 XMP DDR3-1600 4G x2
SSD:Intel X25-M G2 80G*3
显卡1:微星7850HAWK 1G
显卡2:蓝宝6450 1G

软件配置:
宿主机:VMware ESXi 5.0 update3
虚拟机:Windows 8.1 pro x64
             Windows 7 ultimate x86

以及另一台安装有VMware vSphere Client 5.0 update3的Windows PC,用于配置ESXi主机和虚拟机。
对上述配置进行一些说明。

在部署阶段需要有两台PC,一台ESXi主机,一台用来配置ESXi主机的Windows PC。这台PC上需要安装好VMware vSphere Client,并在本地磁盘中储存必要的工具,比如Windows安装镜像,驱动和软件等等。一旦ESXi主机上的虚拟机显卡和控制器直通完成以后,配置工作也就可以转移到直通后的虚拟机上了,当然也可以继续用该PC进行配置。

主板和CPU是可行的基础。安装ESXi需要硬件支持x86-64扩展,也就是64位处理器;硬件虚拟化支持,Intel VT-x或者AMD-V;要实现PCI直通还需要支持IOMMU,Intel VT-D或者AMD-Vi。特别是最后一项IOMMU,需要主板和CPU同时支持,并且可以在主板BIOS里启用并确认可用才行。因为前两项要求大部分硬件都具备,所以关键就是最后的IOMMU了。

内存和存储空间没有硬性要求,但8G内存和至少120G的存储是日常用的底线了。如果有3个以上的虚拟机,那么内存和存储空间还要相应扩大。在考虑内存容量的时候,不仅要考虑虚拟机的需要,ESXi本身也要使用1G多的内存。虽然ESXi支持相对弹性的内存配置,可以使虚拟机合计分配内存大于主机实际内存,但为了保证使用体验,内存尽可能保证够用。

既然是显卡直通,那么需要有2块以上的显卡可用,只有1块独显就只能1个人用了。Intel CPU内的核显是没有用处的,无法被直通,如果留作ESXi主机管理端,还会影响独显的正常直通使用。所以有核显的,要在BIOS中设置为禁用。还有一些Google到的信息总结起来就是,大部分A卡可以直通,大部分N卡直通过去也不能用,所以在显卡选择上也有一定要求。我手里只有2块A卡,没法测试N卡的具体情况。由于信息时效性的缘故,一些新产品也不可能都被测试到,如果想自己实践的话,需要单独搜集资料或者自行尝试了。

此外还需要多个声卡或者利用显卡的HDMI音频输出。声卡可以是PCI插卡也可以是USB的,主板集成声卡并不可用。另外就是配套的键盘鼠标和显示器。



获取VMware Hypervisor许可及下载

VMware ESXi目前的最新版是5.5 update1,这里我用的是相对旧的5.0 update3,中间还有5.1 update1等。VMware ESXi的版本升级不是线性步进的,就比如5.0u3的版本号比5.5还高。5.0、5.1、5.5这些大版本的主要区别是功能,update是修补一些BUG。不同版本在相同硬件上的可用性可能会有较大差异,比如5.1版本就有较大范围的USB直通不可用的问题,所以这里不用;而5.5版在我这里一样USB直通异常,所以我这里使用稳定可用的5.0u3。不管是5.x版,最基本的功能都是具备的,没有必要一定用最新的,因为新功能绝大部分你用不上。

关于VMware ESXi还是要再说一点。供个人用的VMware ESXi,当然现在他们叫VMware Hypervisor,是免费的。只要在VMware官网上注册一个ID就可以获得正版序列号,地址在这里https://www.vmware.com/cn/products/vsphere-hypervisor/,点右边的立即下载,然后就是注册过程,之后就可以得到序列号。当然所有免费产品都会有限制,比如这里限制只能用单路CPU,部分功能不可用,虽然这里我们用不到,然后就是会给你的注册邮箱发宣传材料。

有了ESXi还是不够的,还需要有它的配置端,也就是VMware vSphere Client。ESXi和vSphere Client的关系就类似于路由器(系统)和浏览器登录路由器管理页面,所以ESXi要占用一台主机,而要配置ESXi主机就需要另外一台Windows PC运行vSphere Client。ESXi和vSphere Client都可以在“许可证和下载”这个页面里面找到,还有许可的序列号,就像这样。

下面还有历史版本,如果不需要最新的5.5u1,还有其他5.x版可用。ESXi的安装ISO内包含Windows版的VMware Tools,所以只提供了额外的Linux版VMware Tools。最下方有硬件兼容性列表(HCL)和许可限制。一些硬件,比如网卡和阵列卡,为确保可用,需要有ESXi的原生支持,具体的可以在HCL里面查看。许可限制就是我之前说过的,仅限单路CPU,不限CPU核心、线程数。ESXi版本和vSphere Client版本并不是严格对应,但也不是无所谓,跨版本的时候还要下载额外的内容,所以建议还是vSphere Client版本与ESXi版本对应,以免麻烦。

再提醒一下。下载方式如果不是用VMware的下载管理器,而是手动的话,会默认以HTTPS协议下载。如果是使用某些第三方下载软件,很可能会卡壳,解决方法是手动改成“http://”。另外,VMware网站里面有很多叫vSphere的,大部分都是限期试用或者付费授权的。记住下载页面的地址,或者记住要找的是VMware Hypervisor,不要事后找不到了。



添加第三方驱动

这里说一下如果没有原生支持,如何自行添加驱动。

首先,如果你用的是HP这样的品牌服务器,那么请下载OEM定制版的ESXi ISO,地址https://my.vmware.com/cn/group/vmware/info?slug=datacenter_cloud_infrastructure/vmware_vsphere/5_0。需要登陆VMware账号,选择自己需要的版本,这里是5.0,然后点“自定义ISO”标签页。找到品牌名称,转至下载,下载之前确认是否适用于自己的机型。

如果是非品牌机,自行添加驱动的话,驱动来源有三个途径:
1 VMware提供。还是刚才的链接,“驱动程序和工具”标签页,”Driver CD >”,找到网卡制造商的名字,比如BCM的就是” VMware ESXi 5.0 Driver CD for Broadcom NetXtreme I Gigabit Ethernet”。查看一下详细信息看是否适用于自己的网卡(可能没有对应型号,也许也能用),然后”Downliad Now”。下载后可以获得一个.zip文件,将其解压,得到一个.vib文件和/或文件名中带有” offline_bundle”的.zip文件。这两个文件就是给ESXi用的驱动文件,等下再说怎么用。
2 制造商提供。网卡制造商的驱动下载页面可能会提供ESXi的驱动或者Linux通用驱动,当然后者未必好用,如果有制作好的ESXi专用驱动是最好的。这种驱动通常是.taz格式或者.tar.gz格式的,都要把扩展名改成.taz。
3 第三方提供。因为途径2未必好用,所以大多数时候还是直接Google搜一个出来,比如Intel 82579 PHY的驱动。这个其实Intel提供Linux通用版驱动,但还要自己配置成ESXi用的,比较麻烦,而且也有现成的,因此直接拿来就用就好了。I82579等PCIe 1.x时代的千兆网卡的驱动名字是E1000E,区别于老的PCI和PCI-X时代的E1000,新的PCIe 2.x网卡是igb,比如i210, i217 PHY这些。下载下来以后同样可能需要改扩展名为.taz。
(本帖提供一个i82579和ar8131的驱动,见帖子最后补充内容部分)

然后需要下载一个第三方工具"ESXi-Customizer",用ESXi-Customizer把驱动添加到ESXi ISO中。运行”ESXi-Customizer.cmd”,会先弹出一个CMD窗口,然后一个常规窗口。CMD窗口不用管,另外一个窗口里面分别选取ESXi ISO的路径、驱动的路径、合并后输出文件的路径,其余默认,如图。

点”Run!”开始。如果驱动是.tgz格式的,会弹出一个提示框,如图。

点是继续,完成后会有提示,生成一个新的ISO文件。如果驱动是.vib或者.zip格式的,那么过程中不会有刚才那个提示框,但可能有一个询问你是否覆盖原有文件的提示框,选是继续。用这个”ESXi-5.x-Custom.iso”做新的U盘启动,然后再进行安装。

同理,如果要添加的是RAID卡等第三方磁盘控制器驱动、光纤通道卡、InfiniBand卡等等,也是这样的步骤。

ESXi-Customizer是个第三方工具,VMware同样提供了原生工具用以整合第三方驱动。但原生工具操作起来要费时费力的多,因此通常情况下就用简单好用的ESXi-Customizer了。如果要用原生工具,可以看VMware知识库文章。



制作VMware ESXi 安装盘

准备好了ESXi的安装ISO,然后我们就要安装。可以选择刻CD盘或者制作U盘安装,这里只说后者。由于ESXi本质也是个Linux-Based操作系统,所以可以用通用的Linux安装镜像的制作方式,这里要用到"UNetbootin"这个工具。

如图,选取你的ESXi ISO路径,和U盘盘符,确定后就会开始制作,中间可能有一个提示框,选择”yes to all”就行了,跟Linux U盘引导版本有关的。制作完成以后不要想都别想就点“立即重启”了。



安装 VMware ESXi

转到要安装ESXi的主机上,进入BIOS进行一些设置。首先开启各种虚拟化功能:CPU设置中开启VT-x;北桥设置中开启VT-D,设置独显优先,并把跟集显有关的设置调成禁用,比如我这里有”IGPU Multi-Monitor”、”Render Standby”、”Deep Render Standby”;南桥设置中禁用掉集成声卡,虽然集成声卡可以直通,但会有很大杂音,如果不直通也会影响直通独显的使用;存储设置中把磁盘模式改为AHCI,有建立板载RAID的请拆掉,ESXi不支持Intel板载RAID。

然后保存后重启,把刚刚做好的ESXi安装U盘插上,选择U盘引导,安装ESXi。

以下内容为了方便截图,是在VMware Workstation下进行

U盘启动后如图所示。

选择ESXi Installer。我这里是用ESXi-Customizer添加过驱动,所以跟原版ISO略有不同。

之后载入文件,接着就是黄黑色的走进度条,如图。

在这时候,如果ESXi安装程序发现没有受支持的网卡,那么就会弹错终止安装。不是所有网卡都被ESXi支持,当然很多常见的主板集成网卡都不支持,我的华擎Z77 EX4上的BCM57781是有原生支持的。

回车继续。

紧接着是EULA,我相信都不会看的,按F11键继续。

等待检查磁盘。

选择安装目标磁盘,按F1键有详细信息。这里要特别说明几点:
1 ESXi本体可以安装到U盘、SD卡这类介质中,很多服务器主板上会立着一个USB接口或者CF卡槽、SD卡槽,这个就是干这个事用的。如果要安装到U盘中,VMware建议用8GB以上的U盘,但实际上用不了那么大,就算1GB的也能装。但是,受到USB接口的影响,每次启动ESXi的时间可能会很长,所以要考虑一下这方面问题。当然,正规的服务器几个月都不重启一回,这种长时间是可以接受的,自己家用,尤其是调试阶段可能就等不起了。
2 全新安装的话,ESXi安装前会先初始化磁盘,如果磁盘上有分区,那么会有提醒。不要在日用的磁盘上尝试装ESXi,这不是Windows 另外分一个分区就行,ESXi会删除所有分区并新建分区。如果磁盘上有之前的ESXi系统或者VMFS存储卷,那么也会提醒是重新覆盖还是保留。
3 如果主板是UEFI BIOS,安装到本地磁盘上会初始化为GPT格式。如果主机里有多块磁盘,那么要注意引导问题。
4 ESXi系统所在分区是FAT32文件系统,存储卷分区是VMFS文件系统。VMFS文件系统在Windows中是不可操作的
5 Intel PCH的RAID不受ESXi支持,或者可以说板载RAID就是给Windows用的。即使你在Ctrl+I里面建立了一个RAID 0,到这里也会变成两个单独的磁盘,如果要继续安装,最后就会可能会出现无法引导的问题。所以不要做RAID,使用AHCI模式。不光是RST模式下的RAID,在服务器芯片组上的ESRT2模式也是不受支持的

选择键盘布局。一般都是美式键盘,默认不用动,继续。

设置初始密码,最少7位,不要求强密码。默认用户名是”root”。

等待收集信息。

最终安装确认,按F11键后开始写入文件。

等进度条吧……

安装完成,回车后重启。这时候可以把安装的U盘拔下来了。

重启后引导ESXi,跟之前安装的时候类似,都不用管。等黄黑的进度条走完,就算进了ESXi的系统了。如果是安装在本地磁盘上,那走进度条的速度应该比安装的时候快很多。

这就是ESXi系统的主界面了,告诉你主机的IP地址是多少,如果路由器开着DHCP服务,那么就会自动分配,应该跟用Windows时候分配到的地址一样。(这里只是用虚拟机走流程)

到这个阶段安装就算完成了,只用再配置几个设置就要用另外一台电脑的vSphere Client开工了。

按F2键,输入用户名密码,进行几个设置。

设置界面。如果要对网卡和IP地址进行设置,就进入Configure Management Network。

如果具备多网卡,可以在Network Adapters里选择“主”网卡,也可以选择多个作为冗余。必须至少有一个网卡。空格键选择,回车确认,按Y确认变更。

如果要手动设置IP,在IP Configuration里,先激活手动设置,再输入IP地址、子网掩码和网关地址。

之后进入Troubleshooting Options开启SSH和ESXi Shell。(SSH必须要开,ESXI Shell可以不开

开启后就是这样。

到这里在ESXi主机上的操作就告一段落了,后续工作将在另外一台电脑的vSphere Client上继续。



使用VMware vSphere Client配置ESXi主机


分配许可证

启动VMware vSphere Client。

会话窗口中输入ESXi主机的IP地址、用户名和密码,登录。

首次登陆会提示安全证书问题,勾选“不再提醒”,点击“忽略”以继续。

在展开主窗口的同时会提示需要输入许可证。如果只是简单试用或者调试阶段可以先不输入。

如果要进行许可操作,先点击“清单”,进入ESXi主机管理界面。

点击“配置”选项卡,然后选择已获许可的功能,在“ESX Server 许可证类型”这一行最右侧有一个“编辑”,点击后弹出一个分配许可证的窗口。

选择“向此 主机 分配新许可证密钥”,然后点击“输入密钥”按钮,输入注册后获得的25位许可证密钥,确定。之后就可以看到许可的详细信息,再次确认就会看到“已获许可的功能” 发生改变了。

分配完许可证以后需要注意一下ESXi主机的时间是否正确。可能会因为时区设置,使得ESXi主机跑快或者跑慢几个小时,需要在时间配置中手动修正一下。这个时间会影响到虚拟机的时间,因为我没有进行调整,所以我后面的截图中,虚拟机时间都快了8个小时。



配置存储

因为单个X25-M 80G可用容量较低,所以需要扩展一下存储空间供虚拟机磁盘使用。常用有以下三种方式。

一、增加现有”datastore1”存储卷空间。

“配置”选项卡,“存储器”页面,在“数据存储”里选中”datastore1”,在“数据存储详细信息”这一行最右边点击“属性”。

在“datastore1 属性”窗口中点击“增加…”按钮。

选择要增加的存储设备,下一步。

检查磁盘布局,下一步。

指定要分配的容量,下一步。

总结并检查,完成。

可以看到“datastore1”已经被扩容,并显示出新的磁盘。

二、添加新的存储卷。

同样是“配置”选项卡,“存储器”页面,点击“数据存储”这一行右侧的“添加存储器…”。

选择存储器类型。我这里只有本地磁盘,所以选择“磁盘/LUN”。网络文件系统(NFS),本文不涉及。

选择存储设备,下一步。

选择文件系统版本,没有向下兼容需要的话就默认VMFS-5。

检查磁盘布局,下一步。跟之前一样,这里有所不同是因为这块盘上有分区。

设置存储卷名称,下一步。

设置容量,下一步。

总结并检查,完成。

可以看到新的存储卷”datastore2”。

三、裸设备映射

裸设备映射(RDM)可以理解为硬盘的直通。不同于虚拟磁盘是存在于VMFS存储卷中的一个文件,RDM是直接访问物理设备,不会改变物理设备的状态。在VMware 5.x中,RDM是为SAN(存储域网络)设计的,要使其用于SATA硬盘,需要借助”SecureCRT”这样的SSH Shell软件,并在ESXi主机上开启ESXi Shell

首先要获取磁盘标识符。在“设备”中选择要做RDM的磁盘,右键选“将标识符复制到剪贴板”。

然后启动SecureCRT,Quick Connect到ESXi主机。输入ESXi主机的IP地址,用户名。

在输入密码后就到了ESXi Shell了。

命令行是
  1. vmkfstools -z /vmfs/devices/disks/磁盘标识符 /datastore1存储卷位置/自定义RDM名称.vmdk
复制代码
“磁盘标识符”就是先前复制到剪贴板的; “datastore1存储卷位置”在“数据存储”中datastore1的详细信息中;RDM的名称可以自己定义。
* 找不到存储卷位置的话看下下张图标红框的位置。
* 注意命令行中的空格。
可以单独开一个记事本,写好命令行以后复制,粘贴(右键)到SecureCRT中。

如果输入正确,应该没有任何反馈信息。

这一操作是给要RDM的SATA硬盘做一个Metadata,或者说“链接”,供虚拟机挂载这块磁盘。是否建立成功可以到datastore1中查看,“浏览数据存储…”。

可以看到刚刚建立的“链接”已经存在了,名称、大小都正确。

RDM后的磁盘最接近物理硬盘,可以设置缓存策略和查看S.M.A.R.T.状态。但建立在RDM上的虚拟机无法用vSphere进行快照、克隆和迁移等等。

严格地说,以上方法叫物理RDM,是把物理磁盘直接映射给虚拟机。还有一种方法是虚拟RDM,本文不涉及。

配置直通

还是“配置”选项卡,点击“高级设置”,就进入了“DirectPath I/O 配置”,这也就是通常所说的PCI直通设置页面。如果VT-D已经开启,那么下面框中的文字会提示“当前没有启用用于直通的设备”。要设置直通设备,点击右侧的“配置直通……”

在“将设备标记为可直通”的窗口中,可以看到多个设备。需要直通哪个设备,就选中名称前面的复选框。确定后,框中会列出所有被标记为直通的设备,重启后生效。

这里我直通了2块显卡、1个原生USB2.0控制器(1E26)、1个第三方USB3.0控制器、1个第三方SATA控制器、1块无线网卡。

重启和关闭ESXi主机可以在“摘要”选项卡,或者菜单栏“清单-主机” 里找到。重启和关机时候会要求输入理由,就跟Windows Server类似,但不写也没事。

然后vSphere Client的连接会断开,并自动重新连接,如果自动连接不上就手动重新登陆。

要注意:
1 直通是以设备为单位的,而不是PCI插槽。因此你可以在这里看到USB控制器、AHCI控制器等南桥集成设备/功能,当然这些也是可以直通的。而显卡这样的,包含显示输出和HD音频输出两个设备,在直通的时候,由于属于同一PCIe插槽,所以会一并直通显示输出和音频输出,但在虚拟机添加直通设备的时候,是分别作为两个设备独立的。
2 有一些设备会被识别错误或者不识别,显示为”Unknown”,这时候要判断是什么设备,需要看名称前面的位置信息或者设备详细信息里面的设备ID。设备的位置信息可以在Windows设备管理器里面看,比如第一条PCIe槽里面的显示适配器就是“PCI 总线 1、设备 0、功能 0”,对应过来就是01:00:0。再举例就是Z77 PCH有两个USB 2.0控制器,分别是1E26和1E2D,对应的就是设备ID。
3 一个设备能否被直通跟它是否被正确识别无关,被识别错误或者”Unknown”的设备一样可以直通。但某些设备不论识别正确与否,直通到虚拟机以后都可能无法正常使用,包括Intel CPU核芯显卡、集成声卡、大部分N卡和部分第三方存储控制器等。
4 将设备标记为直通就意味着该设备成为某个虚拟机的专用,一旦配置生效,ESXI主机就不能再使用此设备。所以不要轻易直通AHCI控制器和全部USB控制器,如果直通了ESXi系统盘和存储卷所在的AHCI控制器和USB控制器,会出警告提示你一旦生效会很难复原,还有用以远程访问的网卡(在设备名称后有”vmnic#”的标记)和其他被ESXi主机直接利用的设备。如果这些设备被直通,那么重启后会无法引导ESXi。
5 直通显卡并重启后,画面会定格在黄黑进度条阶段,这是正常的。进度条走完(虽然屏幕不动了),还是可以用vSphere Client登陆进去的,大概估算一个等进度条的时间就行了。



新建虚拟机

首先创建新的虚拟机,安装Windows 8.1 x64。典型和自定义的区别是典型无法自定义CPU和内存配置等。

设置虚拟机的名称,且要求唯一。

选择虚拟机文件存储的位置。如果有多个存储卷,这里就会有多个。这里还会告诉你存储卷磁盘的类型,比如SSD,和总容量、可用容量等。

设置虚拟机版本,如果没有与旧版本兼容的必要就选最新的。

设置虚拟机操作系统和版本。这里并没有Windows 8.1,所以只能选Windows 8了。这个选项关系到一些硬件和参数的默认值。

如果要安装Windows 7,并要直通显卡,而且分配2G及以上的内存的话,建议选择Windows 8的操作系统选项。否则直通显卡以后,会提示内存错误
* 有其他地方指出可以通过修改虚拟机的.vmx文件,添加两行配置以避免此问题。我觉得不如直接选不会出问题的Windows 8选项。

分配给虚拟机的CPU个数和核心数。默认是1/1,可按需分配。

分配给虚拟机的内存大小。同样按需分配。

虚拟网络设置。可以设置0-4个网卡,并定义每个网卡连接的vSwitch及网卡类型。E1000和E1000E都是千兆网卡,VMXNET 2/3是万兆网卡。Windows 7默认是E1000,Windows 8默认是E1000E,此选项与虚拟机版本和虚拟机操作系统有一定相关性,如果没有特殊要求就默认。

个人喜欢断网装系统,特别是对Win 8/8.1来说……所以这里我直接网卡数量改为无。安装好系统以后再添加网卡。

设置虚拟磁盘控制器类型。同样与虚拟机版本和虚拟机操作系统有一定相关性,如果没有特殊要求就默认。
* “LSI Logic SAS”的默认驱动是LSI SAS 1068。

设置虚拟磁盘类型。这里我选择“创建新的虚拟磁盘”。如果要用RDM方式,就要选择“使用现有虚拟磁盘”。

设置虚拟磁盘容量、虚拟磁盘置备方式和虚拟磁盘位置。

如果之前选择了“使用现有虚拟磁盘”,会变成这个。这里选择虚拟磁盘文件路径。

找到RDM“链接”的所在位置。

虚拟磁盘高级选项。没有特殊要求就默认。

最后确认。如果有需要修改的,可以勾选“完成前编辑虚拟机设置”再修改。

这样分别建立了两个虚拟机,一个安装win8.1 x64,一个安装win7 x86。

当“近期任务”显示“创建虚拟机”状态是“已完成”,就可以 “打开电源”,并“启动虚拟机控制台”,开始安装操作系统了。可以同时打开多个虚拟机一起操作,一起安装操作系统

虚拟机控制台正常显示以后就可以点“连接/断开虚拟机的 CD/DVD 设备-CD/DVD 驱动器 “连接到本地磁盘上的 ISO 镜像”,然后选取Windows安装ISO,“虚拟机-客户机-发送 Ctrl + Alt + Del”重启虚拟机并引导安装程序。

安装操作系统就不教了,这是必备技能。过程跟在VMware Workstation里一样,也是“Ctrl + Alt”释放光标。

安装完操作系统以后,安装VMware Tools,然后关机,准备直通设备。



直通设备

在编辑虚拟机设置(虚拟机属性)中,点击“添加…”按钮。

选择PCI设备,下一步。

选择要直通的PCI设备,这里选择的是6450显卡。

检查并完成。重复上述操作,把6450显卡的HDMI音频一并直通。同样,有需要直通的其他设备也依次完成。一个虚拟机最多能直通6个PCI设备

如果有USB设备连接在没有被直通的USB控制器上,也按类似方式直通。但在直通USB设备之前先要添加USB控制器。

选择控制器类型,下一步。

检查并完成。

然后直通USB设备,下一步。

选择要直通的USB设备。这里有一个蓝牙适配器和读卡器。

检查并完成。

其他设备,如添加虚拟网卡、连接虚拟磁盘,也可以一并完成。之后打开虚拟机电源,安装驱动程序。

注意:
1 添加直通设备后,会影响虚拟机快照的运作,无法在虚拟机开启的时候进行快照。
2 添加直通设备后,无法在虚拟机开启的时候添加虚拟网卡等设备,必须关闭虚拟机才可添加。
3 添加直通设备后,可能会影响可用内存总量。再新建虚拟机可能会提示内存不足。
4 添加直通设备后,会延长“打开虚拟机电源”的过程,虚拟机引导时间也会变长。

如果显示器已经与显卡连接妥当,那么在安装显卡驱动过程中就会有画面显示,并直接设置为扩展显示,以显示器屏幕(一般是显示器2)为主。为了方便,尽量用直通后的键鼠操作。如果还要用虚拟机控制台,那么要设置虚拟显示器(一般是显示器1)为主或者仅在虚拟显示器显示。
* 不同硬件平台、不同操作系统、不同显卡型号和驱动版本,安装要求也不完全一样。某些情况下需要先安装纯驱动后再安装含催化剂控制中心(CCC)的完整版驱动,否则会蓝屏。也有一些需要先在安全模式删除自带的独显驱动,才能安装官方驱动,否则也会蓝屏。我这里都是直接安装13.12完整版驱动,在两块显卡和4种操作系统环境下都无异常。
* 有人提到过显存大小的问题,但我手里只有1G显存的卡,没办法实际测试。这里只是提醒,显存大于1G的显卡可能在直通过程中需要额外操作,比如可能会与分配内存大小有关联,甚至可能直通后无法使用。

直通好以后效果如图。

VM1,安装Windows 8.1 x64。

VM2,安装Windows 7 x86。

Windows 8.1可以自主识别出虚拟磁盘同样是SSD。图上还有一个直通过去的USB读卡器。

在Windows 7上跑了一遍winsat,成绩跟物理机上很相似(受限于设置内存较低)。

虚拟机配置完毕以后,可以设置“仅在显示器2上显示”,配合直通的键鼠,操作上就基本跟物理机没有区别了。
我还试了一下在两台直通的虚拟机上玩WAR3,也是正常的。

然后还可以在虚拟机上安装vSphere Client,让虚拟机去管理ESXi主机。这样就可以不用另外的Windows PC开vSphere Client了。(当然,得先给虚拟机分配网卡)

重启虚拟机,显示器会在Windows Boot结束以后,也就是进入桌面时候才点亮。这一过程与物理机有所不同,耐心等待。



设置虚拟机随ESXi主机开启和关闭

由于显卡都直通给虚拟机了,用另外一台Windows PC开关虚拟机也比较累赘,所以我们可以设置(某)几个虚拟机随ESXi主机启动。

“配置”选项卡,“虚拟机启动/关机”这一页。默认都是手动,点击右侧的“属性…”

在配置窗口中首先勾选“允许虚拟机与系统一起自动启动和停止”前面的复选框。这样其他选项就是可用的了。然后可以把需要随主机启动的虚拟机“上移”到“自动启动”的队列里。

可以手动指定虚拟机启动间隔和关机间隔。如果不勾选“如果 VMware Tools 启动则立即继续”的话就是固定间隔xx秒,勾选后就是虚拟机进入桌面后就启动下一个虚拟机,取二者间较早发生者。

关机间隔也类似。关机操作里面,“关闭电源”是强制关机,相当于物理机直接长按电源按钮;“客户机关机”是指令关机,相当于鼠标点“关机”。当然这个指令是通过VMware Tools发送的,没有安装VMware Tools不能使用这种方式,否则会提示错误,转为强制关机。

设置好以后如图。

需要说明的是,“手动启动”列里面的虚拟机既不会自动启动也不会自动关机,关机的时候相当于直接断电。



结语

写这篇帖子并不是我的本意,本来是打算接着《硬件篇》写的,但遇到了HPT RR2720这块阵列卡直通过去无法让阵列上线的问题,所以先有了这篇。图不是同一天截的,不要在意这个。

直通双显卡这个想法也是在折腾服务器的时候想到的,既然单显卡能直通,那么双显卡是不是也行呢?所以这里就实践了下。不得不说,这两块板子还是有一些差异的,特别是“集显”这块让我绕了一个弯路。应该说服务器主板上的“集显”是集成在主板上的独显,而CPU里面的就不是了。在直通显卡的时候,前一种是可以开启,而且完全不影响独显直通的,但后一种就必须得禁用,否则就是无尽的蓝屏。其实显卡直通教学有不少人写过,但大部分是在虚拟机论坛上,既然受众是有基础的,那么基础知识就不用讲太多,很多内容应该是“你理应会的”。之前一直以为ESXi也是需要一路显示输出的,所以觉得直通掉所有显卡然后定格在黄黑进度条上是死机了,但这样很多人的教程就是无法实现的。再仔细整理逻辑以后才知道,这是又被先前折腾服务器的经验给坑了,因为此“集显”和彼“集显”的原理并不相同,如果不上手做的话就不会明白,如果阵列直通一帆风顺的话没准还会坑到别人……

这篇帖子算是提出一个多人共享主机的思路,之前见过类似的方案也就是“拖机”了。跟拖机相比,ESXi直通要更底层一些,毕竟操作系统都是独立的,当然也更复杂一些,所以我没打算推广这个方案。跟多台主机相比,这个方案也许就是省了CPU和主板的钱,但要花更多精力去部署和维护。而且就像我在企业级硬盘和消费级硬盘帖子里面说的,台式机挂了也就影响一个人,服务器挂了就影响一堆人了,这里情况也类似。多台主机的话,谁的挂掉都可以用别人的,但ESXi主机挂了,大家就都傻眼了。

那么这个方案在什么情况下是可行的呢。

比如宿舍里面,好几个人想用台式,但没地方一个个摆主机,那么可以大伙儿照这样凑一台,CPU高级点、内存大点、显卡和硬盘按各人需求,然后人手一套屏幕和键鼠,不够长的话拉延长线/HUB。

再比如家里面需要一台主力机、一台NAS和一台HTPC,这就可以合并到一起,主力机多分配一些资源和高性能显卡,NAS不需要显卡只需要多硬盘直通过去,HTPC分配少量资源和低功耗显卡,再用延长线和无线键鼠操作。

当然这只是设想几种情形,现实情况可能会很复杂。我这里也就是提供一个思路,可以作为参考,采取什么样的方案,还是要以现实需求为准。

最后,这种ESXi的用法算是非主流,所以请高手们不要嘲笑我见识浅薄。

个人水平有限,恕不能提供超出本文内容的技术支持。



补充

VMware Workstation有一个功能是可以连接“远程服务器”,这个功能可以代替vSphere用来开关虚拟机。

VMware虚拟机产品之间有一定互通性,VM Workstation上的虚拟机可以迁移到ESXi里面去,就是需要注意一下虚拟机版本的问题。比如目前Workstation 10.x的虚拟机版本(10)比ESXi 5.0虚拟机版本(8)高。版本10的虚拟机上传以后,vSphere无法完全掌控,还是需要用Workstation进行配置。另外,高版本的虚拟机也没法用vSphere“编辑配置”以直通设备,想无缝迁移并添加直通的,要注意虚拟机版本是多少。

如果要用到高版本虚拟机向低版本迁移的话,需要用VMware vCenter Conventer Standalone这个工具做转换。Source选择本地的Workstation虚拟机vmx,目标指向ESXi主机的IP,然后把版本降低到vSphere可接受的版本。迁移完成以后需要留意修改一些设置,比如虚拟机资源分配和虚拟机内存热插拔配置等。

Intel 82579和其他E1000E网卡的驱动(.tgz格式)


Atheros AR813x驱动(.vib格式,可能815x也能用)


Atheros AR8161驱动(.vib格式)




补档备考

1. 由分楼层分块转换为集中在主贴,用分割线划分间隔。

2. 将原帖补充的内容整合进主贴。增强了同硬件篇和完成篇之间的关联度。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
2#
woyaoxiayi 发表于 2014-7-30 12:30 | 只看该作者
很专业,学习中。。。
3#
liuyunfeng 发表于 2014-7-30 21:00 | 只看该作者
好多呀,看都来不及。
4#
EITCo 发表于 2014-7-31 14:49 | 只看该作者
还怕这篇文会丢了,再次收藏
5#
haierccc 发表于 2014-7-31 21:11 | 只看该作者
这么好的文章能找回来,真是太好了!
文中说,“硬件虚拟化支持,Intel VT-x或者AMD-V;要实现PCI直通还需要支持IOMMU,Intel VT-D或者AMD-Vi”
我的CPU是i5 4570,支持vt-x,但不支持vt-d,是不是就不支持直通了。
还有这个IOMMU是什么意思,IOMMU,VT-D和AMD-VI是不是三选一就可以,而不是同时都满足
6#
nighttob  楼主| 发表于 2014-7-31 21:24 | 只看该作者
本帖最后由 nighttob 于 2014-7-31 21:26 编辑
haierccc 发表于 2014-7-31 21:11
这么好的文章能找回来,真是太好了!
文中说,“硬件虚拟化支持,Intel VT-x或者AMD-V;要实现PCI直通还需 ...


IOMMU具体到I家和A家的名字是VT-D和AMD-Vi。
不支持VT-D就没法直通PCI设备到虚拟机。
7#
haierccc 发表于 2014-7-31 21:31 | 只看该作者
那种一拖二的设备也可以多人使用同一台电脑。
不知道谁效率更高一些,速度更快一些。
8#
ey2h 发表于 2014-8-1 10:23 | 只看该作者
82579LM应该找哪个区动呀?没找到E1000E的, intel的有好几个。
直通里有但是通了以后虚拟的Win8里面有惊叹号,说是错误代码10.驱动不了。
9#
nighttob  楼主| 发表于 2014-8-1 12:23 | 只看该作者
ey2h 发表于 2014-8-1 10:23
82579LM应该找哪个区动呀?没找到E1000E的, intel的有好几个。
直通里有但是通了以后虚拟的Win8里面有惊叹 ...


我忘了给传附件了,这就给补上
10#
ey2h 发表于 2014-8-1 12:27 | 只看该作者
nighttob 发表于 2014-8-1 12:23
我忘了给传附件了,这就给补上

呵呵,太感谢了,另一个网口能用了,但是装好了怎么加驱动呢?要重新安装一遍!!!
11#
nighttob  楼主| 发表于 2014-8-1 12:36 | 只看该作者
ey2h 发表于 2014-8-1 12:27
呵呵,太感谢了,另一个网口能用了,但是装好了怎么加驱动呢?要重新安装一遍!!!
...

用shell可以添加驱动,但是我没记命令行。
google搜“ESXi安装驱动”这类内容会有结果的。
12#
ey2h 发表于 2014-8-2 15:22 | 只看该作者
nighttob 发表于 2014-8-1 12:36
用shell可以添加驱动,但是我没记命令行。
google搜“ESXi安装驱动”这类内容会有结果的。
...

用定制ISO在升级一次就好了,谢谢。
另一个问题是sata硬盘的性能没有直接连接好,是不是裸盘映射会好起来?
13#
nighttob  楼主| 发表于 2014-8-2 15:26 | 只看该作者
ey2h 发表于 2014-8-2 15:22
用定制ISO在升级一次就好了,谢谢。
另一个问题是sata硬盘的性能没有直接连接好,是不是裸盘映射会好起来 ...

都会受虚拟SCSI驱动的影响,裸盘会好一些。
14#
ey2h 发表于 2014-8-2 16:45 | 只看该作者
nighttob 发表于 2014-8-2 15:26
都会受虚拟SCSI驱动的影响,裸盘会好一些。

就是要先把原来虚拟的全部删掉,然后裸盘?
虚拟机系统和客户端交换文件只能网络共享?还有粘贴复制这些都不能用?不像Hyper-V
15#
nighttob  楼主| 发表于 2014-8-2 19:42 | 只看该作者
ey2h 发表于 2014-8-2 16:45
就是要先把原来虚拟的全部删掉,然后裸盘?
虚拟机系统和客户端交换文件只能网络共享?还有粘贴复制这些 ...

在物理盘里面的虚拟盘文件删不删无所谓,反正你整个物理盘裸映射出去了。就是ESXi找不到这些虚拟盘了,如果有虚拟机关联,就会报错。

我是用的网络共享。复制粘贴,如果是Windows的话可以用远程桌面做。其他方法应该还有,我没去研究。
ESXi跟Hyper-V用起来差别还是挺大的。
16#
mmate 发表于 2014-8-5 01:40 | 只看该作者
很棒啊~~~~继续收藏~~~~~~~
17#
qwer252551 发表于 2014-8-28 11:15 | 只看该作者
nighttob 发表于 2014-8-2 19:42
在物理盘里面的虚拟盘文件删不删无所谓,反正你整个物理盘裸映射出去了。就是ESXi找不到这些虚拟盘了,如 ...

大神

请教一下。使用esxi虚拟器的情况下玩3d游戏性能如何?是不是像其他虚拟机一样性能衰减很厉害
18#
nighttob  楼主| 发表于 2014-8-28 12:11 | 只看该作者
qwer252551 发表于 2014-8-28 11:15
大神

请教一下。使用esxi虚拟器的情况下玩3d游戏性能如何?是不是像其他虚拟机一样性能衰减很厉害

我没很彻底地测试。
简单测试表明虚拟机显卡直通以后跟物理机使用性能十分近似。
19#
qwer252551 发表于 2014-8-28 13:34 | 只看该作者
本帖最后由 qwer252551 于 2014-8-28 13:37 编辑
nighttob 发表于 2014-8-28 12:11
我没很彻底地测试。
简单测试表明虚拟机显卡直通以后跟物理机使用性能十分近似。 ...

是不是可以这么认为 esxi算是性能最强的虚拟机了?

另外esxi对N卡不太友好啊

如果对游戏性能有很高要求。除了esxi有没有其选择?
20#
nighttob  楼主| 发表于 2014-8-28 13:51 | 只看该作者
qwer252551 发表于 2014-8-28 13:34
是不是可以这么认为 esxi算是性能最强的虚拟机了?

另外esxi对N卡不太友好啊

虚拟机方案有很多,esxi只是其中之一。
我现在只了解这么多。

除非你真是要一台主机插好几块独显分给几个人玩,否则不推荐这方案。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部