POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 112132|回复: 70

使用虚拟机ESXI,显卡直通VM,使一台实体机虚拟成HTPC、WEB服务器、NAS服务器等经验

  [复制链接]
发表于 2013-6-3 20:35 | 显示全部楼层 |阅读模式
本帖最后由 siyou 于 2013-7-2 22:22 编辑

什么是ESXI?其实是VMWARE的企业版,ESXI自己就是一套操作系统,不用装WINDOW,也不用装LINUX,效率能达到实体机的95%以上。可以把一台虚拟成几台PC,各自发挥自己的用途。

利用ESXI,把其中一台实体机虚拟成HTPC,其余的虚拟机干WEB服务器,NAS服务器?不是梦想
这东东在国外很流行的,非常可悲,在中国几乎找不到详细的资料以及经验,更不好运的是,直通(就是把显卡或其它设备直接给VM使用,不给主PC使用)可能会遇到的问题,全部被我碰到个遍了,差点就是放弃的了,于是我把历经2周波折所累积下来的经验,和大家分享一下,使大家别走弯路。

来个前奏,由于有很多资料要备份,于是想组建一台NAS,找了很了群晖等的NAS,2盘位好一点的也要卖3、4K,更有甚者,某某司的品牌,压根就是ATOM主板加个机箱,卖3、4K,觉得买这些东西,非常...那个了(买了的朋友,别打我),软阵列对数据的保护就不说,功能还少得很,群晖好点,但支持也有限。记得某个论坛的人说,买群晖好,买NAS就是为了折腾,但我想,要折腾,还不如自己组个机器,自己折腾?于是,我走了折腾的不归路。

首先,我这台机器要有几个点:
1、要有HTPC功能
2、要有NAS功能
3、要有WEB服务器功能(WIN2008)
4、要能给家里人用
5、硬阵列,有缓存,有电池,不怕断电

本来不装WIN2008的话,装一个LINUX就能基本上解决了,不过,HTPC其实很多时候使用,还是WIN7方便,家里人用惯了嘛,特别是看YOUKU。

本来看中了一个万由的机箱,由于他是用ITX板的,只有一条PCI-E槽,能装阵列卡,就不能装显卡,于是废掉了,于是淘了一个AOPEN G326HT的库存机箱(25x24x28),改造成12硬盘,水冷+半导体制冷(有芯片控温至40度,防结霜),有漏水警报器。

至于主板,由于至少要双显卡(一个显卡显示ESXI控制台,一个HTPC用),又要有MINI PCI槽插固态MSATA硬盘,因此,我选了INTEL的DQ77MK主板,MICRO ATX主板:一条PCI-E插9261阵列卡(16X),一条插HD5450显卡(4X),一条插PCI普通显卡,一条插USB 3.0扩展卡(或插无线等其它东东也行)。该板中国没卖,是我从香港邮购回来的。Q77芯片组,原生支持VT-D,而且做工非常不错,功能很强。
废话少说,入正题

------------------------------

显卡直通怎么搞,很多地方有说了,这里给个传送门,自己看看:http://cxpbt.blog.51cto.com/960019/463787
我这里重点说说显卡直通存在的问题,我估计也卡死了很多很多有意向做这事种的人。

一、名词解释
穿透有很多名词,例举如下:
VMDP:VmDirectPath(直通,ESXI专用名词,下文全用VMDP代表)
PT:PassThrough或Pass-Through(直通)
VT-D:Virtualization Technology for Directed I/O(直通)
中文方面:穿透=直通=直接访问,VMWARE官方用的是直通这个词

二、VMDP的前题条件
VMDP首先要是CPU支持VT-D,可以去查INTEL网站(一般I5以上,不带K的都支持,I3就别想啰),然后是主板支持VT-D,支持VT-D的主板一般有三个品牌,INTEL、华擎、技嘉
INTEL自己说的是只有Q77芯片组才真正支持VMDP,但其实很多H77、Z77都支持,包括INTEL自己的主板,几乎全系列支持VT-D,兼容性嘛,看上去好像没啥分别。

三、VMDP安装及配置建议
显卡:建议用ATI(应该是AMD,不大习惯,呵呵)的卡,NVIDIA可以VMDP的几率很低(已知GTX460可以),想VMDP的,还是用ATI的卡吧,ATI的卡我试过四只,全部直通成功(X700能直通不能显示,HD5450,HD6450,HD6570),其中HD6570的HDMI音频无法直通成功。
系统:建议用ESXI 5.0 U2,4.1太旧,5.1不支持USB直通,不好搞,因为HTPC的VM还得把鼠标键盘穿进去才好用
驱动安装顺序:先装VMTOOLS,再装显卡驱动(蓝屏后有说)

