虚拟机可瞬时开启的私有桌面云架构

时间:2022-10-20 06:54:22

摘要:私有桌面云被广泛应用在集中计算、集中管理、远程办公等场景中。现有的私有桌面云多基于OpenStack云操作系统搭建,然而,该操作系统在使用时会出现虚拟机开启时间过长导致用户等待的问题,无法满足某些应用的高实时性要求。对此,使用模板镜像策略和网络连接存储策略作为云存储层解决方案,提出一种虚拟机可瞬时开启(ISVM)的私有桌面云架构。ISVM桌面云架构包括云管理层、云存储层、云服务层。经过测试和分析发现,ISVM私有桌面云架构的虚拟机开启时间约为OpenStack云平台虚拟机开启时间的1/100,达到了毫秒数量级,能够满足应用的实时性要求。

关键词:桌面云;OpenStack;云架构;瞬时开启虚拟机;存储

中图分类号: TP311.5

文献标志码:A

0引言

随着网络的发展和虚拟化技术的逐渐成熟,云计算广受关注。作为云计算的典型应用之一,桌面云可以实现通过网络访问跨平台的应用程序以及整个客户端桌面,被广泛应用在桌面信息安全、集中管理、远程办公等各种应用场景中。

目前,大多数企业使用OpenStack[1]云操作系统来搭建私有桌面云平台。林利等[2]指出越来越多的企业开始使用OpenStack来建立云基础设施环境;Kumar等[3]也指出OpenStack作为云提供商的重要性,说明OpenStack是企业级公有云的最佳解决方案;赵少卡等[4]使用OpenStack实现一个可对云资源进行综合管理的清华云平台;李小宁等[5]分析了使用OpenStack构建私有云平台过程中出现的问题和解决方案;Girish等[6]使用OpenStack实现了一个能够提供基础设施即服务(Infrastructure as a Service, IaaS)

和平台即服务(Platform as a Service, PaaS)服务的私有云平台;Zhang等[7]使用OpenStack设计并实现了一个IaaS系统。可见,OpenStack已经得到了广泛的应用。然而,作为企业级公用云操作系统,OpenStack在开启虚拟机时,需要首先将虚拟机镜像下载到相应计算节点,从而使得虚拟机开启时间过长,导致用户等待,无法满足私有桌面云应用场景的高实时性要求。

针对这个问题,本文提出了一种使用模板镜像策略和网络连接存储策略作为云存储层解决方案的、具有虚拟机瞬间开启(InstantStart Virtual Machine, ISVM)特点的私有桌面云架构。ISVM私有桌面云架构包含3个层次:1)云管理层,主要负责对私有桌面云进行管理;2)云服务层,主要负责为私有桌面云中的虚拟机提供运行环境;3)云存储层,

主要负责存储私有桌面云中的虚拟机镜像。其中,云存储层使用了模板镜像策略和网络连接存储策,通过模板镜像策略和网络连接存储策略,避免了OpenStack中的镜像下载,从而避免了虚拟机启动时大量的数据拷贝操作,缩短了虚拟机启动和用户等待时间。通过对ISVM私有桌面云架构各个模块硬件配置和应用场景的分析,发现其满足私有桌面云应用场景的高实时性要求,适合应用于私有桌面云应用场景。

OpenStack包含了一组由社区维护的开源项目,它们分别是OpenStackCompute (Nova)、OpenStackObjectStroage (Swift)、OpenStackImageService (Glance)。其中:OpenStackCompute用于对整个OpenStack云操作系统进行管理;OpenStackObjcetStroage用于为应用提供基于云的弹性存储;OpenStackImageService用于存储云操作系统中的虚拟机镜像。

私有桌面云平台是一种对实时性要求很高的云平台,常用于桌面信息安全、集中管理、远程办公等应用场景中。由于缺乏专门的云操作系统,现有多数私有桌面云平台都是基于OpenStack搭建的。然而,在使用基于OpenStack云操作系统搭建的私有桌面云平台的过程中,出现了虚拟机开启时间长导致用户难以忍受的问题。针对不同类型的操作系统的虚拟机镜像,分别多次测试了它们在OpenStack中的启动时间并计算平均值。测试过程中使用的电脑的硬件为目前主流的配置(2核CPU,8GB内存,SATA机械硬盘)。其中为了准确模拟网络特性,测试环境的网络带宽为不小于1000Mb/s。虚拟机镜像的基本信息和实验结果如图2所示(Windows 7、ubuntu12.04LTS、Windows XP、ubuntu14.04LTS的镜像文件大小分别为13534MB、3779MB、5028MB、6058MB,测试环境的网络带宽小于1000Mb/s)。从实验结果可知,Windows 7虚拟机的多次平均开启时间竟然达到了90.2s(约1.5min),如此长时间的等待对于很多实际应用是无法接受的。

