支持硬件访问的虚拟机:USB 3(和 PCI)

支持硬件访问的虚拟机:USB 3(和 PCI)

我目前正在选择 VM 软件。

我需要在虚拟机 (Windows 8 64 位客户机,主机是 Windows 7 64 位) 中访问自定义 USB3 设备。据我所知,VMware 是 USB3 支持的最佳选择。这是真的吗?我还读到 USB 支持并非 100% 可靠 - 这也是真的吗?我应该期待什么?

或者,我还想使用 PCI 卡(实际上,用于从摄像机中获取视频)。据我所知,让 VM 访问 PCI 硬件是一项相当困难的任务。ESXi 和 XEN(均不是桌面虚拟化??)提供了基本支持,大多数 VM 软件根本不支持这一点。

你对这些主题有经验吗?USB2 和(主要是)USB3 是我的主要关注点,如果能有 PCI 访问就更好了。

语境:

我将使用这些虚拟机围绕专有 USB3 硬件开发应用程序。

(优点应该是能够快速地将系统带入完全不同的状态,在全新 Windows 安装上测试安装,此外,会有许多开发人员,但只有很少的硬件(原型),因此每个人都有自己的环境(至少是连续的)会很好,等等。)

答案1

如果你对以最大可预测性的方式通过设备感兴趣(即你想确保你正在开发的软件可以通过直通 USB3 连接运行完全一样(而不是依赖桌面虚拟机管理程序直通技术,以及主机操作系统驱动程序问题)使用桌面虚拟化解决方案可能不是最好的选择。ESXi、Xen 和 XenServer 都提供了比任何基于桌面的解决方案更低级和更可预测的硬件直通功能。这是有道理的,因为桌面解决方案往往关注最小化最终用户配置并仅使设备的某些功能正常运行。

如果在兼容硬件上运行,瘦虚拟机管理程序解决方案支持使用“设备直通”功能,该功能可用于通过以下方式将设备转发到虚拟机:IOMMU/VT-D 处理,也称为PCI 直通. 该设备将专用于该 VM(直到您将其分离)。

这意味着它起作用确切地就像直接连接一样。没有“假设”中间层,不需要主机兼容的驱动程序,也不需要虚拟机管理程序的每设备类型的资源共享策略:设备只是以原始方式传递给客户机。所有三个主要的瘦虚拟机管理程序也以类似的方式支持任意 USB 设备的直接直通(尽管这不需要支持 IOMMU/VT-D 的硬件)。与直通 PCI 设备不同,直通 USB 设备也可以热插拔。

使用精简虚拟机管理程序还可以让您获得以下好处:只需将要测试的设备的几个实例连接到一台服务器上,然后为每位开发人员提供该服务器上的虚拟机。当一位开发人员想要测试硬件时,他/她可以请求设备连接,管理员可以通过设备直通将 USB 设备连接到该开发人员的虚拟机,然后他们就可以通过远程桌面或类似方式访问他们的虚拟机。

然而,有几点需要注意:

首先:除了极少数兼容硬件外,通过显卡传输数据效果不佳(而且它大多只能在 XenServer 上可靠地运行 -就是这样, 和这是 HCL)。据我所知,这并不适用于您讨论过的视频采集卡。其次,直接连接 PCI 设备通常会阻止使用其他高级虚拟机管理程序技术(例如快照、迁移或其他 HA 功能)。第三:除了显卡问题外,ESXi 具有最强大且用户可配置的设备直通管理方法。你可以用 Xen 来实现(和使用 XenServer 手动),但不像你那么容易可以使用 ESXi第四:特定版本的 ESXi 对您可以传递的设备施加了限制。ESXi 5.0 几乎可以传递您提供的任何内容(即使会危及系统稳定性)。5.1 更加挑剔,并且经常会在没有充分理由的情况下禁用设备的传递。

答案2

VMware Workstation 9 支持 Windows 8 和 USB 3.0。我已成功将我的 Microsoft StudioCam 与 VM 配合使用,只需切换选项以连接到客户机(断开与主机的连接)。您可能会遇到 PCI 卡的问题,因此我建议您寻找 USB 替代解决方案来捕获反馈。

答案3

我有一台戴尔笔记本电脑,仅配备 usb3.0 端口。在运行 vmware 工作站 9.01.894247 时,我很难让 usb3 在这台机器上工作

如果您的机器使用英特尔 xchi USB 驱动程序,您也会受到影响。

其他人在这里遇到这个问题

上面的帖子中有很多类型的修复。对我有用的方法是从英特尔网站下载并运行“Intel_Chipset_7-Series_USB3_FJ3FJ_A03_SETUP_ZPE.exe”并安装它。每次我重新启动 Windows 7 时,我都必须重新安装它。有时当我重新启动虚拟机时,我必须重新安装它。这真的很麻烦,我希望 vmware 能尽快发布新的更新。

相关内容