四、误区及经验(这里是重点了,请细看)
1、板载显卡与声卡问题:这里是重点,有的板集成显卡及声卡全部打开,对VMDP无影响,有的需要关闭集成声卡,有的需要关闭集成显卡,有的两个都需要关闭,请不要忽视这个问题,我就是因为没有关闭集成声卡导致VMDP问题卡顿了一周,所以建议大家尝试的时候,把集成声卡有显卡都CLOSE吧,反正带HDMI的显卡,一般都有声卡功能。
2、无法识别的设备是否能VMDP:能,例如无法识别的USB设备,写着unknow device(好像是这样),VMDP进去之后,一样能用
3、HD4000的集成显卡ESXI无法识别问题:第2点已经说了,不能识别的设备,也能直通,只是。。。只要是集显,无论什么显卡都无法VMDP(HD2000、3000、2500、4000我都试过,全部失败),估计由于不是用PCI总线的原因,显示到启动20%的时候,基本上完蛋。
4、2G内存限制:VMDP显卡后的VM,只能用2G内存,不然会启动不了(进WINDOW蓝屏,提示啥我没仔细记下来),虽然说是2G,其实设到1.5G就最多了,可用的内存非常少。要解除这个限制,需要把虚拟机所在目录的VMX结尾配置文件,下载回来,编辑,最后加上以下两句: "pciHole.start = 1200" 和"pciHole.end = 2200"。 "pciHole.end = 2200"用于1G显存显卡, 如果是512M显存,要写成 "pciHole.end = 1700"
5、设备管理器显示有直通后的显卡,也正常运转,但无法在WIN7的分辨率设置中找到第二显示器:⑴遇到这种情况,请尝试新建虚拟机,装系统前先把设备直通完再装  ⑵请确认你的催化剂驱动包的驱动包含正确的驱动,例如11.9版驱动,就无法驱动ATI 5450,这个你可以在启安装程序后,用自定义的方式装驱动,如果列表里没有显示显卡和声卡的驱动让你行,证明这驱动包不行。  ⑶确保你的驱动支持WDDM,如ATI X700的驱动就不支持WIN7的WDDM 1.1
6、装显卡驱动蓝屏,显示atikmpag.sys错误,请确保以下几点:⑴集成显卡及声卡均要屏蔽,不屏蔽可能永远蓝屏装上不  ⑵按以下顺序安装驱动,首先安装VMTOOLS; 其次进入安全模式停用VMDP的显卡,然后重新启动;重启完成后,利用设备管理器更新驱动的方式更新驱动,让机器自动重启,之后就能用了  ⑶切记,集成显卡及声卡均屏蔽,不屏蔽的话,可能永远蓝屏,装上不,屏蔽的话,只要蓝屏一次就装上了(或者按第2点做,一次都不会蓝屏)(4)pciHole的设定已经做好
7、驱动版本问题:最稳定的驱动是13.4 WHQL,千万别下错移动版的了
8、启动虚拟机的时候,显示器黑屏:我一开始也在这里纠结了非常久,为啥开机了,显示器不亮了,后来我才知道,由于主次显卡问题,VM的主显卡是虚拟显卡,没装好系统的时候,第二显卡无法驱动,当然就显示器不亮了,因此不需要害怕,把显卡驱动装好后,进WIN或LINUX,显示器的屏就直接亮了。
9、ESXI启动时卡死在“cnic_register loaded successfully”:其实ESXI没死的,因为设置了显卡直通,ESXI到了这里已经把显卡的控制权释放出去了,所以屏幕卡死了,但ESXI其实是正常运作的。
10、支持显卡及主板列表,大这可以看看这两个网站,英文的:https://docs.google.com/spreadsheet/ccc?key=0Aqp_xYBwP_Y7dE5EclhtaDdIV09lNWxfODd1alRUTlE#gid=0 和  http://communities.vmware.com/thread/297072?start=0&tstart=0
(2013.6.15更新)
11、关于2GB内存限制问题,在超过1.5GB内存分配的时候,有朋友在启动的时候会提示“Module memsched power on failed”,就算是配置了pciHole.start及pciHole.end也无法启动虚拟机,这是由于在直通后,没有分配有足够的配额所致的(即所有虚拟机总分配内存,大于实体机总内存),可以到:Vclient-->选择主机-->资源分配-->内存预留,调至你需要的大小,即可启动。
12、关于鼠标卡顿问题,请直通USB口到VM,用实体鼠标操作,另外,内存最好调至4G,这样鼠标卡顿应该会消失了
13、关于硬件加速问题(YOUKU或其它播放软件绿屏):与显卡有关,HD5450的显卡基本上都是绿屏的,换HD6450就没事了,我就是这样
14、YOUKU使用软加速(无硬件加速可用时):在视频中右键-->设置-->第一项中的硬件加速去掉,刷新就不绿屏了
15、关于多显示器问题:笔者建议把电视机设为唯一屏幕,把vclient连的那个监控屏幕取消,会加速系统运行。方法是WIN7桌面-->右键-->屏幕分辨率-->找到“只在屏幕N显示“显示的项,选择即OK
16、硬盘慢,整台机卡顿严重问题:请回忆一下,是不是装好虚拟机之后,移动过SATA插座位置,如果是的话,可以把整个硬盘格式化成NTFS,再变成VMFS,重装虚拟机,一切问题都可以解决

