一种基于三层架构的Docker与虚拟机初始放置方法技术

技术编号:20272041 阅读:28 留言:0更新日期:2019-02-02 03:29
本发明专利技术公开了一种基于三层架构的Docker与虚拟机初始放置方法,包括以下内容:基于矢量装箱理论提出Docker‑VM‑PM三层架构下Docker、VM到PM的放置(Docker Placement and Virtual Machine Placement,简称DVMP)约束模型。在此基础上引入服务器资源利用率优化目标,构建DVMP初始放置模型。根据DVMP初始放置模型筛选同时满足所有约束条件的虚拟机序列,设计最小虚拟机计算规则筛选满足约束的激活态服务器序列。最后依据适应度函数在两类约束中分别进行最优VM、PM的决策,直至所有Docker装箱,完成基于三层架构的Docker和虚拟机的初始放置过程。本发明专利技术提出的初始放置方法在Docker‑VM‑PM三层架构下有效解决了数据中心资源利用率的优化问题,降低能源消耗。

【技术实现步骤摘要】
一种基于三层架构的Docker与虚拟机初始放置方法
本专利技术涉及一种基于三层架构(Docker-VM-PM,简称“DVP”)的Docker与虚拟机初始放置方法,适用于解决数据中心资源利用率的优化问题。
技术介绍
近年来,云计算技术迅猛发展,数据中心急剧扩张,随之带来了严重的能量消耗以及高昂的运营成本。资料显示,数据中心能量消耗与物理服务器的资源利用率密切相关,故提升数据中心各服务器资源利用率,减少激活态物理服务器数量成为降低数据中心能量消耗与运营成本的关键策略。工业及学术界主要利用虚拟机技术实现物理资源的细粒度分配。因此如何合理地进行虚拟机放置进而提升物理资源利用率并降低能量消耗成为当前研究热点。随着Docker技术的成熟发展,PaaS云服务实现方式由以VM为主的VM-PM两层架构逐渐转变为以Docker容器为主的Docker-VM-PM三层架构,更细粒度地分配物理资源。现阶段针对服务器资源利用率的优化研究主要聚焦在Docker-VM/PM框架下对Docker放置的研究和VM-PM架构下对虚拟机放置的研究。Docker的放置可看作装箱过程,是研究如何根据资源需求给装箱对象(Docker)选择合适的箱子(虚拟机或物理机)。虚拟机放置包括虚拟机放置位置决策与基于虚拟机在线迁移技术的放置位置变换。根据应用场景不同,虚拟机放置位置决策分为虚拟机初始放置和虚拟机聚合放置的位置决策。其中,虚拟机的初始放置是研究如何在一个没有负载的云数据中心,根据虚拟化的类型对资源的请求选择合适的目标物理机的过程,也可描述为以虚拟机为装箱对象,以服务器为箱子的在线装箱问题,或者变种的多维装箱问题、多维矢量装箱问题和半在线装箱问题等。Docker到VM的最优初始放置决策若仅依赖于VM的资源使用情况而忽略放置关系成立对间接承载的PM产生的资源影响,容易造成容器在数据中心的分散部署,可能会使用不必要数量的服务器进行负载分担,造成资源利用率低效。目前,尚未有研究将容器到虚拟机(Docker-VM)初始放置过程与虚拟机到服务器(VM-PM)初始放置过程进行协同考虑,进而设计Docker与虚拟机的初始放置方法。但关于VM-PM两层架构下虚拟机的放置方法研究对DVP三层架构下Docker与虚拟机的初始化放置有一定的参考价值。以下3篇专利文献提供了虚拟机放置的不同策略方法:1、基于蚁群优化算法的云数据中心中虚拟机放置方法。(专利号:CN201711266803.1)2、一种基于Rendezvous哈希算法的虚拟机初始放置策略方法。(专利号:CN201710491606.3)3、一种基于分布式存储的虚拟机放置方法及装置。(专利号:CN201610054601.X)文献1提供了一种基于蚁群优化算法的云数据中心中虚拟机放置方法,通过蚁群优化算法解决VMP问题,在虚拟机请求到达时,找到一种虚拟机的放置方法,使得云数据中心的总体能耗达到最小的同时减少虚拟机之间通信所需的网络总带宽。文献2提供了一种基于Rendezvous哈希算法的虚拟机放置策略方法。首先定义数据中心存在的物理主机集合和需要初始化放置的虚拟机集合,通过分析主机数量,构建虚拟分层结构,包括虚拟分层节点和真实主机节点簇两部分,综合考虑负载均衡、虚拟机主机性能、数据中心能耗等因素,最终实现物理资源的合理调度。文献3提供了一种基于分布式存储的虚拟机放置方法及装置。通过判断虚拟机所使用的存储卷的第一存储块所在的物理服务器可用资源,决定是否放置虚拟机。优先将虚拟机放置在虚拟机所用的存储卷所在的第一台物理服务器上,降低了虚拟机工作时网络传输耗费的资源,提高了存储资源的利用率。然而以上文献所述方法主要存在以下问题:文献1通过设定能够放置虚拟机并且不会违背约束条件的物理机列表,依据蚁群优化算法选择要放置的服务器,虽然能够提高资源利用率,但并未有效节省激活态服务器数量。文献2在虚拟机放置过程中考虑了服务器的CPU及内存资源,但放置过程中同样未考虑节省激活态服务器的数量。文献3关注的是解决不恰当的虚拟机放置方法导致虚拟机性能差和虚拟化系统存储阵列利用率低、扩展性差的问题,与优化数据中心资源利用率的目标不同。
技术实现思路
本专利技术的目的在于提供一种基于三层架构的Docker与虚拟机初始放置方法,该方法首先基于矢量装箱理论提出DVP三层架构下Docker、VM到PM的放置(DockerPlacementandVirtualMachinePlacement,简称DVMP)约束模型,在此基础上引入服务器资源利用率优化目标,构建DVMP初始放置模型。然后,根据DVMP初始放置模型筛选同时符合所有装箱约束的虚拟机序列,设计最小虚拟机计算规则筛选满足约束的激活态服务器序列。最后依据适应度函数在两类序列中分别进行最优小箱子VM及最优大箱子PM的决策,直至所有Docker装箱完成,从而完成基于三层架构的Docker和虚拟机的初始放置过程,对数据中心的服务器CPU和内存利用率进行有效提升。为了达到以上目的,本专利技术是采取以下技术方案予以实现的:一种基于三层架构的Docker与虚拟机初始放置方法,包括以下步骤:步骤1,建立基于Docker-VM-PM三层架构的Docker与虚拟机放置约束模型,Docker-VM-PM简称为DVP,虚拟机放置简称为DVMP,将DVP三层架构下的Docker到虚拟机和虚拟机到服务器的放置问题描述为两层矢量协同装箱问题,以Docker作为虚拟机及服务器的实际负载,合理性限制虚拟机放置方案;步骤2,基于DVMP约束模型,在DVP三层架构下面向服务器资源利用率优化建立Docker与虚拟机初始放置模型,简称DVMP初始放置模型;步骤3,数据中心新增场景初始化及VM筛选,采用均匀分布的随机函数初始化数据中心VMs及PMs的配置和数量,算法开始后,根据新增容器的CPU、内存资源请求,在数据中心所有虚拟机中筛选出同时满足DVMP初始放置模型全部约束条件的虚拟机序列;步骤4,设计最优VM适应度函数及最优VM选择,根据设计好的最优VM适应度函数计算虚拟机序列中各虚拟机的适应度,并基于BF原则选择适应度值最大的虚拟机作为该容器的最优虚拟机放入;步骤5,设计最小VM计算规则及PM筛选,以新增容器所需CPU、内存资源为基准,从数据中心可选的虚拟机模板中选择能够容载该容器的最小虚拟机,根据最小虚拟机资源需求筛选出满足约束的激活态服务器序列;步骤6,设计最优PM适应度函数及最优PM选择,若筛选出的激活态服务器序列为空,则开启新的服务器,否则根据服务器适应度函数依次计算服务器序列中各服务器的适应度,依据BF原则选择适应度最大的服务器作为该容器及最小虚拟机的最优服务器放入;步骤7,开启服务器,若最小虚拟机资源约束筛选后激活态服务器序列为空,则开启新服务器并随机选择数据中心支持的虚拟机模板,创建虚拟机实例作为该容器最优VM及最优PM;若无新容器增加,则本次Docker与VM初始放置方法终止,直到新的容器到来激活调度器重新运作放置算法。本专利技术进一步的改进在于,步骤1中,构建三层架构DVMP约束模型,根据两层矢量装箱理论及VM、PM资源用量计算基准提出基于矢量装箱理论的DVMP约束条件;两层矢量协同装箱理论,包括Docker到VM及VM本文档来自技高网
...

