1. 安装必要的工具

sudo apt-get install build-essential autoconf git-core intltool

2. 安装必要的依赖包

sudo apt-get install libtool liblog4cpp5-dev libavcodec-dev libssl-dev xlibmesa-glu-dev libasound-dev libpng12-dev libfreetype6-dev libfontconfig1-dev libogg-dev libxrandr-dev libgcrypt-dev libsdl-dev libnss3-dev libpixman--dev libxfixes-dev libjpeg8-dev libsasl2-dev python-pyparsing gtk+-3.0 libusb-1.0- libusb-1.0--dev libgudev-1.0-dev libspice-client-gtk-3.0-dev 

3. 安装KVM和libvirt

  kvm是一套虚拟机管理系统,包括内核虚拟构架和处理器相关模块,其借用了 qemu 其它一些组件,kvm的非内核部分是由qemu实现的;加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有 KVM 模块是远远不够的,因为用户无法直接控制内核模块去做事情,还必须有一个用户空间的工具qemu-kvm:kvm是linux的一个模块,管理和创建完整的虚拟机需要相应的一些管理工具,由于kvm是在qemu的基础上开发的,KVM 使用了 QEMU 的基于 x86 的部分,并稍加改造,形成可控制 KVM 内核模块的用户空间工具QEMU-KVM。

  libvirt,virt-manager,virsh:由于qemu-kvm的效率及通用性问题,有组织开发了libvirt用于虚拟机的管理,带有一套基于文本的虚拟机的管理工具--virsh,以及一套用户渴望的图形界面管理工具--virt-manager。libvirt是用python语言写的通用的API,不仅可以管理KVM,也可用于管理XEN。libvirt官方文档

检查CPU的兼容性

egrep -c '(vmx|svm)' /proc/cpuinfo

安装KVM

sudo apt-get install kvm qemu-kvm ubuntu-vm-builder uml-utilities bridge-utils

检查KVM是否成功安装

sudo kvm-ok

安装libvirt需要的依赖包

sudo apt-get install libxml2 libxml2-dev libxml2-utils libxml++2.6- libxml++2.6-dev gnutls-bin libgnutls-dev libdevmapper libdevmapper-dev python-dev libnl-dev pkg-config autoconf libudev-dev libpciaccess-dev libhal-dev libpolkit-agent-- libpolkit-backend-- libpolkit-gobject-- libreadline-dev libyajl-dev libnuma-dev radvd libnetcf-dev libaudit-dev dwarves libapparmor-dev cgroup-bin

创建一个文件夹,用来存放下载的安装包

cd
mkdir spice-sources
cd spice-sources

下载libvirt:到 http://libvirt.org/sources/ 或者 http://libvirt.org/downloads.html 下载最新的.tar包。不建议使用git安装,容易出问题。

tar -xvzf libvirt-1.2..tar.gz
cd libvirt-1.2.
./autogen.sh
sudo ./configure --without-apparmor
// Libvirt在做某些事情的时候会被Apparmor阻挡,因此为了确保Libvirt始终有必须的权限,必须禁用apparmor
sudo make
sudo make install
cd .. // 或者执行下面的命令为libvirt禁用 apparmor,然后重启机器
sudo ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/
sudo ln -s /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.libvirtd
sudo apparmor_parser -R /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper

添加用户到libvirtd和kvm组

sudo adduser fuleying libvirtd
sudo adduser fuleying kvm
sudo groupadd libvirt   //添加libvirt用户组
sudo gpasswd -a root libvirt  //添加当前用户到libvirt组里
//重启之后才能用

启动时自动运行libvirtd 

sudo gedit /etc/rc.local
// 在exit 0之前添加
sudo libvirtd &

校验

virsh -c qemu:///system list    //检查libvirt是否可用
virsh version            //检查是否安装成功
ps -le|grep libvirt*        //检查是否启动
libvirtd -d             //启动libvirt进程

若有一下错误,系统无法找到指定的库,需要简单配置一下。可以直接在将自己的库所在路径添加到/etc/ld.so.conf文件中。缺少动态链接库修改方法

virsh: error while loading shared libraries: libvirt-lxc.so.: cannot open shared object file: No such file or directory
find -name libvirt-lxc.so.
#./spice-sources/libvirt-1.2./src/.libs/libvirt-lxc.so.
sudo gedit /etc/ld.so.conf //打开之后,添加
include /home/openstack/spice-sources/libvirt-1.2./src/.libs/
include /usr/local/lib
sudo ldconfig

