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