任琰杰 張越 張巖 郭小靜 孫海英


[摘 要] 桌面即服務(Desktop as a Service,DaaS)是一種新型云計算服務,把計算、存儲能力放置在自治、異構的云計算服務器端,為廣大客戶提供按需分配的虛擬桌面服務。該文提出基于Docker容器的桌面即服務(DaaS)虛擬化管理系統架構設計,專注于簡單、快速地實現虛擬桌面功能,包括虛擬桌面狀態管理、生命周期管理、連接管理、分配管理等等。該系統利用Docker容器技術一致的運行環境、輕易的遷移服務的特點,降低了服務器硬件要求和軟件配置之間耦合度,實現秒級啟動虛擬化管理系統,比使用其他解決方案更加靈活、高效。
[關鍵詞] Docker,容器,桌面即服務,虛擬化,云計算
[基金項目] 2019年度河北省高等學校科學技術研究重點項目“面向柔性云桌面的混合存儲模型研究與構建”(ZD2019123)
[作者簡介] 任琰杰(1985—),男,河北邢臺人,碩士,就職于河北機電職業技術學院現代教育技術中心;張 越(1991—),女,河北邢臺人,碩士,就職于河北機電職業技術學院現代教育技術中心;張 巖(1981—),男(滿族),河北邢臺人,碩士,就職于河北機電職業技術學院現代教育技術中心;郭小靜(1989—),女,河北邢臺人,碩士,就職于河北機電職業技術學院信息工程系;孫海英(1977—),女,河北邢臺人,就職于河北機電職業技術學院現代教育技術中心。
[中圖分類號] G642.0? ? [文獻標識碼] A? ? [文章編號] 1674-9324(2020)38-0373-03? ? [收稿日期] 2020-00-00
一、引言
根據國際電信聯盟介紹,在桌面即服務(Desktop as a Service,DaaS)架構中,有四個主要的功能模塊:連接管理中間件模塊、資源池化模塊、虛擬機基礎設施模塊、虛擬桌面傳送模塊[1]。其中連接管理中間件模塊具體實現形式,就是桌面即服務虛擬化管理系統。該系統位于桌面即服務服務器和客戶終端之間,連接虛擬桌面客戶和所訂的虛擬桌面。虛擬化管理系統對池化的軟硬件資源進行連接、協調、管理,為桌面即服務客戶訂閱的虛擬桌面分配虛擬機所需的硬、軟件資源,然后將虛擬機進行加載、啟動,確保客戶終端與虛擬桌面的對應關系及資源分配對應情況。桌面即服務虛擬化管理系統,提供了一個可視化界面以滿足系統后臺管理者的創建虛擬機、制作模板、調度資源和管理客戶等,例如客戶訪問虛擬桌面的權限、虛擬機的配置部署、監控虛擬機的活躍度、配置虛擬機和客戶終端的通信協議(例如SPICE)、會話狀態和日志管理等。
在現階段,桌面即服務虛擬化管理系統無論是采用C/S架構還是B/S架構都有其不足之處。傳統的C/S架構維護與升級成本大,且帶來系統資源浪費的情況。B/S架構系統往往需要在控制節點搭建程序運行環境、配置網絡服務器、初始化數據庫等諸多步驟,安裝和配置過程較為復雜和繁瑣。本文提出基于Docker容器的桌面即服務(DaaS)虛擬化管理系統架構設計,該系統利用Docker一致的運行環境的特點,降低了服務器硬件要求和應用配置環境之間耦合度,從而實現虛擬桌面的快速、簡單的部署效果,性能明顯優于C/S、B/S傳統架構方式。
二、桌面即服務虛擬化管理系統
桌面即服務虛擬化管理系統類似于虛擬桌面架構(Virtual Desktop Infrastructure,VDI)中的連接代理(Connection Broker)中間件,是一個處于核心地位的功能組件。它允許客戶通過瘦終端、軟件或移動設備,連接到服務器端的各種不同類型的虛擬桌面和軟件應用。包括的功能有:檢查客戶的連接憑證、將客戶分配到虛擬桌面、根據需要打開或關閉遠程桌面、使承載虛擬桌面的服務器負載均衡、管理桌面鏡像、將多媒體處理重定向到客戶端等一系列的重要功能。可以說,虛擬化管理系統在桌面即服務解決方案起到中樞作用。
1.虛擬桌面狀態管理。在虛擬化管理系統中,虛擬桌面狀態是最基本的管理功能。虛擬桌面狀態管理包括虛擬桌面啟停狀態管理與訂閱桌面即服務客戶登錄狀態的管理和跟蹤。
虛擬桌面啟停狀態的管理包括:啟動、關閉、重啟、重置虛擬桌面等等。同時,基于虛擬化的特點,還提供了PC所不具備的電源狀態控制管理操作——凍結和解凍。凍結是保存虛擬桌面當前的內存和磁盤狀態,但處于不可用狀態;解凍是客戶可以從虛擬桌面凍結點時的虛擬桌面環境下繼續使用[2]。
虛擬桌面客戶登錄狀態管理包括客戶斷開操作和注銷操作。對于斷開操作,客戶在當前虛擬機系統環境中發應用不會關閉、數據不會刪除,客戶重新連接虛擬桌面后會基于上次斷開時的虛擬機系統環境繼續使用;注銷操作和PC上的功能類似,客戶當前的虛擬機釋放所使用的資源,客戶再次登錄后系統會調用客戶和環境數據,并將數據加載到新建立的虛擬機中。虛擬化管理系統對客戶登錄狀態的跟蹤主要是研判活動狀態的虛擬機是否有客戶正在使用,是否可分配給有使用請求的客戶。
2.虛擬桌面生命周期管理。虛擬化管理系統對虛擬桌面的管理采用了“資源池”的理念,由具有類似系統環境和應用軟件的虛擬桌面集合構成了資源池[3]。在一個資源池中的虛擬桌面,均衍生自相同的虛擬桌面模板。虛擬機按照特殊系統環境和應用軟件需求創建并配置,就形成了虛擬桌面模板,可以創建有類似需求的虛擬桌面集合[4]。這些虛擬桌面,硬件配置上,CPU類型和數目、內存大小、硬盤類型和容量、網卡數目和網絡配置均相同;系統軟件配置上,操作系統和應用軟件初始配置也均相同。
虛擬桌面生命周期管理,是基于資源池對虛擬桌面進行創建、刪除等,還包括客戶匹配關系管理和虛擬桌面啟停狀態管理。在創建一個虛擬桌面資源池時,會設置一個初始容量值,這樣按照容量值就創建出了相同數量的虛擬桌面。當資源池中的虛擬桌面小于客戶請求的數量時,創建更多的虛擬桌面以滿足需要;當資源池中的虛擬桌面多于客戶的請求時,刪除虛擬桌面以節省資源。
3.虛擬桌面連接管理。虛擬桌面的連接管理對客戶體驗起決定性作用。桌面即服務處理的是來自因特網的連接請求。虛擬化管理系統在把客戶連接請求的終端重定向到匹配的虛擬桌面后,就退出連接交互過程。接下來,客戶終端可以直接和虛擬桌面通信。
虛擬化管理系統支持多種類型的連接協議。比較通用的連接協議包括RDP、ICA、PCoIP和SPICE。依據虛擬化方式和操作系統類型,客戶端匹配最佳的連接協議來控制虛擬桌面。
虛擬化管理系統基于集群中目前的網絡負載狀況和客戶連接數目,依據連接調度算法,把新的請求連接虛擬桌面指派到當前資源池中最佳的虛擬機實例上[2]。經過連接調度,整體優化了系統資源分配,防止虛擬化集群中某臺機器中網絡、存儲、計算負荷過高,但剩余的機器處于空閑的狀況,全面提升桌面即服務的客戶體驗。圖1展示了虛擬化管理系統對虛擬桌面連接的管理。
4.虛擬桌面分配管理。虛擬桌面的分配管理是把桌面即服務的客戶映射到其所需求的虛擬桌面上,在兩者之間建立起有效的對應關系。虛擬桌面的映射有多種類型,一般包括一對一映射,一對多映射和多對多映射[5]。
一對一映射:在本分配方案中,客戶和虛擬桌面的對應關系是固定的。當客戶斷開與虛擬桌面之間的連接,或執行注銷操作后,系統不會清除客戶的數據,也不會把對應的虛擬桌面重新收回并分配給其他客戶。在本分配方案中的虛擬桌面,被稱為持久桌面或靜態桌面。
多對多映射:在本分配方案中,客戶和虛擬桌面的對應關系沒有確定關系。相同使用需求的客戶形成一組,可以連接上述資源池中的任一虛擬桌面實例。當客戶組中某一客戶請求連接虛擬桌面時,虛擬化管理系統會依據客戶組與資源池之間的映射關系,在對應資源池中查找一個可用、待分配的虛擬桌面響應該客戶。當客戶在虛擬桌面注銷,或斷開與虛擬桌面之間的連接后,系統會立刻清除客戶的數據,虛擬桌面就釋放回資源池中,變成可用、待分配狀態。客戶再次請求連接虛擬桌面時,會重新在對應的資源池中連接一個可用、待分配的虛擬桌面。新使用的虛擬桌面也許是上次被釋放的,也許是一個新的。這種分配關系是多對多映射。在本分配方案中的虛擬桌面,被稱為非持久桌面或動態桌面。
一對多映射:本分配方案融合了一對一映射和多對多映射分配方案,客戶可以選擇動態虛擬桌面,也可以選擇靜態虛擬桌面,為客戶提供了靈活多變的虛擬桌面分配方式[2]。
三、基于Docker的架構研究
1.Docker容器簡介.容器技術是虛擬化技術發展的重要成果,Docker是一個開源、輕量級的應用容器引擎。Docker有“軟件產業的集裝箱”之稱,開發人員可以打包應用程序和依賴環境到一個可移植容器中,囊括了可運行程序、各種組件和依賴包、環境變量等,整個容器是一套完整的運行交付環境,發布到常用的Linux或Windows的服務器上。相比傳統虛擬化技術(如KVM之類),Docker最明顯的特點就是高效的資源利用、快速的啟動時間、一致的運行環境、輕松的遷移服務等,達到快速交付系統程序的目的。
2.Docker容器的特性:
(1)高效的資源利用.由于容器不需要單獨占用一部分內存和硬件空間,多個容器共享系統資源,Docker對系統資源的利用率更高。單臺服務器上可以構建10—100個容器,部署更多的應用程序。
(2)快速的啟動時間。部署在傳統的虛擬機的應用程序隨著啟動操作系統往往需要若干分鐘,而Docker應用程序,直接移植在操作系統內核之上,不用將操作系統全部啟動,因此啟動時間可以做到秒級、甚至毫秒級[6],省去了大量開發、測試、部署的時間。
(3)一致的運行環境。因為容器技術就想一個集裝箱一樣,提供了應用服務運行的最小化環境,將應用與其需要的環境一起打包成為鏡像,而Docker的鏡像提供了除內核外完整一致的運行環境,只需首次配置或創建,便可以發布和運行到任意系統中,對宿主硬件配置、操作系統版本和環境變量的差異是透明的。
(4)輕松的遷移服務。由于Docker有一致的運行環境的特點,幾乎可以運行在任意平臺上,無論是服務器、虛擬機、公有云、私有云,甚至是PC等,其運行結果是一致的[5]。所以很容易地將應用服務從一個平臺直接遷移到另一個平臺,不必擔心平臺不同導致應用服務不能正常使用。
四、基于Docker的桌面即服務虛擬化管理系統架構研究
本文中的桌面即服務虛擬化管理系統使用開源的IsardVDI工程,該工程由Python語言開發,數據庫使用Mysql,服務器采用Apache Tomcat。按照應用部署流程,在Ubuntu Server18.04操作系統上,首先安裝Docker服務,然后通過Docker服務器拉取數據庫、虛擬化、服務器鏡像,在此基礎上,開啟Docker容器,接著拉取IsardVDI項目鏡像,部署在Tomcat服務器上。部署完畢后,通過瀏覽器訪問虛擬化管理系統。
整個框架如圖2所示。
五、結語
本文設計了基于Docker容器的桌面即服務虛擬化管理系統架構,對池化的軟硬件資源進行連接、協調、管理,為客戶連接的虛擬桌面分配虛擬機所需的硬、軟件資源,然后將虛擬機進行加載、啟動,確保客戶終端與虛擬桌面的對應關系及資源分配對應情況。然后利用Docker的特性開發新架構平臺,為桌面即服務進一步架構升級提供了參考。下一步的研究工作為在桌面即服務平臺向IPv6協議升級的具體部署策略等。
參考文獻
[1]Duc Hung Luu.Deploying Building Information Modeling Software on Desktop as a Service Platform.Degree Programme in Computer,Communication and Information Sciences,School of SciencQe,Aalto University.
[2]張甦敏.未來課堂環境下的云桌面教學系統實現與應用研究[D].華東師范大學,2013.
[3]張國彬.虛擬網格環境中的動態桌面云技術研究與實現[D].南京航空航天大學,2014.
[4]桌面云中的Connection Broker.https://www.ibm.com/developerworks/cn/cloud/library/1112_zhuxy_connectionbroker/.
[5]李光達,等.本體映射規則研究[J].情報雜志,2012,(9):98-103.
[6]Docker—從入門到實踐.https://www.doc88.com/p-84187077910015.html
Architecture Design of Desktop as a Service (DaaS) Management System Based on Docker Container
REN Yan-jiea,ZHANG Yuea,ZHANG Yana,GUO Xiao-jingb,SUN Hai-yinga
(a.Modern Education Technology Center,b.Department of Information Engineering,Hebei Institute of Mechanical and Electrical Technology,Xingtai,Hebei 054000,China)
Abstract:Desktop as a Service (DaaS) is a new type of cloud computing Service,which places computing and storage capabilities on the autonomous and heterogeneous cloud computing server side,and provides virtual Desktop services to the majority of customers according to their needs.This paper proposes a Docker-container-based DaaS virtualization management system architecture design,focusing on the simple and rapid realization of virtual desktop functions,including virtual desktop state management,life cycle management,connection management,and allocation management.This system takes advantage of the consistent operating environment of Docker container technology and the characteristics of easy migration of services to reduce the coupling degree between server hardware requirements and software configuration,and realize the second-level startup virtualization management system,which is more flexible and efficient than other solutions.
Key words:Docker;container;desktop as a service;virtualization;cloud computing