(2013.7.2更新)
17、若大家使用POWERDVD、TMT播放器时,显示“Sorry,this application cannot run under a Virtual Machine”。那么,请按两步走:(1)请下载虚拟主机目录下的.VMX文件,在末尾加一行:monitor_control.restrict_backdoor = "TRUE"   (2)打开注册表中的HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E968-E325-11CE-BFC1-08002BE10318}/0000
  
将 DriverDesc 项的内容清空(千万不要删除此项)。设置完后应该就可以了。


请大家注意,vCenter算号的时候,要选择standard版本的算号,这个才是最高版本,大家别选错了
esxi的算号可以用enterprise unlimited cpu的那个








发表于 2013-6-4 22:28 | 显示全部楼层
用了2年esxi了,感觉非常不错,不过硬件直通还没有机会尝试过,多谢楼主的经验分享,不过显卡直通做htpc的话显示器要直接插在显卡上,也就是说主机还是要放在电视机旁边。
回复 支持 1 反对 1

使用道具 举报

发表于 2013-6-5 20:38 | 显示全部楼层
siyou 发表于 2013-6-4 22:35
ESXI很稳定的说,就算是虚拟主机商卖的虚拟服务器,ESXI的也比VPS(HYPER-V)的贵很多。HTPC其实很多时候 ...

ESXI 可以直接映射 PCI-E的硬件资源吗?

如果是真的,那够厉害的了
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2013-6-4 22:35 | 显示全部楼层
本帖最后由 siyou 于 2013-6-4 22:37 编辑
guanyc 发表于 2013-6-4 21:26
ESXI虚机好用吗?

个人觉得。。HTPC放到虚机不是很好。。

ESXI很稳定的说,就算是虚拟主机商卖的虚拟服务器,ESXI的也比VPS(HYPER-V)的贵很多。HTPC其实很多时候资源很空闲的,所以我就想利用起来。
另外,利用ESXI虚拟出来的NAS(存储服务器),和真实的没分别的,另外,看HTPC的时候,由于是自己调自己的硬盘,节省了网络宽带。
如果插两块显卡,甚至可以变成两台HTPC,接两个电视,两套功放,牛B哄哄了。
回复 支持 1 反对 0

使用道具 举报

发表于 2013-6-4 21:26 | 显示全部楼层
ESXI虚机好用吗?

个人觉得。。HTPC放到虚机不是很好。。

自己目前的想法是,将储存部分独立出来,主要是为了避免不稳定,其次也可以共享给多个机器
不过未来研究是Hyper-V。。。基本只要不跑Linux的话。。估计没有什么问题
回复 支持 0 反对 1

使用道具 举报

发表于 2013-6-3 22:12 | 显示全部楼层
非常好的经验  感谢

我之前也研究了一下,最后感觉还是问题比较多,用起来的时间不如折腾的时间,就放弃了。 本是打算一台电脑组成家庭终端,1虚拟软路由2虚拟存储服务器3虚拟为日常使用的电脑
回复 支持 1 反对 0

使用道具 举报

发表于 2013-6-7 04:26 | 显示全部楼层
我想问无论想虚拟几台htpc或者路由啥的,布线怎么办?除了网线还有视频音频线,鼠标键盘,怎么接入其他房间的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-7 10:19 | 显示全部楼层
tobacco 发表于 2013-6-7 04:26
我想问无论想虚拟几台htpc或者路由啥的,布线怎么办?除了网线还有视频音频线,鼠标键盘,怎么接入其他房间 ...

那你得埋几条HDMI线进墙了
键鼠可以用无线的
不过在房间用得着用厅里的虚拟机吗?还不如装上APPLE TV,捣个AIR PLAY
回复 支持 反对

使用道具 举报

