使用 SPICE 连接协议的虚拟机可以被配置为直接使用客户端系统上的 USB 设备。

    只有在虚拟机处于活跃的状态,并且正通过客户端使用时,客户端上的 USB 设备才可以被重定向到虚拟机上。每次当一个 USB 设备被插入到客户端时,USB 重定义功能可以被手工启动,或在 SPICE 客户端菜单中设置为自动重定向到活跃的虚拟机。

    请注意:“客户端系统(client machine)”和“虚拟客户端系统(guest machine)”之间的区别。客户端系统(在本文档中有时被简称为客户端)是指您用来访问虚拟机的硬件系统,而虚拟客户端系统(在本文档中有时被简称为虚拟机)就是通过用户门户所访问的虚拟机(虚拟桌面或虚拟服务器)。

一、在虚拟机上使用 USB 设备 - NATIVE 模式

USB 重定向 Native 模式允许 KVM/SPICE USB 设备被重定向到 Linux 或 Windows 虚拟机上。在使用 native USB 模式时,虚拟机并不需要安装客户端代理或驱动,而客户端所需要的所有软件包都会通过 Firefox 的 SPICE xpi 插件所提供(对于 Windows 客户端,USBClerk 软件包需要被安装)。Native USB 模式在以下的客户端和虚拟机上被支持:

  • 客户端
  • Red Hat Enterprise Linux 6.0 或更高版本
  • Red Hat Enterprise Linux 5.5 或更高版本
  • Windows XP
  • Windows 7
  • Windows 2008
  • Windows 2008 Server R2
  • 虚拟机
  • Red Hat Enterprise Linux 6.0 或更高版本
  • Red Hat Enterprise Linux 5.5 或更高版本
  • Windows XP
  • Windows 7
  • Windows 2008

注意

如果您使用 64 位的 PC,您必须使用 64 位版的 Internet Explorer 来安装 64 位的 USB 驱动程序。如果您在 64 位系统上安装了 32 位的驱动,USB 重定向功能将无法正常工作。只要您在原始安装 USB 驱动时使用了正确的版本,以后您就可以通过 32 或 64 位版本的浏览器来使用 USB 重定向功能。

二、使用 WINDOWS 客户端上的 USB 设备


如果需要把 Windows 客户端系统上的 USB 设备重定向到虚拟机上,您需要在 Windows 客户端上运行usbclerk 服务。您需要确定所使用的 usbclerk 版本与客户端系统的系统相匹配。例如,64 位版的usbclerk


过程 8.1. 使用 Windows 客户端上的 USB 设备

  1. 在 usbclerk 服务被安装并运行后,选择一个已经被配置为使用 SPICE
  2. 确定 USB 支持选项被设置为 Native:
  1. 点编辑按钮打开编辑虚拟机窗口。
  2. 点控制台标签页。
  3. 在 USB 支持下拉菜单中选 Native。
  4. 点确定。
  1. 在虚拟机上点鼠标右键,选编辑控制台选项打开控制台选项窗口,选启用 USB 自动共享。
  2. 启动虚拟机,点控制台按钮连接到虚拟机。当您在客户端系统上插入 USB

三、使用 RED HAT ENTERPRISE LINUX 客户端上的 USB 设备


usbredir 软件包会把 USB 从 Red Hat Enterprise Linux 客户端系统上重新定向到虚拟机上。usbredir 和spice-xpi


使用 Red Hat Enterprise Linux 客户端上的 USB 设备:

  1. 点虚拟机标签页,选择一个已经被配置为使用 SPICE
  2. 确定 USB 支持选项被设置为 Native:
  1. 点编辑打开编辑虚拟机窗口。
  2. 点控制台标签页。
  3. 在 USB 支持下拉菜单中选 Native。
  4. 点确定。
  1. 在虚拟机上点鼠标右键,选编辑控制台选项打开控制台选项窗口,选启用 USB 自动共享。
  2. 启动虚拟机,点控制台按钮连接到虚拟机。当您在客户端系统上插入 USB

四、在虚拟机上使用 USB 设置 - 老模式(LEGACY MODE)


USB 重定向的老模式可以启用在 Red Hat Enterprise Virtualization 3.0 中使用的 SPICE USB 重定向协议。老模式必须被手工安装。

