一、使用VMDirectPath映射USB设备的前提条件
1、所使用的cpu和芯片组必须支持Intel的Directed I/O(vt-d)技术或者AMD的I/O Virtualization技术,仅支持cpu虚拟化是不行的
2、需要一块独立的USB扩展卡,VMDirectPath不支持映射主板集成的USB接口
二、使用的设备清单
Dell T110服务器:Xeon X3430 3420芯片组 4G内存 SAS6ir阵列卡 250G*2硬盘(SATA) Broadcom 5722
如果想使用VMDirectPath,购买设备前一定要确认一下cpu和芯片组是不是支持vt-d,不过即时支持vt-d也不一定肯定能成功,但是不支持肯定是没戏的
下边是我使用的cpu和芯片组的详细信息链接
cpu:http://ark.intel.com/Product.aspx?id=42927
芯片组:http://www.intel.com/products/server/chipsets/3400-3420/3400-3420-overview.htm
USB 扩展卡:syba SD-EN101-4E1I PCI-Express转USB 2.0扩展卡,使用的是PLX8111桥接芯片+NEC D720101
OA系统的USB加密狗:主要就是为了映射这个东西
三、安装设置
1、首先在bios里打开虚拟化支持,Dell T110默认是关闭的
2、开始安装ESXi 4.0,安装很顺利所有的硬件都能支持
3、用VShere Client连接ESXi服务器,选择Configuration-Advanced Setting就会看到VMDirectPath的设置界面,点击Configure Passthrough
如果硬件不支持或者bios中没有打开虚拟化支持这个选项是灰色的无法选择
勾选需要映射的设备
确认后提示需要重启
重启以后映射的设备上出现绿色的标志
编辑虚拟机的设置
点"Add…”添加一个新设备
选择"PCI Device”
选择需要映射的设备
完成
启动虚拟机,可以看到插在服务器上的USB设备已经成功映射到虚拟机(我插了一个U盘和一个USB加密狗)。
四、总结
1、映射的USB设备只能工作在1.1的速度下,我主要使用加密狗这个问题倒不是很大
2、只能映射扩展卡上的USB接口,服务器本地的USB接口不支持,不过据说4.1版本就可以支持映射本地USB接口了
3、兼容性似乎还不是很好,不是所有的服务器、扩展卡和USB设备都能很好的配合,不过总体讲Intel要比AMD成功率高
4、我使用过VMware Server 1.0的USB映射功能,不是很稳定,不过ESXi的VMDirectPath目前使用一周没有什么问题
5、虚拟机安装的时候需要选择Version 7的才能支持VMDirectPath
五、参考链接
http://www.vm-help.com/esx40i/VMDirectPath/USB_Setup.php
http://www.intel.com/technology/virtualization/technology.htm
已经过时了,ESXi 4.1已经支持映射本地usb