【技术实现步骤摘要】
一种基于云簇的虚拟机借调方法
本专利技术涉及计算机
,尤其涉及一种基于云簇的跨微云虚拟机借调方法。
技术介绍
随着云计算技术的发展,越来越多的用户选择将自身的应用和业务迁移到云上。云用户可以选择使用云服务运营商提供的即付即用、按需的、可弹性配置的公有云服务,也可以选择根据自身需求构建私有云设施。对于云服务运营商而言,云计算服务的弹性扩展是通过配置多个数据中心集群实现的。私有云的构建是按照用户的使用需求来定制。考虑到要在高峰期时也能正常运行,私有云数据中心的规模需要按照用户的使用峰值进行配置。这样的配置方式存在以下问题:首先,业务的需求信息难以准确预测。通过历史信息对高峰期进行准确无误的估计是不现实的,预测误差是必然存在的,这将导致较低标准的配置出现无法满足峰值需求,而较高标准的配置造成资源的闲置。其次,随着用户自身业务规模的发展,其资源需求会发生改变。与公有云通常能在数分钟内完成扩容相比,私有云的扩容涉及设备的采购和安装,其过程按天或者周计,无法即时满足需求。另一方面,私有云在非高峰期时会有大量的资源闲置,造成资源浪费。因此,需要一套支持在不同私有云(下称微云)之间进行虚拟机借调的解决方案,使得:(1)处于运行高峰期的微云可以通过向其它微云租赁虚拟机来缓解即时资源不足的情况;(2)低负荷运行的微云可以通过出租虚拟机获取额外的收益,减少资源的闲置。
技术实现思路
为了解决个体微云在运行高峰期时资源紧缺,低负载运行时资源闲置无法被充分利用的问题,本专利技术提出了一 ...
【技术保护点】
1.一种基于云簇的虚拟机借调方法,其特征在于,包括以下步骤:/nS1、微云接收终端计算机的任务请求,将任务请求转化为一定数量和规格的虚拟机申请;/nS2、微云在本地资源充足时,直接服务任务请求;在本地资源不足时,计算每个邻居微云可提供的虚拟机数量以及任务成本;/nS3、微云根据跨微云虚拟机借调算法生成虚拟机借调方案;/nS4、依据虚拟机借调方案,微云向租借方案列表中的邻居微云进行虚拟机借调。/n
【技术特征摘要】
1.一种基于云簇的虚拟机借调方法,其特征在于,包括以下步骤:
S1、微云接收终端计算机的任务请求,将任务请求转化为一定数量和规格的虚拟机申请;
S2、微云在本地资源充足时,直接服务任务请求;在本地资源不足时,计算每个邻居微云可提供的虚拟机数量以及任务成本;
S3、微云根据跨微云虚拟机借调算法生成虚拟机借调方案;
S4、依据虚拟机借调方案,微云向租借方案列表中的邻居微云进行虚拟机借调。
2.根据权利要求1所述的基于云簇的虚拟机借调方法,其特征在于,在步骤S3中,跨微云虚拟机借调算法为:按照每个邻居微云的任务成本进行排序,优先选择任务成本最小的邻居微云添加入借调方案中,然后在剩余的邻居微云继续重复这一步骤,直至满足任务要求的虚拟机数量或者是没有可供选择的剩余邻居微云,最终获得本次的借调方案。
3.根据权利要求2所述的基于云簇的虚拟机借调方法,其特征在于,获得的借调方案中包括了一个或者若干个优选出来的邻居微云以及向该邻居微云借调的虚拟机数量;如果虚拟机借调算法运行正常结束,所有邻居微云借调的虚拟机数量总和等于任务请求需要借调的虚拟机数量;当虚拟机借调算法还没有运行正常结束而邻居微云列表为空时,不存在可供选择的剩余邻居微云,代表着邻居微云的资源无法满足借调要求,此时生成的借调方案为空。
4.根据权利要求1所述的基于云簇的虚拟机借调方法,其特征在于,步骤S3包括:
S31、获取邻居微云列表和本次借调所需的虚拟机数量,邻居微云列表包含步骤S2中计算得出的每个邻居微云的可借用虚拟机数量和任务成本,将每个邻居微云可借调的虚拟机数量以及任务成本作为结果添加入候选列表中;
S32、计算借调方案列表,将候选列表中的微云按任务成本大小进行升序排序;
S33、优先选择任务成本最小的邻居微云添加入借调方案列表中,同时记录对应的借调数量;
S34、在剩余的邻居微云中重复步骤S33,直至满足任务要求的虚拟机数量或者邻居微云列表中无可供选择的邻居微云;若邻居微云列表中无可供选择的邻居微云且任务要求的虚拟机数量没有满足,则将借调方案列表清空。
S35、返回借调方案列表,若借调方案列表为空,则表示无可用的虚拟机借调方案;若不为空,则表示有可用的虚拟机借调方案。
5.根据权利要求1所述的基于云簇的虚拟机借调方法,其特征在于,步骤S2包括:
S21、微云的资源调度模块收到虚拟机申请后,优先使用本地微云的虚拟机资源池来创建虚拟机;当本地资源无法满足全部虚拟机申请时,用本地的剩余资源提供部分虚拟机,欠缺部分的虚拟机向邻居微云借调;
S22、邻居微云的可借用资源信息保存在邻居微云资源列表中,由微云的资源调度模块负责更新和维护;本地微云的资源调度模块通过云簇管理接口模块定时与邻居微云通信,获取邻居微云的可借用资源信息;
S23、计算邻居微云可提供的虚拟机数量,计算方式为:
(1)分别计算邻居微云的各项剩余资源指标除以虚拟机规格中对应指标的结果;
(2)然后取这些结果中的最小值作为该邻居微云可提供的虚拟机数量:
其中total_cpu指邻居微云可供借调的cpu资源,total_ram指邻居微云可供借调的内存资源,total_disk指邻居微云可供借调的硬盘资源,total_bandwidth指邻居微云可供借调的带宽资源,vm_cpu指虚拟机规格要求的cpu资源,vm_ram指虚拟机规格要求的内存资源,vm_disk指虚拟机规格要求的硬盘资源,vm_bandwidth指虚拟机规格要求的带宽资源;
S24、计算邻居微云的任务成本,邻居微云的任务成本等于传输成本、运行成本和服务质量成本的加权和:
cost_task=w1*cost_trans+w2*cost_use+w3*cost_qos
其中,w1、w2及w3是权重,w1+w2+w3=1,cost_task是任务成本...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。