VMware ESXi对USB外设的支持比较好,但这并不是说ESXi的虚拟机能支持所有的USB外设。例如一些财务软件的加密狗,在物理机操作系统中使用没有问题,但在ESXi中的虚拟机不能识别这些加密狗。对于这种问题,可以将主机的USB接口以"直连"的方式映射到虚拟机中,供虚拟机使用。
这样,虽然ESXi不能识别USB端口上的加密狗,但可以让ESXi的虚拟机通过直接ESXi主机上的USB端口的方式,来使用接在USB端口的加密狗。
案例:1台DELL R710的服务器,安装的VMware ESXi 6.0,创建的虚拟机是Windows Server 2008 R2操作系统。在该服务器插入加密狗后,修改虚拟机配置→添加USB控制器→添加USB设备时,找不到ESXi主机上的加密狗。
(1)使用vSphere Client连接到ESXi主机,在"配置→高级设置"中,单击右侧的"编辑"按钮,在"将设备标记为可直通"对话框中,选择所有的 USB控制器(因为我们不清楚,这些USB端口与服务器机箱上USB端口的对应关系,所以开始全部选中),如图1-1所示。
图1-1 将设备标记为可直通
(2)返回到vSphere Client,将正在运行的虚拟机关机,然后重新启动ESXi主机。
(3)关闭(想添加USB加密狗)虚拟机,修改虚拟机配置,单击"添加"按钮,在"设备类型"中选择"PCI设备",在"选择PCI设备"下拉列表中,选择要连接的PCI设备,如图1-2所示。
图1-2 可用于添加的PCI设备
【说明】因为服务器主机有4个USB端口,加密狗插在其中一个端口上。而在图1-1中添加了6个USB设备。所以在图1-2中添加的时候,先选择其中一个(并记录下来)。
(4)添加PCI设备之后,保存配置,打开虚拟机电源。
(5)进入虚拟机系统,看USB设备是否已经被识别。如果没有被识别,请关闭虚拟机的电源,修改虚拟机配置,删除(3)步中添加的PCI设备,重新添加下一个PCI设备,之后保存配置,并再次打开虚拟机的电源。重复这几步,直到添加的PCI设备与插在主机上的USB设备对应为止。
当然也有其他方法,例如一次添加多个设备,然后再通过删除的方式进行排除,这些属于"六选一"的一种方法,不一一介绍。
在为客户解决了这个问题之后,客户接下来的要求是:
我这台R710只有4个USB端口(前2后2),但我有6个USB加密狗,怎么办?我能用USB HUB吗?
USB HUB我没有试过,但我感觉这不是好的选择。之后开始万能的"淘宝",找到一个"PCI-E转USB接口卡",将这个接口卡插到服务器,再配置PCI直通、再次映射给虚拟机,估计就可解决问题(后期进行实际测试)。
为了进行测试,我淘宝购买了一块(33元),昨天收到的货,准备过两天在DELL R730服务器上测试。如果你要购买,请选择自带电源供电的PCI-E接口卡(淘宝有一种4 USB接口的,需要外接供电线,是适合PC机用,不适合服务器用的)。
因为感觉单独买一块PCI-E接口卡不适合,同时一块买了3块PCI-E X1的2端口千兆网卡,每块86元。留做备用(我千兆网卡大约有20来块了,有PCI的、PCI-E X1、PCI-E X4的单口、双口千兆网卡,PCI-E接口的双端口千兆网卡都用上了)。
本来想买PCI-E X4的2端口千兆网卡,但看着价钱有点贵,就没买。对于我们做实验来说,PCI-E X1与PCI-E X4,都可以满足需求。下图是PCE-E X4接口的千兆网卡。
下面是PC机主机PCI-E接口的示意
PCI-E X1的网卡可以插在PCI-E X4、PCI-E X16的接口中。
另外,PCI-E X1的接口速度可以到2Gbps/s,2端口千兆网卡不存在瓶颈。
另外,因为经常帮别人恢复数据,一直使用DiskGenius免费版了,索性一块购买了Distributed的专业版,也是昨天一块收到的加密狗。以后就可以帮别人恢复RAID数据了。
我购买的是468元的专业版。DiskGenius许可非常"大气",正版用户免费升级不限时,购买专业版的用户同时还给一个序列号,可以安装3台机器。而配送的加密狗可以在多台机器使用。如果加密狗损坏,超过1年时间后可以以70元的成本换新的加密狗。
我在参加51CTO学院4周年最受欢迎讲师的活动,看完文章请顺手投我(王春海)一票,谢谢!投票链接:
http://edu.51cto.com/activityvote/voteLec
如果你觉得作者的文章写的不错,请通过"支付宝"或"微信"奖励作者一些银子~
不需要太多(0.1、1元、3元、5元就可),不奖励就请投票吧,谢谢!
本文出自 “王春海的博客” 博客,谢绝转载!
原文地址:http://wangchunhai.blog.51cto.com/225186/1942197