4. 安装virt-manager

sudo apt-get install virt-manager virt-viewer virtinst

5. 安装libcacard

git clone git://people.freedesktop.org/~alon/libcacard
cd libcacard
./autogen.sh
sudo make
sudo make install
cd ..

6. 安装spice protocol的头文件

wget http://spice-space.org/download/releases/spice-protocol-0.12.6.tar.bz2
tar xjvf spice-protocol-0.12..tar.bz2
cd spice-protocol-0.12.
mkdir m4
./configure
sudo make
sudo make install
cd ..

7. 安装celt(0.5.1.3):不要安装最新版本的,最新版本的不支持,已经试过了。

wget http://downloads.us.xiph.org/releases/celt/celt-0.5.1.3.tar.gz
tar xvzf celt-0.5.1.3.tar.gz
cd celt-0.5.1.3/
./configure
sudo make
sudo make install
cd ..

8. 安装libusb,libusb 是一个用C语言开发的跨平台的USB设备访问接口库。

到 http://sourceforge.net/projects/libusb/ 下载最新的libusb-1.0.18.tar.bz2包,并解压

http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.18/libusb-1.0.18.tar.bz2
tar xjvf libusb-1.0..tar.bz2
cd libusb-1.0.
sudo ./configure
sudo make
sudo make install
cd ..

安装Usbredir

wget http://spice-space.org/download/usbredir/usbredir-0.6.tar.bz2
tar xjvf usbredir-0.6.tar.bz2
cd usbredir-0.6
sudo ./configure
sudo make
sudo make install

9. 安装Spice Server (32位系统只能安装SPICE 的客户端,下面的服务端是无法安装的!)

wget http://spice-space.org/download/releases/spice-0.12.4.tar.bz2
tar xjvf spice-0.12..tar.bz2
cd spice-0.12.
sudo ./configure --enable-smartcard --enable-client
sudo make
sudo make install
cd ..

10. 修改环境变量以至于让configure找到我们安装spice协议的函数库。

echo "export LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}" >> ~/.bashrc
source ~/.bashrc

11. 安装QEMU

qemu是另一套虚拟机管理系统,kqemu是qemu的加速器,可以认为是qemu的一个插件;qemu可以虚拟出不同架构的虚拟机,如在x86平台上可以虚拟出power机器。

wget http://wiki.qemu-project.org/download/qemu-2.0.0-rc3.tar.bz2
tar xjvf qemu-2.0.-rc3.tar.bz2
cd qemu-2.0.-rc3
sudo ./configure --enable-kvm --enable-spice --enable-system --enable-usb-redir --enable-libusb --audio-drv-list=alsa,oss --enable-user --enable-guest-agent --enable-linux-aio --enable-vde --enable-vhost-net
sudo make
sudo make install 或者
git clone git://git.qemu-project.org/qemu.git
cd qemu-2.0.-rc3
ls
sudo ./configure --enable-kvm --enable-spice --enable-system --enable-usb-redir --enable-libusb --audio-drv-list=alsa,oss --enable-user --enable-guest-agent --enable-linux-aio --enable-vde --enable-vhost-net
sudo make
sudo make install

12. 拷贝相关文件到QEMU 目录下让qemu启动虚拟机。(PS:如果之前已经安装QEMU,此步只需确认在/usr/share/qemu/目录下有以下两个文件即可,如果没有,那就得手动拷贝过去)

sudo cp pc-bios/vgabios-qxl.bin /usr/share/qemu/
sudo cp pc-bios/pxe-e1000.bin /usr/share/qemu/
cd ..

13. 以上将含有SPICE 服务的QEMU安装到usr/local/bin(PS:也可能在usr/bin下),普通 QEMU 系统安装在/usr/bin下。以下是创建一个名字叫做qemu-spice的工具,其实是qemu的一个拷贝。

cd /usr/local/bin
sudo mv qemu qemu-spice
sudo apt-get install qemu-kvm-spice
cd /usr/bin/
sudo rm kvm
sudo ln -s qemu-system-x86_64-spice kvm

至此,spice server安装完毕。