分析OpenStack云操作系统的虚拟机的启动流程发现,每次开启虚拟机,OpenStack云操作系统都会将虚拟机对应的虚拟机镜像从Glance节点下载到相应的Nova节点上,如图3所示。由于私有桌面云平台中虚拟机镜像文件很大,通常是GB级别,因此下载过程需要很长的时间,这就导致虚拟机开启时间长,造成用户等待这个问题的出现。

为了避免下载机制造成的虚拟机开启时间长的问题,提出了ISVM私有桌面云架构,并在ISVM私有桌面云架构的云存储层使用了模板镜像策略和网络连接存储策略,实现了虚拟机的瞬时开启。下面具体介绍ISVM架构的设计。

2ISVM私有桌面云架构

为了实现瞬时开启虚拟机,提出了ISVM私有桌面云架构,如图4所示。ISVM私有桌面云架构包含3个层次,自上而下分别是云管理层、云服务层和云存储层。

在ISVM私有桌面云架构中,将虚拟机镜像分为模板镜像和普通镜像两种类型: 模板镜像用于克隆产生普通镜像,其文件内容不可更改,因此是无法启动的; 普通镜像克隆自模板镜像,其文件内容是可以改变的,因此是可以启动的。

云管理层主要负责对私有桌面云进行管理,它由资源池、连接池、镜像管理、宿主机集群管理、虚拟机调度和桌面云管理6个模块组成。其中: 资源池用于整合宿主机集群的物理资源,进而为虚拟机调度提供支持; 连接池中维护固定数量的可以和宿主机节点进行通信的常连接; 镜像管理用于向云存储层中增加模板镜像或者删除虚拟机镜像或者根据模板镜像克隆产生普通镜像; 宿主机集群管理对宿主机集群中的宿主机节点进行心跳检测,以保证宿主机节点可用; 虚拟机调度根据资源池的情况,将需要开启的虚拟机调度到合适的宿主机节点上。桌面云管理提供各种管理桌面云平台的编程接口。云管理层通过虚拟机管理程序接口管理运行在云服务层的虚拟机,通过存储客户端操作云存储层中的虚拟机镜像。

云服务层主要负责为私有桌面云中的虚拟机提供运行环境,它是一个宿主机集群,由众多的宿主机节点组成。宿主机节点的数量根据ISVM私有桌面云运行虚拟机的数量来决定,可以动态调整。云服务层的每个宿主机节点使用存储客户端操作云存储层中的普通镜像,通过虚拟机管理程序接口对云管理层提供服务。

云存储层主要负责存储私有桌面云中的虚拟机镜像,它是一个分布式文件系统,由众多服务器节点组成。服务器节点的数量可以根据虚拟机镜像文件的数量和大小动态调整。云存储层用于存储ISVM私有桌面云平台中所有的虚拟机镜像,云管理层通过网络操作云存储层中的虚拟机镜像,云服务层通过网络操作云存储层中的普通镜像。

3云存储层解决方案

3.1模板镜像策略

依据虚拟机操作系统,那些具有相同操作系统的私有桌面云平台中的虚拟机镜像通常只有应用软件的环境存在略微差别。例如,所有安装Windows 7操作系统的电脑系统软件部分都相同,差别仅在应用程序部分,平均相似比例高达95%。

基于这个现象,本文提出一种模板镜像策略,以避免克隆产生虚拟机镜像时不必要的数据克隆。在各个类中,选取不安装任何应用软件的裸操作系统的虚拟机镜像作为模板镜像(即一级模板镜像),该类的其他虚拟机镜像(即普通镜像)都衍生自该模板镜像,如图5(a)所示。由一级模板镜像克隆产生的虚拟机镜像也可以作为模板镜像(即二级模板镜像),继续克隆产生虚拟机镜像(普通镜像),如图5(b)所示。图5中列举的仅仅是两种常见的衍生类型。在实际使用过程中,可以根据具体情况克隆产生多级镜像。

