服務器端spice配置詳解


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-1-dev libxfixes-dev libjpeg8-dev libsasl2-dev python-pyparsing gtk+-3.0 libusb-1.0-0 libusb-1.0-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-2 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-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 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.3.tar.gz
cd libvirt-1.2.3
./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

 添加用戶到libvirtdkvm

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.0: cannot open shared object file: No such file or directory
find -name libvirt-lxc.so.0
#./spice-sources/libvirt-1.2.3/src/.libs/libvirt-lxc.so.0
sudo gedit /etc/ld.so.conf    //打開之后,添加
include /home/openstack/spice-sources/libvirt-1.2.3/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.6.tar.bz2
cd spice-protocol-0.12.6
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.18.tar.bz2
cd libusb-1.0.18
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.4.tar.bz2
cd spice-0.12.4
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.0-rc3.tar.bz2
cd qemu-2.0.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.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安裝完畢。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM