1台DELL R710服务器,安装了VMware ESXi 6.0系统,创建的Windows Server 2008 R2的虚拟机,在该服务器上插上财务软件加密狗后,修改虚拟机配置,添加USB控制器、添加USB设备时,找不到ESXi主机上的USB加密狗,这种情况怎么办?

对于不能被ESXi识别的USB加密狗,可以将主机的USB接口以"直连"方式映射到虚拟机中,供虚拟机使用。虽然ESXi不能识别USB端口上的加密狗,但直接将加密狗所在的USB接口以PCI设备的方式分配给虚拟机使用,就可以使用该USB接口上的加密狗。下面介绍解决的方法。

(1)进入BIOS设置,注意"启用I/O MMU virtualization (AMD-Vi 或 Intel VT-d)"为选中状态,否则"直通"功能将不能使用,如图2-7-59所示。

ESXi服务器不识别USB加密狗怎么办_第1张图片

图2-7-59 直通(说明,这是用的ASUS主板的截图,不是DELL服务器配置直通的截图)

(2)使用vSphere Client连接到ESXi主机,在"配置→高级设置"中,单击右侧的"编辑"按钮,如图2-7-60所示。

ESXi服务器不识别USB加密狗怎么办_第2张图片

图2-7-60 编辑

(3)在"将设备标记为可直通"对话框中,选择所有的 USB控制器(因为我们不清楚,这些USB端口与服务器机箱上USB端口的对应关系,所以开始全部选中),如图2-7-61所示。

ESXi服务器不识别USB加密狗怎么办_第3张图片

图2-7-61 将设备标记为可直通

(4)返回到vSphere Client,如图2-7-62所示。

ESXi服务器不识别USB加密狗怎么办_第4张图片

图2-7-62 添加USB直通

(5)将正在运行的虚拟机关机,然后重新启动ESXi主机。

(6)等服务器启动之后,再次进入"配置→硬件→高级设置"中,可以看到列表中每个设备可以通过该主机上的虚拟机直接访问,如图2-7-63所示。

ESXi服务器不识别USB加密狗怎么办_第5张图片

图2-7-63 DirectPath I/O配置

(7)关闭(想添加USB加密狗)虚拟机,修改虚拟机配置,单击"添加"按钮,如图2-7-64所示。

ESXi服务器不识别USB加密狗怎么办_第6张图片

图2-7-64 修改虚拟机配置

(8)在"设备类型"中选择"PCI设备",如图2-7-65所示。

ESXi服务器不识别USB加密狗怎么办_第7张图片

图2-7-65 添加 PCI设备

(9)在"选择PCI设备"下拉列表中,选择要连接的PCI设备,如图2-7-66所示。

ESXi服务器不识别USB加密狗怎么办_第8张图片

图2-7-66 可用于添加的PCI设备

(10)在"即将完成"对话框,单击"完成"按钮,如图2-7-67所示。

ESXi服务器不识别USB加密狗怎么办_第9张图片

图2-7-67 添加设备完成

(11)返回到虚拟机属性对话框,从清单中可以看到,已经添加了一个PCI设备,如图2-7-68所示。

ESXi服务器不识别USB加密狗怎么办_第10张图片

图2-7-68 添加了一个PCI设备

(12)因为我们不清楚PCI设备与USB端口的对应关系,在图2-7-68中,单击"添加"按钮,参照(9)~(11)步骤,添加3个PCI设备到虚拟机配置中。如图2-7-69所示。说明,每个PCI设备只能添加一次,并且只能添加给一个虚拟机。同一个PCI设备不能添加多次,也不能分配给多个虚拟机。或者说,这些PCI设备是"独占"式进行分配,不是"共享"式进行分配。添加设备完成后,单击"确定"按钮。

ESXi服务器不识别USB加密狗怎么办_第11张图片

图2-7-69 添加所有PCI设备

【说明】一共6个PCI设备,对应服务器上的4个USB接口(应该有2个USB接口在主板上,没有用数据线接出来)。为了更快区分这6个PCI设备与服务器上4个USB接口的对应关系,可以按照如下顺序:

(a)在USB加密狗插在服务器后面的USB接口上。

(b)修改虚拟机添加,添加4个PCI设备,开机,看添加的这4个PCI设备是否包括第(1)步中的USB端口。

如果包括,则关闭虚拟机,删除其中的2个PCI设备,再次开机。

如果包括,则关机,删除其中一个设备。

如果包括,则找到对应的PCI设备。

如果不包括,则关闭虚拟机,删除当前的PCI设备,添加剩余一个设备。

如果不包括,则关机,删除当前的2个PCI设备,添加原来删除的2个PCI设备中的一个,开机。

如果包括,则找到对应的PCI设备。

如果不包括,则关闭虚拟机,删除当前的PCI设备,添加剩余一个设备。

如果不包括,则关闭虚拟机,删除这4个PCI设备,添加剩余的1个PCI设备,再次开机。

如果包括,则找到对应的PCI设备。

如果不包括,则关闭虚拟机,删除当前的PCI设备,添加剩余一个设备。


(13)将USB加密狗插到机箱后面的一个USB接口,然后打开虚拟机电源,进入"设备管理器",在"通用串行总结控制器"中,可以看到添加的PCI设备(USB控制器),如图2-7-70所示。

ESXi服务器不识别USB加密狗怎么办_第12张图片

图2-7-70 添加的USB设备

(14)此时系统已经检测到加密狗,管理系统可用,如图2-7-71所示。

ESXi服务器不识别USB加密狗怎么办_第13张图片

图2-7-71 管理系统可用

当管理系统可用后,关闭虚拟机,删除2个PCI设备,再看USB加密狗是否可用。

如果不可用,请关闭虚拟机,删除当前的2个PCI设备,添加剩余的一个PCI设备。重新定位。

如果可用,请关闭虚拟机,删除其中一个PCI设备,检测剩余的一个PCI设备是否可用。

通过多次删除、添加,就可以找到当前USB加密狗对应的PCI设备编号,并且将其记录下来。这些不一一介绍。

【说明】这是即将出版的《VMware vSphere 6.5企业运维实战》一书第2章部分内容。本书大约2018年1~3月上市,敬请期待!