在虚拟机器上采用 Spice 及 LibVirt(CentOS-6.2 或以上)

<<TableOfContents: execution failed [Argument "maxdepth" must be an integer value, not "[1]"] (see also the log)>>

1. Spice 是什么

CentOS-6.2 引入一个新版的 LibVirt(0.9.4-23 版),它内置了对 Spice 的支持。

Spice 计划务求提供一个完全开源的方案来与虚拟桌面设备进行交互。Spice 现时专注为 QEMU 虚拟机器提供高质素的远程访问。它寄望通过克服传统桌面虚拟化的挑战及强调用户体验,能突破虚拟化被采纳的障碍。有见及此,Red Hat 引入了 Spice 主从系统间通讯用的 SPICE 远程运算协议。其它被开发的组件包括 QXL 显示设备及驱动程序等。

因此,Spice 是个强化、有助保持桌面体验的方法来连接到一台 QEMU 虚拟机器。它提供 VM 的音效、而且能以极少的带宽为 VM 带来高端图像。有关 Spice 的更多信息,请见 spice-space.org 网站。

2. 如何转换一台现有的 KVM 虚拟机器来应用 Spice

注:现时为止(截至 CentOS-6.2),只有 X86_64 结构可作为 KVM 虚拟机器的主机。这篇指引的对像是一台拥有 vmx(Intel 处理器)或 smx(AMD 处理器)处理器标志的 CentOS-6.2 x86_64 机器,而且已采用 VirtManager(或 virsh 命令行界面)的 VM 主机。

注:Spice 只供 KVM(而不是 Xen)虚拟机器应用。

2.1. 安装 Spice

1. 假若你有一台 KVM 虚拟机器现正采用 VNC 作为主控台(旧缺省值),把 libvirt 升级至 0.9.4-23(或更高)版本后,请在主机上安装以下 RPM:

yum install spice-server spice-client spice-protocol

在 CentOS 6.3 及以上版本,你可考虑安装 virt-viewer

2. 如果主机安装了完整的图像界面,你也许会想选择安装以下的 RPM:

yum install cairo-spice ffmpeg-spice-libs ngspice pixman-spice spice-glib spice-gtk spice-gtk-python spice-gtk-tools spice-xpi

2.2. 在一台现有的 KVM 虚拟机器上安装 Spice 显示器

1. 打开 VirtManager 并双重点击该 VM。改动只会在 VM 关闭时发生,因此请先关掉 VM 才作出改动。

2. 关掉机器后,采用 View 选单项目并选择 Details。在左栏,找出 Display VNC 硬件项目,选择它并点击划面右下方的 Remove 按钮。

3. 点击划面右下角的 Add Hardware 选项,然后选择 Graphics,并在缺省为 VNC Server 的 Type 下拉框选择 Spice Server,然后点击 Finish 按钮。

  1. 你亦可选用 Listen on all Public Interfaces 的选项。这个选项能让你在公众的 IP 地址上聆听,而不只在 127.0.0.1。如此你的 VM 便可供其它已安装 spice-client 的机器作为连接对像(如以下所示)。另一个选项可让你分派普通及安全连接的端口。常你从一个不安全的网线连接时,切记要设置密码及采用安全端口。

注:你必须删除 VNC Display然后再新增 Spice Display……你不能把 VNC Display 改为 Spice Display,因为这样并不会加入 spice 所需的额外设备。

4. 选择 Video 硬件设备,并在 Model 下拉框内选择 qxl 设备。按窗口右下方的 Apply 按钮。

5. 现在你应该可以启用让机器,而它会采用 spice 作为缺省的主控台连接。

6. 在某些(位于你的 VM 客端)操作系统上,你亦可安装一些图像驱动程序来获得更佳的图像性能。见 spice 的下戴页关于 qxl 的 Windows 驱动程序。

3. 通过客端连接到 Spice

1. 假如你在 VM 的主机上,你可通过 VirtManager 利用主控台,但你亦可利用一个远程客户端来连接到该台机器。

  1. 你可这样应用包含于 spice-client 内的 spicec

    spicec -h <host> -p <port_number> -w <password> (要是你采用安全端口,请以 -s <端口> 替换 -p …… -w <密码> 是选择性的)

    在 CentOS 6.3 及以上版本,你可利用以下指令来连接(须要 virt-viewer 组件):

    remote-viewer spice://<host>:<port_number>
  2. spice-gtk-tools 组件内含有 spicy。如果你执行 spicy,你可以输入主机名称、密码、及端口来连接到一台 spice 机器。

注:切记当你应用 spicec 或 spicy(或其它 spice 客户端)时,你在连接至 KVM 主机的端口及名称(或 IP 地址),而不是虚拟机器的名称/地址。

Translation of revision 6

zh/HowTos/Spice-libvirt (last edited 2019-12-09 09:11:38 by anonymous)