使用上面提出的模板镜像策略,创建虚拟机镜像实际仅仅需要创建一个普通镜像,并指定该普通镜像对应的模板镜像。在对该普通镜像进行操作时,如果进行读操作,则直接读取该普通镜像对应的模板镜像;如果进行写操作,则在该普通镜像中直接写下其相对模板镜像不一致的内容。这就使得由模板镜像克隆产生普通镜像的过程可以在瞬间完成,即云管理层可以瞬间克隆产生普通镜像。

3.2网络连接存储策略

为了避免开启虚拟机时下载其对应的普通镜像,ISVM私有桌面云架构在模板镜像策略的基础上采用了网络连接存储策略。将云存储层通过网络挂载到云管理层和云服务层,通过网络直接操作该虚拟机镜像,避免下载虚拟机镜像,如图6所示。

ISVM私有桌面云架构不仅能够提供虚拟机瞬时启动,还能够提供瞬时管理,特别是瞬时克隆。通过云管理层可以在云存储层中创建虚拟机镜像。由于使用了模板镜像策略,创建虚拟机镜像实际上就是克隆产生普通镜像,也就是在云存储层中创建一个指定模板镜像的空文件,因此可以瞬时完成。由于云服务层通过网络直接操作云存储层中的普通镜像,而不需要将虚拟机镜像下载到对应的宿主机节点上。这样的策略使得在云管理层瞬时克隆产生普通镜像之后,可以瞬间开启该普通镜像对应的虚拟机。ISVM私有桌面云架构的云存储层解决方案彻底解决了OpenStack中因为下载虚拟机镜像导致的开启虚拟机时间较长的问题。

4ISVM私有桌面云分析

4.1ISVM私有桌面云架构实现分析

本节针对ISVM私有桌面云架构实现所需要的硬件平台进行分析。

ISVM私有桌面云架构的云存储层使用网络分布式文件系统。分布式文件系统,如MooseFS[8]文件系统,多采用主从结构:主节点用于控制外部客户机的访问,因此对处理器性能要求高;从节点用于存储私有桌面云中的虚拟机镜像,因此对存储容量和存储性能要求高。在实际运行过程中,云存储层需要承受云服务层的宿主机节点的并发访问,因此云存储层的服务器节点网卡性能要好。

ISVM私有桌面云架构的云服务层为整个桌面云架构提供虚拟化解决方案。它是一个宿主机集群,集群中的所有宿主机节点都需要支持虚拟化技术[9]。实现虚拟化的技术可以有很多选择,推荐使用开源的虚拟化技术。由于云服务层的虚拟机需要通过网络操作云存储层的虚拟机镜像,因此云服务层的宿主机节点网卡性能要好。

ISVM私有桌面云架构的云管理层是一个Web应用程序,它需要实现桌面云架构中6个基础模块的功能。云管理层由Web服务器和数据库服务器组成,Web服务器接受大量的用户请求,因此对处理器性能要求高。数据库服务器接受Web服务器的数据请求,因此对处理器性能要求高。

由于ISVM私有桌面云架构的云存储层使用了模板镜像策略和网络连接存储策略,因此按照ISVM私有桌面云架构搭建私有桌面云平台时,对桌面云平台内部的网络环境要求高。所有服务器节点的网卡速度要不小于100Mb/s,核心交换机的LAN(Local Area Network)口要不小于1000Mb/s,双绞线的速度要不小于100Mb/s。

4.2 ISVM私有桌面云架构优势分析

本节就若干常见应用场景下ISVM私有桌面云架构的优势进行分析。

4.2.1桌面信息安全

安全成为云计算领域亟待突破的重要问题,其重要性和紧迫性已经不同忽视[10]。私有桌面云作为云计算的典型应用之一,其安全性也相当重要。

在ISVM私有桌面云架构中,所有使用者的虚拟机镜像都存储在云存储层。云存储层运行在局域网内部,并且只有云服务层和云管理层能对其中的虚拟机镜像进行操作,而且由于用户看到的桌面只是通过网络传递的最终桌面图像,所有的数据和计算都发生在桌面云平台中,因此机密数据和信息不需要通过外部网络传递,这在很大程度上保证了桌面信息的安全性。

4.2.2虚拟机瞬时启动

随着企业信息化的深入,越来越多的业务都在个人计算机上进行,但是基于OpenStack搭建的私有桌面云,开启虚拟机时间较长,无法提供良好的用户体验。

