论文部分内容阅读
随着云计算技术的成熟与普及,系统虚拟机技术越来越多的被应用到信息系统,如何将虚拟机快速部署到各个节点,使得虚拟机能够高效运行,是目前研究热点。目前云平台中,以虚拟机镜像的方式进行虚拟机部署,虽然解决了操作系统及软件批量部署的问题,但由于虚拟机镜像将操作系统与应用软件耦合在一起,导致云平台下虚拟机部署存在以下问题:1)单个虚拟机镜像尺寸较大,虚拟机部署时虚拟机镜像分发较慢;2)用户对计算环境的需求不同,导致虚拟机镜像冗余,资源利用率低,以及存储空间的浪费和虚拟机镜像管理的繁琐;3)软件的管理操作将导致虚拟机重新部署,造成服务不稳定。本文针对现有云平台下虚拟机部署的镜像尺寸大、镜像冗余、资源利用率低、服务不稳定等问题,以虚拟机技术为基础,借鉴App Store等新型软件部署机制,设计了云平台下操作系统按需部署系统——OpenAppV。通过将应用软件从虚拟机镜像中分离并以服务形式发布在云平台上,用户按需选择操作系统和应用软件以构建自定义虚拟机系统。首先,针对OpenAppV软件分发的特点,本文提出了一种基于预安装的软件按需部署机制,采取静态安装的方式在虚拟机启动过程中将软件部署到虚拟机系统中。通过对不同格式软件包分析,并解析其依赖关系描述文件,将其转化为统一格式的软件部署依赖描述文档,根据软件依赖关系的特点,采用并行工作的依赖部署,以并行部署方式减少软件部署到虚拟机镜像的时间开销。为了检测目标虚拟机系统环境是否符合软件运行,提出了软件部署判断策略,从软件部署约束冲突检测和软件部署解依赖冲突两个方面对目标环境进行检测与调整。然后,为了提高软件分发的效率,针对云平台的特点,本文引入并设计了基于区域的分布式多级缓存模型,基于此模型,针对同区域多用户访问同一软件情况,提出了基于共享子集的软件包预取策略;针对访问频率较高的软件,提出了基于访问频率和对象相关性的软件包预取策略。最后,在开源云平台OpenStack上实现了OpenAppV原型系统,并对该原型进行了功能测试及性能测试。测试结果表明,软件的部署与虚拟机镜像按需组合,加快了虚拟机部署时虚拟机镜像分发的速度,有效地解决了虚拟机镜像冗余问题,减少了虚拟机镜像存储与管理开销,实现了系统性能和资源利用率间较好的平衡。