VMware ESXi USB直通技术详解:概念、原理与配置步骤
VMware ESXi USB直通技术详解:概念、原理与配置步骤
USB直通技术允许将物理USB设备直接连接到虚拟机,使虚拟机能够直接使用这些设备的硬件功能。本文将详细介绍VMware ESXi USB直通技术的概念、实现原理、配置步骤以及注意事项。
一、USB直通技术概述
在VMware ESXi主机中,可以通过设备直通将物理设备(如USB设备)直接透传给虚拟机。这样,虚拟机就可以直接使用这些设备的硬件功能,解决性能、硬件兼容性或特定需求的问题。
将USB设备直通到虚拟机的常见原因包括:
- 在虚拟机内使用物理USB设备读取或写入文件。
- 为虚拟机内的特定软件提供许可信息或加密狗(例如银行key或软件许可证密钥)。
- 某些工业控制、医疗设备或其他特定的硬件只支持通过USB接口与计算机通信。
- 许多企业级软件使用USB许可证狗(如硬件加密密钥)来验证软件的授权。
通过USB设备直通,虚拟机能够访问并使用物理USB设备,从而弥补虚拟化环境中硬件访问的不足。
二、USB直通技术实现原理
1. 仲裁器(Arbitrator)
仲裁器是管理连接请求并路由USB设备流量的组件。此组件默认安装在ESXi主机上并启用。此组件扫描USB设备,然后管理与虚拟机的设备连接。所有USB设备流量均正确路由到USB物理设备所连接的虚拟机。它还可以防止其他虚拟机在特定虚拟机正在使用USB设备时使用该设备。
2. 控制器(Controller)
控制器以硬件和软件形式存在。首先,ESXi主机本身必须具有物理USB硬件控制器才能实现USB连接和通信。虚拟USB控制器是物理控制器的虚拟化对应物,它将USB主机控制器功能虚拟化到虚拟机。每个虚拟机共有8个USB控制器可用。必须先在虚拟机上安装此控制器虚拟硬件组件,然后才能将USB设备从ESXi主机直通到虚拟机。
3. 物理USB设备(Physical USB Device)
USB直通必备的条件,您需要一个物理USB设备才能直通到虚拟机。最多可以将20个USB设备连接到单个虚拟机。这也是支持连接到单个ESXi主机的最大设备数量。
三、USB 3.0要求
vSphere 5.5 patch 3及更高版本引入了USB 3.0支持。除了长期存在的将USB设备从主机直通到客户机的功能外,对USB 3.0的支持还增加了将USB设备从客户端计算机直通到客户机虚拟机的功能。还有一个额外的虚拟机硬件要求。虚拟机必须配置xHCI控制器并使用Windows 8/Windows Server 2012及以上版本,或Linux内核2.6.35及以上版本的操作系统。
四、启用USB设备直通
首先打开ESXi或vCenter,右键编辑虚拟机的设置。选择添加新设备 > 主机USB设备。
选择直通到虚拟机的新主机USB设备。如果您连接了多个设备,这些设备将显示在下拉菜单中,并且已连接的设备将以红色突出显示,如下所示。
五、USB设备直通和vMotion
你可以将虚拟机vMotion到另一台主机。然后通过在新主机USB设备的设置中指定在设备连接时支持vMotion来配置。
为了实现这个目的:
- 按照以下方式配置vMotion设备
- 一旦虚拟机迁移到其他主机,任何暂停或关闭操作都将导致USB设备断开连接
- Linux可能会将USB设备重新挂载到文件系统上的其他位置
- 如果主机位于启用了DPM的DRS群集中,请为提供USB设备的特定主机禁用DPM
- 要远程访问USB设备,主机必须能够在虚拟机vMotion之后通过管理网络进行通信。此外,IP地址系列必须匹配。IPv4将无法与IPv6管理IP地址通信,等等。
只需在该设置的复选框中打勾即可,启用对USB直通设备的vMotion支持
常见限制
- 至少需要虚拟硬件版本7。
- 每种类型只能向虚拟机添加一个USB控制器。
- USB仲裁器最多可以监控15个USB控制器。如果您的系统包含超过15个控制器,并且您将USB设备连接到这些控制器,则这些设备无法传递到虚拟机。
- 您必须先将USB控制器添加到虚拟机,然后才能添加USB设备。
- 您必须先从虚拟机中移除所有USB设备,然后才能移除控制器。
USB设备限制
- 一个虚拟机最多可以连接20个USB设备,但是每个唯一的USB设备一次只能连接到一个虚拟机。
- 不受支持的USB设备可能无法按预期与其他ESXi/ESX功能交互。有关受支持的USB设备的列表,请参见支持从ESX或ESXi主机到虚拟机的直通的USB设备型号(1021345)。
- 热添加内存、CPU或PCI设备之前,必须移除所有USB设备。热添加这些资源会断开USB设备连接,从而可能导致数据丢失。
- 当您暂停和恢复虚拟机时,USB设备的行为就像已断开连接然后重新连接一样。
- 虚拟机无法从连接的USB设备启动。