楊飛+朱志祥+梁小江
摘 要:基于SPICE協(xié)議的虛擬桌面無法自動(dòng)完成USB重定向功能,提出了一種USB設(shè)備的自動(dòng)重定向?qū)崿F(xiàn)方法。該方法首先對(duì)遠(yuǎn)程服務(wù)器資源進(jìn)行虛擬化,以提高服務(wù)器的資源利用率,然后設(shè)計(jì)和實(shí)現(xiàn)基于SPICE協(xié)議的虛擬桌面客戶端,使用戶可以通過客戶端訪問遠(yuǎn)程虛擬資源池,在虛擬桌面的客戶端插入U(xiǎn)SB設(shè)備,然后自動(dòng)重定向到遠(yuǎn)程虛擬服務(wù)器,實(shí)現(xiàn)對(duì)遠(yuǎn)程服務(wù)器資源的管理和操作。經(jīng)過實(shí)驗(yàn)測(cè)試證明,本設(shè)計(jì)方法能夠?qū)崿F(xiàn)虛擬桌面的USB設(shè)備自動(dòng)重定向功能。
關(guān)鍵詞:SPICE協(xié)議;虛擬桌面;USB重定向;遠(yuǎn)程虛擬服務(wù)器
中圖分類號(hào):TP302.1 ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? 文章編號(hào):2095-1302(2015)09-00-02
0 ?引 ?言
隨著云計(jì)算和虛擬化技術(shù)的發(fā)展,虛擬桌面也不斷應(yīng)用到各行各業(yè)中。桌面虛擬化技術(shù)通過虛擬化技術(shù)和云計(jì)算技術(shù)相結(jié)合,將用戶桌面環(huán)境和計(jì)算環(huán)境分離,不僅可為用戶提供便捷的桌面辦公環(huán)境和較好的用戶體驗(yàn),還能將用戶的虛擬資源進(jìn)行集中化管理,提高遠(yuǎn)程服務(wù)器虛擬資源的利用率[1]。
基于SPICE協(xié)議的虛擬桌面不支持USB設(shè)備的自動(dòng)重定向,限制了用戶在客戶端對(duì)遠(yuǎn)程服務(wù)器資源的操作,包括數(shù)據(jù)的拷貝、上傳等功能。
本文基于OpenStack平臺(tái)設(shè)計(jì)和實(shí)現(xiàn)的遠(yuǎn)程虛擬資源服務(wù)器,然后設(shè)計(jì)和部署了基于SPICE協(xié)議的虛擬桌面客戶端,用戶通過客戶端靈活訪問遠(yuǎn)程服務(wù)器的虛擬資源集群[2]。用戶在客戶端插入U(xiǎn)SB設(shè)備,就可以對(duì)遠(yuǎn)程服務(wù)器資源池進(jìn)行訪問和控制。通過大量對(duì)比測(cè)試,本設(shè)計(jì)方案可以實(shí)現(xiàn)基于SPICE協(xié)議的虛擬桌面的USB設(shè)備自動(dòng)重定向功能。
1 ?虛擬桌面設(shè)計(jì)框架
基于SPICE協(xié)議的虛擬桌面是基于KVM虛擬機(jī)實(shí)現(xiàn)的,在SPICE框架中,VDI后端在QEMU中實(shí)現(xiàn),提供對(duì)虛擬設(shè)備的模擬,VDI前端在服務(wù)端中實(shí)現(xiàn),通過VDI接口與虛擬設(shè)備進(jìn)行交互[3]。
虛擬化技術(shù)能夠在一臺(tái)計(jì)算機(jī)上運(yùn)行多個(gè)操作系統(tǒng)[4],在每個(gè)操作系統(tǒng)上運(yùn)行自己獨(dú)立的應(yīng)用軟件,可以對(duì)這些系統(tǒng)進(jìn)行有效隔離,對(duì)資源進(jìn)行按需分配,從而保證每一個(gè)操作系統(tǒng)的安全性和性能。對(duì)服務(wù)器進(jìn)行擴(kuò)展,實(shí)現(xiàn)服務(wù)器的虛擬化[5]。
在OpenStack云平臺(tái)上構(gòu)建云桌面系統(tǒng)的服務(wù)端,采用OpenStack作為虛擬桌面的基礎(chǔ)服務(wù),在OpenStack中采用KVM虛擬化技術(shù),實(shí)現(xiàn)本地用戶對(duì)物理服務(wù)器的遠(yuǎn)程訪問,使用戶能夠共享相同的物理服務(wù)設(shè)備[6]。圖1為虛擬桌面的整體設(shè)計(jì)框架。
圖1 ?虛擬桌面整體設(shè)計(jì)框架
來自客戶端、臺(tái)式機(jī)、筆記本的用戶發(fā)出連接請(qǐng)求,通過對(duì)應(yīng)的SPICE服務(wù)連接云實(shí)驗(yàn)室的客戶端,客戶端首先向服務(wù)端建立一個(gè)主要接口的連接請(qǐng)求,創(chuàng)建工作線程并等待遠(yuǎn)程服務(wù)端的消息,云實(shí)驗(yàn)室服務(wù)端完成初始化后,客戶端繼續(xù)進(jìn)行后面的初始化工作[7]。
在虛擬桌面的服務(wù)端,能夠滿足用戶的多種資源申請(qǐng)需求,管理員能夠統(tǒng)一管理和分配虛擬資源。管理員根據(jù)用戶的請(qǐng)求分配虛擬機(jī)資源,在分配過程中附帶虛擬資源的地址和端口,方便客戶端用戶直接使用地址和端口登錄虛擬桌面[8]。圖2所示為服務(wù)器虛擬資源分布圖。
用戶在虛擬桌面的登陸界面中輸入在遠(yuǎn)程服務(wù)器中分配的地址和端口,即可進(jìn)入到遠(yuǎn)程服務(wù)器進(jìn)行虛擬桌面的操作和管理。認(rèn)證成功的用戶能訪問遠(yuǎn)程服務(wù)器的虛擬資源,保證整個(gè)虛擬桌面的安全。用戶通過虛擬桌面客戶端的用戶操作界面實(shí)現(xiàn)對(duì)遠(yuǎn)程服務(wù)器集群資源的訪問和操作[9]。圖3為虛擬桌面客戶端登錄界面。
圖2 ?服務(wù)器虛擬資源分布圖
圖3 ?虛擬桌面客戶端登錄界面
2 ?USB重定向?qū)崿F(xiàn)
針對(duì)基于SPICE協(xié)議的虛擬桌面無法自動(dòng)完成USB設(shè)備重定向功能,提出一種USB設(shè)備重定向?qū)崿F(xiàn)方法。首先設(shè)計(jì)和實(shí)現(xiàn)基于SPICE協(xié)議的虛擬桌面,通過客戶端用戶能夠訪問遠(yuǎn)程虛擬資源池,提高服務(wù)器的利用率[10]。用戶在終端設(shè)備插入優(yōu)盤,能夠自動(dòng)重定向到遠(yuǎn)程虛擬服務(wù)器,實(shí)現(xiàn)數(shù)據(jù)的管理操作。圖4所示為USB重定向設(shè)計(jì)框架。
圖4 ?USB重定向設(shè)計(jì)框架
首先在制作虛擬桌面客戶端的Fedora系統(tǒng)中,編譯安裝Usbredir軟件,它通過網(wǎng)絡(luò)連接發(fā)送USB設(shè)備流量的網(wǎng)絡(luò)協(xié)議,spice-gtk是為SPICE遠(yuǎn)程桌面服務(wù)提供數(shù)據(jù)庫(kù)和圖形工具包的軟件,在編譯安裝過程中,需要添加Usbredir功能,最后通過安裝和編譯virt-viewer,完成虛擬桌面的客戶端。
在服務(wù)器遠(yuǎn)程資源中,通過WDK軟件重新編譯libwdi、libusbk和libusb-win32-bin,產(chǎn)生libwdi.dll,將libwdi.dll文件拷貝到windows虛擬機(jī)中的c:\windows\system32位置。重新啟動(dòng)虛擬機(jī),使用虛擬機(jī)客戶端重新連接,插入U(xiǎn)SB設(shè)備后能實(shí)現(xiàn)自動(dòng)重定向到遠(yuǎn)程虛擬機(jī)。
3 ?測(cè)試
當(dāng)插入U(xiǎn)SB設(shè)備后,會(huì)自動(dòng)識(shí)別USB驅(qū)動(dòng),圖5為選擇USB設(shè)備。
圖5 ?選擇USB設(shè)備
選擇對(duì)應(yīng)的USB設(shè)備后,出現(xiàn)對(duì)應(yīng)的設(shè)備驅(qū)動(dòng)。圖6所示為USB設(shè)備驅(qū)動(dòng)界面,圖7為USB的磁盤管理界面。
圖6 ?USB設(shè)備驅(qū)動(dòng)
圖7 ?USB磁盤管理
4 ?結(jié) ?語
基于SPICE協(xié)議的虛擬桌面不能實(shí)現(xiàn)USB設(shè)備的重定向,用戶不能對(duì)遠(yuǎn)程服務(wù)器虛擬資源進(jìn)行復(fù)制粘貼等功能,影響用戶體驗(yàn)QoS。本文的設(shè)計(jì)方案能夠?qū)崿F(xiàn)USB設(shè)備的自動(dòng)重定向功能。
參考文獻(xiàn)
[1] 李博.基于SPICE協(xié)議的桌面虛擬化客戶端的設(shè)計(jì)與實(shí)現(xiàn)[D].廣州:華南理工大學(xué), 2012.
[2] 馬強(qiáng), 艾中良.面向云計(jì)算環(huán)境的訪問控制模型[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2012, 33(12):4487-4492.
[3] 張慶萍.虛擬桌面基礎(chǔ)架構(gòu)(VDI)安全研究[J].計(jì)算機(jī)安全, 2011 (4):72-74.
[4]江南, 俞高宇.桌面虛擬現(xiàn)實(shí)技術(shù)研究及其應(yīng)用[J]. 國(guó)土資源遙感, 2002, 14(3):37-40.
[5]王慶波. 虛擬化與云計(jì)算[M].北京:電子工業(yè)出版社, 2009.
[6] 張建勛,古志民,鄭超.云計(jì)算研究進(jìn)展綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2010, 27(2):429-433.
[7] 徐浩, 蘭雨晴. 基于SPICE協(xié)議的桌面虛擬化技術(shù)研究與改進(jìn)方案[J]. 計(jì)算機(jī)工程與科學(xué), 2013, 35(12):20-25.
[8] 鄢濤, 李丹. 虛擬云桌面技術(shù)的研究與實(shí)現(xiàn)[J]. 成都大學(xué)學(xué)報(bào)(自然科學(xué)版), 2013, 32(2):145-147.
[9] 王峰,江峰,李朝陽.虛擬桌面及關(guān)鍵技術(shù)分析[J].電信技術(shù), 2011 (1):.24-26.
[10] 賴孫榮. 虛擬桌面框架Spice剖析及其客戶端的設(shè)計(jì)與實(shí)現(xiàn)[D].廣州:華南理工大學(xué), 2012.