ISVM私有桌面云架构使用模板镜像策略和网络连接存储策略作为云存储层解决方案。使用与图2相同的硬件环境搭建ISVM桌面云平台并测得不同类型操作系统的虚拟机镜像的启动时间,如图7所示。

可以看出,ISVM私有桌面云架构开启虚拟机的时间是毫秒数量级,可以说其具有瞬时开启虚拟机的优点,因此可以用来代替传统的个人计算机模式。

4.2.3远程办公

桌面虚拟化让使用者能够随时随地通过网络访问私有桌面,近年来广受关注[11]。

ISVM私有桌面云架构作为一个以虚拟化技术为基础的私有桌面云解决方案,适合于企业远程办公的需求。使用ISVM私有桌面云架构,能够允许使用者在任何地点访问私有桌面。ISVM私有桌面云架构的云管理层提供了管理桌面云平台的编程接口,企业可以使用这些接口开发适合业务需求的软件系统。

以上分析了ISVM私有桌面云架构在桌面信息安全、集中管理、远程办公等3种典型应用场景中的优势。除此之外,ISVM私有桌面云架构在集中计算、移动办公等应用场景中也非常适用。

5结语

本文提出了使用模板镜像策略和网络连接存储策略作为云存储层解决方案的ISVM私有桌面云架构;介绍了ISVM私有桌面云架构的3个层次:云管理层、云服务层、云存储层,以及各个层次包含的功能模块;重点讲解了云存储层使用的模板镜像策略和网络连接存储策略;并针对ISVM私有桌面云架构的实现和应用场景作出分析。ISVM私有桌面云架构解决了虚拟机开启时间长导致用户等待的问题。通过施加应用和测试,ISVM私有桌面云架构适合于桌面信息集中管理、远程办公、集中计算、移动办公、虚拟实验室等需要瞬时开启虚拟机的私有桌面云应用场景。

参考文献:

[1]

SEFRAOUI O, AISSAOUI M, ELEULDJ M. OpenStack: toward an opensource solution for cloud computing[J]. International Journal of Computer Applications, 2012,55(3):38-42.

[2]LIN L, SHI W. Survey of open source software for building cloud computing platforms[J]. Computer Science,2012,39(11):1-7.(林利,石文昌.构建云计算平台的开源软件综述[J].计算机科学,2012,39(11):1-7.)

[3]KUMAR R, GUPTA N, CHARU S, et al. Open source solution for cloud computing platform using OpenStack[J]. International Journal of Computer Science and Mobile Computing, 2014, 3(5): 89-98.

[4]ZHAO S, LI L, LING X, et al. Architecture and scheduling scheme design of TsinghuaCloud based on OpenStack[J]. Journal of Computer Applications,2013,33(12):3335-3338.(赵少卡,李立耀,凌晓,等. 基于OpenStack的清华云平台构建与调度方案设计[J]. 计算机应用,2013,33(12):3335-3338.)

[5]LI X, LI L, JIN L, et al. Construction of private cloud computing platform based on OpenStack[J]. Telecommunications Science, 2012,28(9):1-8.(李小宁,李磊,金连文,等. 基于OpenStack构建私有云计算平台[J]. 电信科学,2012,28(9):1-8.)

[6]GIRISH L S, GURUPRASAD H S. Building private cloud using OpenStack[J]. International Journal of Emerging Trends & Technology in Computer Science, 2014, 3(3): 142-145.

[7]ZHANG J, ZHANG J, DING H, et al. Designing and applying an education IaaS system based on OpenStack[J]. Applied Mathematics and Information Sciences, 2013, 7(1): 155-160.

[8]Moose File System [EB/OL].[20150122].http:///wiki/Moose_File_System.

[9]MENASC D A. Virtualization: Concepts, applications, and performance modeling[C]// Proceedings of the 31th International Computer Measurement Group Conference. Piscataway: IEEE, 2005: 407-414.

[10]FENG D, ZHANG M, ZHANG Y, et al. Study on cloud computing security[J]. Journal of Software,2011,22(1):71-83.(冯登国,张敏,张妍,等. 云计算安全研究[J]. 软件学报,2011,22(1):71-83.)

[11]YAN L. Development and application of desktop virtualization technology[C]// Proceedings of the 2011 IEEE 3rd International Conference on Communication Software and Networks. Piscataway: IEEE, 2011: 326-329.

上一篇:基于节点依赖度和交互频繁度的无线Mesh网络信... 下一篇:融合评论分析和隐语义模型的视频推荐算法