服务器端spice配置详解的更多相关文章

  1. Nginx+Tomcat的服务器端环境配置详解

    这篇文章主要介绍了Nginx+Tomcat的服务器端环境配置详解,包括Nginx与Tomcat的监控开启方法,需要的朋友可以参考下 Nginx+tomcat是目前主流的Javaweb架构,如何让ngi ...

  2. apache 虚拟主机详细配置:http.conf配置详解

    apache 虚拟主机详细配置:http.conf配置详解 Apache的配置文件http.conf参数含义详解 Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd. ...

  3. lvs keepalived 安装配置详解【转】

    lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...

  4. CentOS6.5下VNC Server远程桌面配置详解

    参考文献: (总结)CentOS Linux下VNC Server远程桌面配置详解 远程桌面连接工具VNC——license Key 我的下载地址为 太平洋下载 VNC连接黑屏的问题 centos 6 ...

  5. OpenVPN CentOS7 安装部署配置详解

    一 .概念相关 1.vpn 介绍 vpn 虚拟专用网络,是依靠isp和其他的nsp,在公共网络中建立专用的数据通信网络的技术.在vpn中任意两点之间的链接并没有传统的专网所需的端到端的物理链路,而是利 ...

  6. Tomcat 优化方案 和 配置详解(转)

    转自 Tomcat 优化方案 和 配置详解 http://201605130349.iteye.com/blog/2298985 Server.xml配置文件用于对整个容器进行相关的配置. <S ...

  7. Tomcat记录-tomcat常用配置详解和优化方法(转载)

    常用配置详解 1 目录结构 /bin:脚本文件目录. /common/lib:存放所有web项目都可以访问的公共jar包(使用Common类加载器加载). /conf:存放配置文件,最重要的是serv ...

  8. 2-4、nginx特性及基础概念-nginx web服务配置详解

    Nginx Nginx:engine X 调用了libevent:高性能的网络库 epoll():基于事件驱动event的网络库文件 Nginx的特性: 模块化设计.较好扩展性(不支持模块动态装卸载, ...

  9. Tomcat安装及配置详解

    Tomcat安装及配置详解   一,Tomcat简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Found ...

随机推荐

  1. CKEditor配置及使用

    注:使用CKEditor版本为js版本的CKEditor 4,所有配置均参考自CKEditor官方API:http://docs.ckeditor.com/,以及实践经验 一.快速使用 1.引入CKE ...

  2. css3 text-transform变形动画

    详细内容请点击 版本:CSS1 兼容性:IE4+ NS4+ 继承性:有 语法: text-transform : none | capitalize| uppercase| lowercase 参数: ...

  3. TransmitFile下载文件(部分转载)

    例子代码: public void Down() { TransmitFile(@"/File/KBPub.zip"); } public void TransmitFile(st ...

  4. jquery 常见问题--转载

    1 JQuery操作radio     1)获取按钮选中的值:$("input:radio:checked").val();     2)选中或者取消选中某个Radio的方法,可以 ...

  5. 【SNMP】Linux系统下安装net-snmp

    这里使用的snmp的版本是net-snmp-5.7.3下载地址:http://www.net-snmp.org/download.html 安装步骤: 1.解压缩安装包: tar -xzvf net- ...

  6. NSURLConnection、NSURLSession 补充

    一.大文件下载1.方案:利用NSURLConnection和它的代理方法1> 发送一个请求 // 1.URL NSURL *url = [NSURL URLWithString:@"h ...

  7. Java longTime 和C#日期转换(结构+运算符重载)

    前几天,因为工作原因,连到了公司的一个java系统.查看数据的时候,突然整个人都不好了,数据库中日期字段时间为毛都是整型?之前从来没有接触过java,所心就趁机了解了一下.原来,在数据库中,保存的是j ...

  8. 关于IIS中WEB网站访问弹“验证输入框”及“401限制访问”的解决办法

    最近在配置IIS网站的过程中,不管是本地还是外部访问配置的网站,出现了需要输入用户名.密码.及域的对话框,解决之后又出现页面401限制访问的错误页面. 就这两项错误,依次做一下解决办法的整理. 解决流 ...

  9. C# 线程--第一单线程基础

    概念 什么是进程? 当一个程序被打开运行时,它就是一个进程.在进程中包括线程,进程可以由一个或多个线程组成. 什么是线程? 线程是程序执行流的最小单元.一个标准的线程由线程ID,当前指令指针(PC), ...

  10. UI3_UIbarButtonItem

    // // AppDelegate.m // UI3_UIbarButtonItem // // Created by zhangxueming on 15/7/6. // Copyright (c) ...