【技术保护点】
1.一种基于三层架构的Docker与虚拟机初始放置方法,其特征在于,包括以下步骤:步骤1,建立基于Docker‑VM‑PM三层架构的Docker与虚拟机放置约束模型,Docker‑VM‑PM简称为DVP,虚拟机放置简称为DVMP,将DVP三层架构下的Docker到虚拟机和虚拟机到服务器的放置问题描述为两层矢量协同装箱问题,以Docker作为虚拟机及服务器的实际负载,合理性限制虚拟机放置方案;步骤2,基于DVMP约束模型,在DVP三层架构下面向服务器资源利用率优化建立Docker与虚拟机初始放置模型,简称DVMP初始放置模型;步骤3,数据中心新增场景初始化及VM筛选,采用均匀分布的随机函数初始化数据中心VMs及PMs的配置和数量,算法开始后,根据新增容器的CPU、内存资源请求,在数据中心所有虚拟机中筛选出同时满足DVMP初始放置模型全部约束条件的虚拟机序列;步骤4,设计最优VM适应度函数及最优VM选择,根据设计好的最优VM适应度函数计算虚拟机序列中各虚拟机的适应度,并基于BF原则选择适应度值最大的虚拟机作为该容器的最优虚拟机放入;步骤5,设计最小VM计算规则及PM筛选,以新增容器所需CPU、内存资源为基准,从数据中心可选的虚拟机模板中选择能够容载该容器的最小虚拟机,根据最小虚拟机资源需求筛选出满足约束的激活态服务器序列;步骤6,设计最优PM适应度函数及最优PM选择,若筛选出的激活态服务器序列为空,则开启新的服务器,否则根据服务器适应度函数依次计算服务器序列中各服务器的适应度,依据BF原则选择适应度最大的服务器作为该容器及最小虚拟机的最优服务器放入;步骤7,开启服务器,若最小虚拟机资源约束筛选后激活态服务器序列为空,则开启新服务器并随机选择数据中心支持的虚拟机模板,创建虚拟机实例作为该容器最优VM及最优PM;若无新容器增加,则本次Docker与VM初始放置方法终止,直到新的容器到来激活调度器重新运作放置算法。...

