本文按Guest OS, VMM Host, Client三個層次,分別總結Qemu+KVM+Spice虛擬化組件
1. Guest OS:
(1).Virtio Driver
(2). QXL: 配合Spice的顯卡驅動
Linux採x.org QXL video driver : http://xorg.freedesktop.org/releases/individual/driver/xf86-video-qxl-0.1.4.tar.bz2
Win7 及以前版本採用xddm 顯卡驅動:git clone git://git.freedesktop.org/git/spice/win32/qxl
win8及以後版本採用wddm顯卡驅動:https://github.com/vrozenfe/qxl-dod
msdn for video driver: https://msdn.microsoft.com/en-us/library/windows/hardware/ff569513(v=vs.85).aspx
(3). VD Agent
Linux:git clone git://git.freedesktop.org/git/spice/linux/vd_agent
Win:git clone git://git.freedesktop.org/git/spice/win32/vd_agent
2. Linux VMM內核態:
(1) X86 相關 linux kernel/arch/x86/kvm
(2) kernel 部分: linux kernel/virt
(3) VT-D
IOMMU: linux kernel/driver/iommu
(4) Cgroup
3. Linux VMM 用戶態:
(1) Qemu:git clone git://git.qemu-project.org/qemu.git
(2) CGroup: libcgroup
(3) Spice
Server http://www.spice-space.org/download/releases/spice-0.12.5.tar.bz2
protocol: http://www.spice-space.org/download/releases/spice-protocol-0.12.10.tar.bz2
usbredir(用於usb重定向功能): http://www.spice-space.org/page/UsbRedir
下面是qemu的一個使用spice示例(含vgagent, qxl, usbredir, ac97):
qemu-system-x86_64 /mnt/ubuntu1.img -smp 2 -m 1024 -spice port=5930,disable-ticketing -vga qxl -device AC97 -device ich9-usb-ehci1,id=usb -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,multifunction=on -device ich9-usb-uhci2,masterbus=usb.0,firstport=2
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4 -chardev spicevmc,name=usbredir,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1 -chardev spicevmc,name=usbredir,id=usbredirchardev2 -device usb-redir,chardev=usbredirchardev2,id=usbredirdev2
-chardev spicevmc,name=usbredir,id=usbredirchardev3 -device usb-redir,chardev=usbredirchardev3,id=usbredirdev3 -device virtio-serial-pci -device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 -chardev spicevmc,id=spicechannel0,name=vdagent
(4) LibVirtd
libvritd是libvirt的守護程序:
git clone git://libvirt.org/libvirt.git
3.客戶端
(1) spice client
http://www.spice-space.org/download/gtk/spice-gtk-0.30.tar.bz2
(2) Windows USB Redir Driver:
http://www.spice-space.org/download/windows/usbdk/spice-usbdk-win-1.0-6-sources.zip
(3) virsh爲libvirt的一個tool
4.推薦博客:
http://blog.csdn.net/hbsong75/article/category/1469881
http://blog.csdn.net/ustc_dylan/article/details/19009347
http://blog.csdn.net/dapao123456789/article/category/2197933