老模式在以下的客户端和虚拟机上被支持:

  • 客户端
  • Red Hat Enterprise Linux 6.0 或更高版本
  • Red Hat Enterprise Linux 5.5 或更高版本
  • Windows XP
  • Windows 7
  • Windows 2008
  • 虚拟机
  • Windows XP
  • Windows 7

配置 Linux 客户端以老模式使用 USB 重定向功能

如果您通过 Red Hat Enterprise Linux 客户端系统连接到一个虚拟机,您需要先安装几个 SPICE 软件包后才可以在客户端和虚拟机间共享 USB 设备。


使用 Red Hat Enterprise Linux 客户端上的 USB 设备

  1. 在客户端上安装 SPICE 软件包
    在您的 Linux 客户端系统上安装以下软件包:
    这些软件包被 Content Delivery Network 所提供,它们包括在与您的 Red Hat Enterprise Linux 版本相对应的 Red Hat Enterprise Linux Supplementary Software 频道中。运行以下命令来安装这些软件包:# yum install spice-usb-share kmod-kspiceusb
  • spice-usb-share
  • kmod-kspiceusb-rhel60
    kmod-kspiceusb-rhel5u6

运行 SPICE USB 服务运行以下命令启动 spiceusbsrvd 服务,并加载 kspiceusb 模块:# service spiceusbsrvd start # modprobe kspiceusb在虚拟机上安装 RHEV-Tools找到包括 Guest Tools ISO 的 CD,运行 RHEV-ToolsSetup.exe。如果您没有包括 Guest Tools ISO 的 CD,请联系您的系统管理员。在这些工具程序被安装后,您将会被提示重新启动机器。打开防火墙端口允许在客户端系统和虚拟机间使用 TCP 端口 32023。启用 USB 自动共享在用户门户中选择虚拟机。确定您已经为虚拟机选择了“启用 SPICE USB 自动共享”选项。附加 USB 设备连接到您的虚拟机上。把虚拟机的 SPICE 控制台窗口变为当前的窗口后,在您的客户端系统上插入一个 USB 设备。这个 USB 设备会出现在您的虚拟机桌面上。图  列出连接的 USB 设备 - Linux 客户端

当您关闭了 SPICE 连接会话后,USB 设备将不会再被虚拟机共享。

配置一个 Windows 客户端通过老模式使用 USB 重定向功能

如果您从一个 Windows 客户端系统进行连接,并希望在虚拟机上使用 USB 设备,您需要启用 SPICE USB 重定向功能。

注意

请参阅 Red Hat Enterprise Virtualization Manager 发行注记 来获得与您的系统相关的频道名。


在 Windows 上启用 USB 重定向功能:

  1. 在客户端上安装 USB 重定向软件包
    在 Windows 客户端上安装 RHEV-USB-Client.exe。这个软件包由 Content Delivery Network 的 Red Hat Enterprise Virtualization Manager (v.3.5 x86_64) 频道所提供(在 Downloads 列表中)。
  2. 在虚拟机上安装 RHEV-Tools
    找到包括 Guest Tools ISO 的 CD,运行 RHEV-ToolsSetup.exe。如果您没有包括 Guest Tools ISO 的 CD,请联系您的系统管理员。在这些工具程序被安装后,您将会被提示重新启动机器。
  3. 打开防火墙端口
    允许在客户端系统和虚拟机间使用 TCP 端口 32023。
  4. 启用 USB 共享
    在用户门户中选择虚拟机。确定您已经为虚拟机选择了“启用 SPICE USB 共享”选项。
  5. 附加 USB 设备
    连接到您的虚拟机,为您的客户端添加一个 USB 设备。如果新添加的 USB 设备没有出现在虚拟机桌面上,在 SPICE 框上点鼠标右键,选择 USB Devices。从所显示的列表中选择您的设备。

    kvm usb映射到虚拟机 虚拟机如何映射usb口_操作系统


    图  连接的 USB 设备列表
    重要
    当一些 USB 设备被添加到 Windows 客户端系统时,autoplay 窗口会出现,客户端将完全控制新添加的设备,从而使它们无法被虚拟机使用。要避免这个问题的出现,在您的 Windows 客户端系统上禁用 USB autoplay 功能。
    注意
    您也可以在 Windows 客户端系统上定义额外的 USB 协议来允许使用或禁止使用特定的 USB 设备。如需更多信息,请参阅 Red Hat Enterprise Virtualization 管理指南中的与 USB Filter Editor 相关的章节。