【技术特征摘要】
1.一种基于三层架构的Docker与虚拟机初始放置方法,其特征在于,包括以下步骤:步骤1,建立基于Docker-VM-PM三层架构的Docker与虚拟机放置约束模型,Docker-VM-PM简称为DVP,虚拟机放置简称为DVMP,将DVP三层架构下的Docker到虚拟机和虚拟机到服务器的放置问题描述为两层矢量协同装箱问题,以Docker作为虚拟机及服务器的实际负载,合理性限制虚拟机放置方案;步骤2,基于DVMP约束模型,在DVP三层架构下面向服务器资源利用率优化建立Docker与虚拟机初始放置模型,简称DVMP初始放置模型;步骤3,数据中心新增场景初始化及VM筛选,采用均匀分布的随机函数初始化数据中心VMs及PMs的配置和数量,算法开始后,根据新增容器的CPU、内存资源请求,在数据中心所有虚拟机中筛选出同时满足DVMP初始放置模型全部约束条件的虚拟机序列;步骤4,设计最优VM适应度函数及最优VM选择,根据设计好的最优VM适应度函数计算虚拟机序列中各虚拟机的适应度,并基于BF原则选择适应度值最大的虚拟机作为该容器的最优虚拟机放入;步骤5,设计最小VM计算规则及PM筛选,以新增容器所需CPU、内存资源为基准,从数据中心可选的虚拟机模板中选择能够容载该容器的最小虚拟机,根据最小虚拟机资源需求筛选出满足约束的激活态服务器序列;步骤6,设计最优PM适应度函数及最优PM选择,若筛选出的激活态服务器序列为空,则开启新的服务器,否则根据服务器适应度函数依次计算服务器序列中各服务器的适应度,依据BF原则选择适应度最大的服务器作为该容器及最小虚拟机的最优服务器放入;步骤7,开启服务器,若最小虚拟机资源约束筛选后激活态服务器序列为空,则开启新服务器并随机选择数据中心支持的虚拟机模板,创建虚拟机实例作为该容器最优VM及最优PM;若无新容器增加,则本次Docker与VM初始放置方法终止,直到新的容器到来激活调度器重新运作放置算法。2.根据权利要求1所述的一种基于三层架构的Docker与虚拟机初始放置方法,其特征在于,步骤1中,构建三层架构DVMP约束模型,根据两层矢量装箱理论及VM、PM资源用量计算基准提出基于矢量装箱理论的DVMP约束条件;两层矢量协同装箱理论,包括Docker到VM及VM到PM的两层矢量装箱模型,具体描述为Docker装箱对象到小箱子VM和VM小箱子到PM大箱子的两层矢量装箱模型,将装箱对象沿箱子的对角进行放置;VM、PM资源用量计算基准,放入某VM的所有Docker资源配给量不超过该VM创建时资源申请量,当达到该VM资源上限时,将新的容器放入其它VM或创建新VM进行承载,放入某服务器的所有VM资源总申请量不可超过该服务器资源最大提供量;基于矢量装箱理论的DVMP约束条件,具体包括整数约束条件、完整性约束条件、资源利用情况约束条件和资源使用量约束条件;整数约束条件具体表现为以下公式:xij,yri,zrj,pj,vi∈{0,1}i∈N,j∈M,r∈D其中,xij、yri、zrj分别是虚拟机到服务器位置映射矩阵X、容器到虚拟机位置映射矩阵Y和容器到服务器位置映射矩阵Z中代表代表放置状态的元素,进一步为第i台虚拟机是否放置于第j台服务器上,第r台容器是否放置于第i台虚拟机上,第r台容器是否运行在第j台服务器上;vi、pj表示虚拟机和服务器的状态变量,它的取值1、0,分别表示虚拟机i、服务器j是否处于运行状态;完整性约束条件具体表现为以下公式:该完整性约束公式采用了累加的计算方式,将任一容器、虚拟机与所有虚拟机、服务器放置状态累加求和且求和结果限制为1,避免非1的异常情况,从而确保所有的容器、虚拟机在集群中都放置在合理的位置;资源利用情况约束条件,包括虚拟机资源利用情况约束条件和服务器资源利用情况约束条件,虚拟机资源利用情况约束条件通过限制虚拟机的资源分配情况,确保Docker每次请求的资源数量不超过该虚拟机创建时申请的资源总数,具体表现为以下公式:其中,分别表示第r台Docker创建时申请的CPU和内存资源量,对应第i台虚拟机能够提供的CPU和内存的资源总量;服务器资源利用情况约束条件通过限制服务器的资源分配情况,确保虚拟机每次请求的资源数量不超过该服务器提供的资源总数,具体表现为以下公式:其中,分别表示第i台虚拟机创建时申请的CPU和内存资源量,对应第j台服务器能够提供的CPU和内存的资源总量;资源使用量约束条件,限制DVP架构中VM及PM资源使用量的计算方式,具体描述为任一时刻VM及PM的资源使用量应该以其承载的所有Docker容器资源总量作为统计基础;具体资源使用量约束条件表示为以下公式:其中,yri和zrj分别为Docker到虚拟机位置映射矩阵Y和Docker到服务器位置映射矩阵Z的状态变量,分别表示第r台Docker创建时申...

【专利技术属性】
技术研发人员:郑庆华董博赵珮瑶阮建飞李睿钟阿敏赵敏李国斌周新运王旭
申请(专利权)人:西安交通大学北京奥鹏远程教育中心有限公司
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1