紅帽的虛擬桌面:手把手教你安裝配置SPICE服務(wù)
原創(chuàng)【51CTO獨家特稿】SPICE(獨立計算環(huán)境簡單協(xié)議)是紅帽企業(yè)虛擬化桌面版的三大主要技術(shù)組件之一,具有自適應(yīng)能力的遠程提交協(xié)議,能夠提供與物理桌面完全相同的最終用戶體驗。它包含有3個組件:
SPICE Driver :SPICE驅(qū)動器 存在于每個虛擬桌面內(nèi)的組件;
SPICE Device:SPICE設(shè)備 存在于紅帽企業(yè)虛擬化Hypervisor內(nèi)的組件;
SPICE Client:SPICE客戶端 存在于終端設(shè)備上的組件,可以是瘦客戶機或?qū)S玫腜C,用于接入每個虛擬桌面。
這三個組件協(xié)作運行,確定處理圖形的***效位置,以能夠***程度改善用戶體驗并降低系統(tǒng)負(fù)荷。如果客戶機足夠強大,SPICE向客戶機發(fā)送圖形命令,并在客戶機中對圖形進行處理,顯著減輕服務(wù)器的負(fù)荷。另一方面,如果客戶機不夠強大,SPICE在主機處理圖形,從CPU的角度講,圖形處理并不需要太多費用。圖-1是 SPICE三個組件示意圖 。
圖-1 SPICE三個組件
SPICE體系結(jié)構(gòu)如圖2 。
圖2 SPICE體系結(jié)構(gòu)
SPICE的工作原理是創(chuàng)建幾個通用接口或“通道”,它們都高度抽象,所以能在各種平臺上使用。通道主要包括六個:
- 主通道
- 顯示通道
- 輸入通道
- 鼠標(biāo)控制通道
- 播放通道
- 記錄通道
每個通道可以是一個單獨的數(shù)據(jù)流。SPICE協(xié)議原為Qumranet公司的主要產(chǎn)品SolidICE所使用,提供了和真實PC相同的用戶體驗,通過spice我們可以直接在虛擬機里播放高清視頻和音頻,這點是vnc不能比的 。兩者對比如表-1 。
|
SPICE |
VNC |
BIOS屏幕顯示 |
能 |
能 |
全彩支持 |
能 |
能 |
更改分辨率 |
能 |
能 |
多顯示器 |
多顯示器支持(高達4畫面) |
只有一個屏幕 |
圖像傳輸 |
圖像和圖形傳輸 |
圖像傳輸 |
視頻播放支持 |
GPU加速支持 |
不能 |
音頻傳輸 |
雙向語音可以控制 |
不能 |
鼠標(biāo)控制 |
客戶端服務(wù)器都可以控制 |
服務(wù)器端控制 |
USB傳輸 |
USB可以通過網(wǎng)絡(luò)傳輸 |
不能 |
加密 |
通訊可以使用SSL進行加密 |
不能 |
Spice的未來的功能:
- 直接借助對DirectX和API來實現(xiàn)一個虛擬視頻卡。加快CAD應(yīng)用和多媒體應(yīng)用。更快的切換與游戲畫面直接繪制過程減少閃爍。
- 視頻加速(DXVA)視頻播放應(yīng)用程序支持DXVA,如Windows媒體播放器,可以減少對客戶端的CPU利用率。
- 3D加速 會更快地運行在一個虛擬的桌面,如OpenGL和3D應(yīng)用程序,
- Windows Aero的支持,使用虛擬桌面時可以使用Windows Vista和7現(xiàn)在不可以。 可以動態(tài)地改變虛擬桌面分辨率。
- 兼容iPhone 和 ipad 通過智能手機,如iPhone 和 iPad等設(shè)備控制。
- 剪貼板共享你可以共享與虛擬桌面環(huán)境的剪貼板,數(shù)據(jù)將允許相互合作可用于無縫連接。
- 網(wǎng)絡(luò)打印機共享:打印機被允許從網(wǎng)絡(luò)訪問,提高可用性。
Linux下有三種方式配置SPICE服務(wù)器:命令行、virt-manager、直接修改配置文件。下面分別介紹。
CentOS 6、RHEL 6安裝配置SPICE服務(wù)器的方法
這里是直接修改配置文件方式,首先安裝軟件包:
#yum -y install spice-server
首先建立一個普通名稱是web的虛擬機,可以使用virt-manager虛擬機管理工具和命令行兩種方法。
下面編輯虛擬機文件添加spice參數(shù):
~# virsh edit web <domain type='kvm'> <name>www</name> <uuid>93702ee2-f5fc-8e29-18f5-7098b7f1afa0</uuid> <memory>1048576</memory> <currentMemory>1048576</currentMemory> <vcpu>2</vcpu> <os> <type arch='x86_64' machine='rhel6.0.0'>hvm</type> <boot dev='hd'/> </os> <features> <acpi/> <apic/> <pae/> </features> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/libexec/qemu-kvm</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> <source file='/var/kvm/images/www.img'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </disk> <interface type='bridge'> <mac address='52:54:00:bc:8f:f3'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </interface> <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target port='0'/> </console> <input type='tablet' bus='usb'/> # add <graphics type='spice' port='5930' autoport='no' listen='192.168.0.13 ' passwd='password'/> <video> <model type='qxl' vram='32768' heads='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </memballoon> </devices> </domain>
#add之后是需要添加的部分。然后保存文件。
啟動虛擬機:
#virsh start web Domain web started
啟動聲音方法
修改配置文件,添加#add之后的內(nèi)容:
virsh edit web # add following lines # for slot='xxxx', set an empty number <sound model='ac97'> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </sound>
重啟web虛擬機
# virsh start web Domain www started
Fedora 16安裝配置SPICE服務(wù)器的方法
這里是使用命令行的方式,首先安裝軟件包:
#yum -y install spice-protocol spice-server xorg-x11-drv-qxl
這里使用命令行方式,下面是一個windows的例子
#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=5930,listen=192.168.0.13,password=password \ --video qxl \ --channel spicevmc \ --cdrom /dev/cdrom
使用virt-manager配置Spice的方法
virt-manager是基于libvirt 的圖像化虛擬機管理軟件,請注意不同的發(fā)行版上 virt-manager的版本可能不同,圖形界面和操作方法也可能不同。本文使用了 CentOS 6上的virt-manager。首先建立一個虛擬機,***一步選擇“在安裝前自定義配置”選項提供一些高級自定義配置。
圖3 在安裝前自定義配置
啟動virt-manager打開你的虛擬機。單擊虛擬硬件的詳細(xì)信息。刪除VNC。然后選擇添加硬件新增一個圖形設(shè)備,類型選擇spice server,端口號可以在增加spice server的時候設(shè)置。如果選擇自動分配,那么會從5900開始遞增分配。
圖 4 改變VNC顯示模式修改為Spice
下面將原來視頻中使用的虛擬顯卡換成我們需要的視頻卡QXL設(shè)備。點擊視頻并在型號下拉選擇QXL類型。
這樣啟動虛擬機之后,就可以使用spice了。
Linux下使用SPICE客戶機
#yum -y install spice-client
Linux 下使用spicec命令連接:
# /usr/libexec/spicec -h 192.168.0.13 -p 5930 -w password
-h 參數(shù)是kvm虛擬機ip地址
-p參數(shù)是kvm虛擬機端口
-w參數(shù)是密碼
Windows下使用SPICE客戶機
從http://www.spice-space.org/download.html下載兩個文件:"spice-client-win32-0.6.3.zip" 和"spice_libs_win32_063_and_earlier.zip",然后解壓縮。spicec.exe文件復(fù)制到spice_libs_win32_063_and_earlier\lib目錄下,運行spicec.exe即可。
圖7spicec.exe工作界面
作者簡介:曹江華,1999年開始從事構(gòu)建網(wǎng)絡(luò)、管理維護、數(shù)據(jù)庫管理工作。1999年后開始接觸LINUX,將工作中的經(jīng)驗總結(jié)后已出版《Linux服務(wù)器安全策略詳解》,《Linux服務(wù)器安全策略詳解》(第二版),《Red Hat Enterprise Linux 5.0服務(wù)器構(gòu)建與故障排除》,《Linux系統(tǒng)***實踐工具:命令行技術(shù)》四本堪稱Linux系統(tǒng)管理員日常工具書的熱銷圖書,目前關(guān)注開放系統(tǒng)和網(wǎng)絡(luò)安全。
【編輯推薦】