五、配置 LINUX 客户端以老模式使用 USB 重定向功能


如果您通过 Red Hat Enterprise Linux 客户端系统连接到一个虚拟机,您需要先安装几个 SPICE 软件包后才可以在客户端和虚拟机间共享 USB 设备。


过程 8.5. 使用 Red Hat Enterprise Linux 客户端上的 USB 设备:

  1. 在客户端上安装 SPICE 软件包
    在您的 Linux 客户端系统上安装以下软件包:
    这些软件包被 Content Delivery Network 所提供,它们包括在与您的 Red Hat Enterprise Linux 版本相对应的 Red Hat Enterprise Linux Supplementary Software 频道中。运行以下命令来安装这些软件包:# yum install spice-usb-share kmod-kspiceusb
  • spice-usb-share
  • kmod-kspiceusb-rhel60
    kmod-kspiceusb-rhel5u6

运行 SPICE USB 服务运行以下命令启动 spiceusbsrvd 服务,并加载 kspiceusb 模块:# service spiceusbsrvd start # modprobe kspiceusb在虚拟机上安装 RHEV-Tools找到包括 Guest Tools ISO 的 CD,运行 RHEV-ToolsSetup.exe。如果您没有包括 Guest Tools ISO 的 CD,请联系您的系统管理员。在这些工具程序被安装后,您将会被提示重新启动机器。打开防火墙端口允许在客户端系统和虚拟机间使用 TCP 端口 32023。启用 USB 自动共享在用户门户中选择虚拟机。确定您已经为虚拟机选择了“启用 SPICE USB 自动共享”选项。附加 USB 设备连接到您的虚拟机上。把虚拟机的 SPICE 控制台窗口变为当前的窗口后,在您的客户端系统上插入一个 USB 设备。这个 USB 设备会出现在您的虚拟机桌面上。


当您关闭了 SPICE 连接会话后,USB 设备将不会再被虚拟机共享。

六、配置一个 WINDOWS 客户端通过老模式使用 USB 重定向功能


    如果您从一个 Windows 客户端系统进行连接,并希望在虚拟机上使用 USB 设备,您需要启用 SPICE USB 重定向功能。

注意

请参阅 Red Hat Enterprise Virtualization Manager发行注记来查阅您当前系统所需要的频道名。


在 Windows 上启用 USB 重定向功能:

  1. 在客户端上安装 USB 重定向软件包
    在 Windows 客户端上安装 RHEV-USB-Client.exe。这个软件包由 Content Delivery Network 的 Red Hat Enterprise Virtualization Manager (v.3.5 x86_64) 频道所提供(在 Downloads 列表中)。
  2. 在虚拟机上安装 RHEV-Tools
    找到包括 Guest Tools ISO 的 CD,运行 RHEV-ToolsSetup.exe。如果您没有包括 Guest Tools ISO 的 CD,请联系您的系统管理员。在这些工具程序被安装后,您将会被提示重新启动机器。
  3. 打开防火墙端口
    允许在客户端系统和虚拟机间使用 TCP 端口 32023。
  4. 启用 USB 共享
    在用户门户中选择虚拟机。确定您已经为虚拟机选择了“启用 SPICE USB 共享”选项。
  5. 附加 USB 设备
    连接到您的虚拟机,为您的客户端添加一个 USB 设备。如果新添加的 USB 设备没有出现在虚拟机桌面上,在 SPICE 框上点鼠标右键,选择 USB Devices。从所显示的列表中选择您的设备。

kvm usb映射到虚拟机 虚拟机如何映射usb口_操作系统_02

图 连接的 USB 设备列表

重要

当一些 USB 设备被添加到 Windows 客户端系统时,autoplay 窗口会出现,客户端将完全控制新添加的设备,从而使它们无法被虚拟机使用。要避免这个问题的出现,在您的 Windows 客户端系统上禁用 USB autoplay 功能。