APP下载

基于Docker容器的桌面即服务(DaaS)管理系统架构设计

2020-10-12任琰杰张越张岩郭小静孙海英

教育教学论坛 2020年38期
关键词:云计算虚拟化容器

任琰杰 张越 张岩 郭小静 孙海英

[摘 要] 桌面即服务(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

猜你喜欢

云计算虚拟化容器
Different Containers不同的容器
难以置信的事情
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
虚拟化技术在计算机技术创造中的应用
实验云:理论教学与实验教学深度融合的助推器
存储虚拟化还有优势吗?