使用spice連接kvm guest主機


spice技術已經出來很久了,其是優於VNC的一種遠程桌面協議,之所以這里記錄下,是由於某些加密視頻文件(如以vpy結尾的超時代視頻加密),會識別主機的特征嗎,一旦主機重啟后這些視頻又沒法查看了,所以就想到了在虛擬機中觀看視頻 。

一、spice簡介
spice(獨立計算環境簡單協議)是紅帽企業虛擬化桌面版的主要技術組件之一,具有自適應能力的遠程提交協議,能夠提供與物理桌面完全相同的最終用戶體驗。其包含三個組件。

SPICE Driver :SPICE驅動器 存在於每個虛擬桌面內的組件;

SPICE Device:SPICE設備 存在於紅帽企業虛擬化Hypervisor內的組件;

SPICE Client:SPICE客戶端 存在於終端設備上的組件,可以是瘦客戶機或專用的PC,用於接入每個虛擬桌面。

這三個組件協作運行,確定處理圖形的最高效位置,以能夠最大程度改善用戶體驗並降低系統負荷。如果客戶機足夠強大,SPICE向客戶機發送圖形命令,並在客戶機中對圖形進行處理,顯著減輕服務器的負荷。另一方面,如果客戶機不夠強大,SPICE在主機處理圖形,從CPU的角度講,圖形處理並不需要太多費用。

二、spice 軟件的安裝與連接
1、軟件安裝與kvm xml 文件配置
redhat/centos/fedora下可通過yum安裝

# yum install spice-protocol spice-client spice-server
在kvm虛擬機的xml 文件中可以通過增加如下內容進行支持:

# virsh edit rhca
//增加如下內容
<graphics type='spice' port='5930' autoport='no' listen='192.168.0.102 ' passwd='password'/>
<video>
<model type='qxl' vram='32768' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
需要啟用聲卡時,還需要在配置文件中增加如下內容:

<sound model='ac97'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</sound>
安裝時就啟用spice協議:

#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=5940,listen=192.168.0.110,password=password \
--video qxl \
--channel spicevmc \
--cdrom /dev/cdrom
注:默認虛擬機使用的顯卡是虛擬顯卡,而使用spice協議時可以將虛擬網卡更換為qxl 網卡,這會加快視頻傳輸的質量。

未使用virt進行管理的虛擬機,可以使用qemu 命令啟動時進行指定:

/usr/libexec/qemu-kvm -m 15000 -cpu Nehalem,+vmx \
-net nic,vlan=0,macaddr=52:54:00:12:34:22 \
-net tap,vlan=0,ifname=tap0 \
-smp 8,sockets=1,cores=8,threads=1 \
-drive file=/data/img/rhca/rhca.qcow2 \
-spice port=5930,disable-ticketing &
參數disable-ticketing的作用就是不使用密碼(空密碼)的方式連接。

2、spice連接
linux下的連接

連接guest的主機需要安裝spice-client

# yum -y install spice-client
# /usr/libexec/spicec -h 192.168.0.102 -p 5930 -w password
windows連接guest

windows下也需要安裝相當的客戶端軟件,具體可以到http://www.spice-space.org/download.html 頁面下載:

windows-spice

連接以后,還會在最近的連接里記錄,感覺還是比較人性化的:

spice

瀏覽器連接

瀏覽器連接需要在連接端安裝spice-xpi 瀏覽器插件,該插件支持firefox與Chromium瀏覽器,不過該插件目前僅支持linux系統。這個在后面的rh318 rhev紅帽虛擬化平台上就有體現。

三、spice、vnc與rdp協議的比較
spice、vnc、rdp是比較主流的遠程桌面連接協議。這里對三者做一個總結比較。可見spice還是相當優秀的。


SPICE VNC RDP
BIOS屏幕顯示 能 能 不能
全彩支持 能 能 能
更改分辨率 能 能 能
多顯示器 多顯示器支持(高達4畫面) 只有一個屏幕 多顯示器支持
圖像傳輸 圖像和圖形傳輸 圖像傳輸 圖像和圖形傳輸
視頻播放支持 GPU加速支持 不能 GPU加速支持
音頻傳輸 雙向語音可以控制 不能 雙向語音可以控制
鼠標控制 客戶端服務器都可以控制 服務器端控制 服務器端控制
USB傳輸 USB可以通過網絡傳輸 不能 USB可以通過網絡傳輸
所以當前的想法是對於加密單次授權的視頻文件,可以考慮在存放在kvm虛擬機里,妥善保存該虛擬機即可,不用擔心因主機重裝導致的視頻無法觀看的問題。

 


免責聲明!

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



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