发表于 2013-6-7 12:17 | 显示全部楼层
guanyc 发表于 2013-6-5 20:38
ESXI 可以直接映射 PCI-E的硬件资源吗?

如果是真的,那够厉害的了

需要硬件支持
回复 支持 反对

使用道具 举报

发表于 2013-6-7 20:55 | 显示全部楼层
太虚公 发表于 2013-6-7 12:17
需要硬件支持

哦, 需要 那个硬件虚拟化吗?

不知道AMD的是否支持。。

Hyper-V 3.0 好像还支持到 虚拟显卡。。USB方面使用过RDS 来重定向的。。。


但 ESXI  好像没有免费的吧。。。


回复 支持 反对

使用道具 举报

发表于 2013-6-7 21:42 来自手机 | 显示全部楼层
Hypervisor版免费,功能也挺齐全的,家用够了
回复 支持 反对

使用道具 举报

发表于 2013-6-8 00:24 | 显示全部楼层
guanyc 发表于 2013-6-7 20:55
哦, 需要 那个硬件虚拟化吗?

不知道AMD的是否支持。。

需要IO虚拟化的支持  cpu和主板都要支持  INTEL是TV-D  amd也有 具体叫啥忘记了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-8 09:16 | 显示全部楼层
hyper-v我觉得是太弱智,并且WINDOW底层不稳定,所以没选持
回复 支持 反对

使用道具 举报

发表于 2013-6-8 11:11 | 显示全部楼层
siyou 发表于 2013-6-8 09:16
hyper-v我觉得是太弱智,并且WINDOW底层不稳定,所以没选持

底层不稳定是从何说起……我从1.0的beta版开始一直就在生产环境里用  这玩意儿不好用仅仅是配套工具不行
回复 支持 反对

使用道具 举报

发表于 2013-6-8 22:55 | 显示全部楼层
太虚公 发表于 2013-6-8 00:24
需要IO虚拟化的支持  cpu和主板都要支持  INTEL是TV-D  amd也有 具体叫啥忘记了

AMD IOMMU 这个吗。。

没记错。。好像只有  FX900 系列以后的主板才支持。。。。

Hyper-V 我认为,只要不去跑 Linux,  基本没有什么问题。。

回复 支持 反对

使用道具 举报

发表于 2013-6-9 08:36 | 显示全部楼层
guanyc 发表于 2013-6-8 22:55
AMD IOMMU 这个吗。。

没记错。。好像只有  FX900 系列以后的主板才支持。。。。

跑Linux也没什么问题,我一直在Hyper-V里跑Linux

RHEL、CentOS装微软的Linux IC即可,5.x装Linux IC 2.1,6.x的话装3.2或3.4

不装Linux IC认不到网卡,只能用百兆老网卡

如果是Ubuntu,更简单,从12.04起都内置Linux IC

不过就是如果在Hyper-V里跑Linux,网卡的MAC地址最好都设成固定的(Hyper-V默认是动态的)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-9 09:11 | 显示全部楼层
太虚公 发表于 2013-6-8 11:11
底层不稳定是从何说起……我从1.0的beta版开始一直就在生产环境里用  这玩意儿不好用仅仅是配套工具不行

基于WINDOW底层的,再好都有限了,效率再高都有限了。
而且HYPER-V的直通很弱智,直通多几样东西,复杂一点就不行了,最起码直通道两张显卡我就找不到地方设了,管理功能就像你说所的,所以我没选HYPER-V。

点评

家用么,直通干嘛?要直通的应用,装在底层就好。 esxi是企业应用,上面n个系统,说不好就哪个要用特定硬件。否则的话,顶多物理磁盘映射足够了  发表于 2014-8-29 06:01
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-9 09:13 | 显示全部楼层
kenkenkenken 发表于 2013-6-9 08:36
跑Linux也没什么问题,我一直在Hyper-V里跑Linux

RHEL、CentOS装微软的Linux IC即可,5.x装Linux IC 2 ...

其实不是行不行的问题,而是效率的问题
回复 支持 反对

使用道具 举报

发表于 2013-6-9 15:40 | 显示全部楼层
890FX开始就支持IOMMU了,不过CPU要推土机才行。
回复 支持 反对

使用道具 举报

发表于 2013-6-9 15:41 | 显示全部楼层
本帖最后由 乐极生悲 于 2013-6-9 15:43 编辑

另外,HYPER-V根本就不支持硬件直通。还有就是HYPER-V虚拟化底层比vmware更硬件化,所以不适合跑非X86的虚拟机,但是跑x86虚拟机性能已经强于vmware了.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|网站地图|小黑屋| ( 粤ICP备13038377号-1 )

GMT+8, 2018-6-20 15:44

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表