【51CTO独家特稿】SPICE(独立计算环境简单协议)是红帽企业虚拟化桌面版的三大主要技术组件之一,具有自适应能力的远程提交协议,能够提供与物理桌面完全相同的最终用户体验。它包含有3个组件:
SPICE Driver :SPICE驱动器 存在于每个虚拟桌面内的组件;
SPICE Device:SPICE设备 存在于红帽企业虚拟化Hypervisor内的组件;
SPICE Client:SPICE客户端 存在于终端设备上的组件,可以是瘦客户机或专用的PC,用于接入每个虚拟桌面。
这三个组件协作运行,确定处理图形的最高效位置,以能够最大程度改善用户体验并降低系统负荷。如果客户机足够强大,SPICE向客户机发送图形命令,并在客户机中对图形进行处理,显著减轻服务器的负荷。另一方面,如果客户机不够强大,SPICE在主机处理图形,从CPU的角度讲,图形处理并不需要太多费用。图-1是 SPICE三个组件示意图 。
SPICE体系结构如图2 。
SPICE的工作原理是创建几个通用接口或“通道”,它们都高度抽象,所以能在各种平台上使用。通道主要包括六个:
每个通道可以是一个单独的数据流。SPICE协议原为Qumranet公司的主要产品SolidICE所使用,提供了和真实PC相同的用户体验,通过spice我们可以直接在虚拟机里播放高清视频和音频,这点是vnc不能比的 。两者对比如表-1 。
SPICE |
VNC |
|
BIOS屏幕显示 |
能 |
能 |
全彩支持 |
能 |
能 |
更改分辨率 |
能 |
能 |
多显示器 |
多显示器支持(高达4画面) |
只有一个屏幕 |
图像传输 |
图像和图形传输 |
图像传输 |
视频播放支持 |
GPU加速支持 |
不能 |
音频传输 |
双向语音可以控制 |
不能 |
鼠标控制 |
客户端服务器都可以控制 |
服务器端控制 |
USB传输 |
USB可以通过网络传输 |
不能 |
加密 |
通讯可以使用SSL进行加密 |
不能 |
Spice的未来的功能:
Linux下有三种方式配置SPICE服务器:命令行、virt-manager、直接修改配置文件。下面分别介绍。
CentOS 6、RHEL 6安装配置SPICE服务器的方法
这里是直接修改配置文件方式,首先安装软件包:
#yum -y install spice-server
首先建立一个普通名称是web的虚拟机,可以使用virt-manager虚拟机管理工具和命令行两种方法。
下面编辑虚拟机文件添加spice参数:
~# virsh edit webwww 93702ee2-f5fc-8e29-18f5-7098b7f1afa0 1048576 1048576 2 hvm destroy restart restart /usr/libexec/qemu-kvm # add
#add之后是需要添加的部分。然后保存文件。
启动虚拟机:
#virsh start web Domain web started
启动声音方法
修改配置文件,添加#add之后的内容:
virsh edit web # add following lines # for slot='xxxx', set an empty number
重启web虚拟机
# virsh start web Domain www started
Fedora 16安装配置SPICE服务器的方法
这里是使用命令行的方式,首先安装软件包:
#yum -y install spice-protocol spice-server xorg-x11-drv-qxl
这里使用命令行方式,下面是一个windows的例子
#virt-install \ -n windows \ -r 2048 \ -f /var/kvm/images/windows.img \ -s 50 \ --vcpus=2 \ --os-type windows \ --os-variant=win7 \ --network bridge=br0 \ --graphics spice,port=5930,listen=192.168.0.13,password=password \ --video qxl \ --channel spicevmc \ --cdrom /dev/cdrom
使用virt-manager配置Spice的方法
virt-manager是基于libvirt 的图像化虚拟机管理软件,请注意不同的发行版上 virt-manager的版本可能不同,图形界面和操作方法也可能不同。本文使用了 CentOS 6上的virt-manager。首先建立一个虚拟机,最后一步选择“在安装前自定义配置”选项提供一些高级自定义配置。
启动virt-manager打开你的虚拟机。单击虚拟硬件的详细信息。删除VNC。然后选择添加硬件新增一个图形设备,类型选择spice server,端口号可以在增加spice server的时候设置。如果选择自动分配,那么会从5900开始递增分配。
下面将原来视频中使用的虚拟显卡换成我们需要的视频卡QXL设备。点击视频并在型号下拉选择QXL类型。
这样启动虚拟机之后,就可以使用spice了。
Linux下使用SPICE客户机
#yum -y install spice-client
Linux 下使用spicec命令连接:
# /usr/libexec/spicec -h 192.168.0.13 -p 5930 -w password
-h 参数是kvm虚拟机ip地址
-p参数是kvm虚拟机端口
-w参数是密码
Windows下使用SPICE客户机
从http://www.spice-space.org/download.html下载两个文件:"spice-client-win32-0.6.3.zip" 和"spice_libs_win32_063_and_earlier.zip",然后解压缩。spicec.exe文件复制到spice_libs_win32_063_and_earlier\lib目录下,运行spicec.exe即可。