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
添加用戶到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.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安裝完畢。