CN105867998A - 一种虚拟机集群部署算法 - Google Patents
一种虚拟机集群部署算法 Download PDFInfo
- Publication number
- CN105867998A CN105867998A CN201610173478.3A CN201610173478A CN105867998A CN 105867998 A CN105867998 A CN 105867998A CN 201610173478 A CN201610173478 A CN 201610173478A CN 105867998 A CN105867998 A CN 105867998A
- Authority
- CN
- China
- Prior art keywords
- cluster
- load
- virtual machine
- physical machine
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 5
- 238000004364 calculation method Methods 0.000 claims abstract description 3
- 238000000034 method Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 abstract 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及云计算技术领域,特别是一种虚拟机集群部署算法。本发明首先分析集群的资源类型;然后过滤掉不能满足的请求;再创建优先级队列;后循环遍历所有的物理机,并计算每个物理机的负载系数L,判断是否可以选选择作为部署节点;然后根据集群的资源类型计算每一台物理机的负载值,把负载值优先级队列,对优先级队列的元素按照负载值从高到低进行排序;然后按照队列的顺序逐个进行虚拟机镜像传输;最后启动集群的所有虚拟机,完成集群部署。本发明实现了基于负载值计算的集群部署算法;可以用于虚拟机集群部署。
Description
技术领域
本发明涉及云计算技术领域,特别是一种虚拟机集群部署算法。
背景技术
由于云计算技术的便利性,使得在云平台上的应用越来越多,其中不少企业用户还需要大型应用集群的部署创建,传统的虚拟集群部署算法只是基于物理机都某一资源的利用率来进行集群部署的规划,存在以下的问题:
1、没有充分分析集群的资源特征,不能充分利用计算机的各种资源;
2、没有考虑镜像拷贝带来的资源损耗,拷贝过程容易影响已有虚拟机的性能。
发明内容
本发明解决的技术问题在于提供一种虚拟机集群部署算法;综合考虑虚拟集群的资源使用特征以及镜像传输的损耗,解决传统虚拟机集群部署算法不能充分利用资源,镜像传输开销过大的问题。
本发明解决上述技术问题的技术方案是:
所述的算法包括以下步骤:
步骤1:分析集群的资源类型;
步骤2:根据集群对各种资源的需求与云平台上剩余资源进行比较,若云平台的资源不满足集群部署请求,则过滤掉此请求;
步骤3:假定虚拟机的数量为vnum,初始化这次操作每台物理机所需部署的虚拟机个数node(i)=0,创建一个容量为vnum的优先级队列priority_res_queue;
步骤4:循环遍历所有的物理机,并计算每个物理机的负载系数L,当负载系数L小于最佳负载区间下限时,表明物理机当前的负载比较低可以用来部署虚拟机;当负载系数L大于最佳负载区间下限而小于最佳负载区间上限时,表明物理机当前负载处于最佳状态,可以部署虚拟机,但是新增虚拟机后不能超过最佳负载区间上限;当负载系数L大于最佳负载区间上限时,表明物理机当前负载过重,应该重新选择节点;
步骤5:根据集群的资源类型计算每一台物理机的负载值,把负载值***一个优先级队列priority_res_queue,对每台物理机所需的虚拟机个数node(i)做加1处理;
步骤6:如果还有物理机的负载值没有计算,则继续执行步骤4;
步骤7:对优先级队列priority_res_queue的元素按照负载值从高到低进行排序;
步骤8:按照队列的顺序逐个进行虚拟机镜像传输;
步骤9:启动集群的所有虚拟机,完成集群部署。
所述集群的资源类型指的是根据集群上虚拟机对CPU、内存、存储空间等不同资源使用程度的特征而区分的应用类型;对CPU资源使用较多的集群类型定义为计算密集型集群,对存储空间使用较多的集群定义为存储密集型集群,对网络I/O使用较多的集群定义为流量密集型集群。
所述最佳负载区间指的是处于两个性能阈值之间的负载系数范围,当负载系数处于这两个性能阈值之间时,表明***处于最佳负载状态。
所述负载系数指的是一个表示当前物理机负载高低的量化指标,负载系数的计算公式为:
L=α1·c(i)+α2·m(i)+α3·n(i)+node(i)*C;
其中L表示负载***,c(i)、m(i)、n(i)分别表示第i个物理机的资源利用率、内存利用率、宽带利用率;node(i)表示第i个物理机需要部署的虚拟机台数;α1、α2、α3、C表示各利用率的比例系数,0<α1<1,0<α2<1,0<α3<1,0<C<1,α1+α2+α3=1。
所述物理机的负载值指的是根据集群的资源类型对负载系数的调整;针对计算密集型集群、存储密集型集群和流量密集型集群分别对应不同的计算公式fc(i)、fm(i)、fn(i)如下:
fc(i)=α(1-c(i))+β(m(i)+n(i))+node(i)*C;
fm(i)=α(1-m(i))+β(c(i)+n(i))+node(i)*M;
fn(i)=α(1-n(i))+β(c(i)+m(i))+node(i)*N;
其中:0<α<1,0<β<1,α+β=1,α、β、C、M、N表示各利用率的比例系数。
本发明的方法能产生如下的有益效果:
1、本发明方法是一种有针对性均衡的算法,综合考虑了CPU、内存、存储空间等因素,并且按照集群的资源类型特征计算负载值,能提高资源的利用率。
2、本发明方法是一种全面的算法,在考虑资源利用率的同时也考虑到镜像传输的开销,能避免集群虚拟机创建导致的物理机性能下降。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于算法的伪代码如下:
Claims (7)
1.一种虚拟机集群部署算法,其特征在于:所述的算法包括以下步骤:
步骤1:分析集群的资源类型;
步骤2:根据集群对各种资源的需求与云平台上剩余资源进行比较,若云平台的资源不满足集群部署请求,则过滤掉此请求;
步骤3:假定虚拟机的数量为vnum,初始化这次操作每台物理机所需部署的虚拟机个数node(i)=0,创建一个容量为vnum的优先级队列priority_res_queue;
步骤4:循环遍历所有的物理机,并计算每个物理机的负载系数L,当负载系数L小于最佳负载区间下限时,表明物理机当前的负载比较低可以用来部署虚拟机;当负载系数L大于最佳负载区间下限而小于最佳负载区间上限时,表明物理机当前负载处于最佳状态,可以部署虚拟机,但是新增虚拟机后不能超过最佳负载区间上限;当负载系数L大于最佳负载区间上限时,表明物理机当前负载过重,应该重新选择节点;
步骤5:根据集群的资源类型计算每一台物理机的负载值,把负载值***一个优先级队列priority_res_queue,对每台物理机所需的虚拟机个数node(i)做加1处理;
步骤6:如果还有物理机的负载值没有计算,则继续执行步骤4;
步骤7:对优先级队列priority_res_queue的元素按照负载值从高到低进行排序;
步骤8:按照队列的顺序逐个进行虚拟机镜像传输;
步骤9:启动集群的所有虚拟机,完成集群部署。
2.根据权利要求1所述的虚拟机集群部署算法,其特征在于,所述集群的资源类型指的是根据集群上虚拟机对CPU、内存、存储空间等不同资源使用程度的特征而区分的应用类型;对CPU资源使用较多的集群类型定义为计算密集型集群,对存储空间使用较多的集群定义为存储密集型集群,对网络I/O使用较多的集群定义为流量密集型集群。
3.根据权利要求1所述的虚拟机集群部署算法,其特征在于,所述最佳负载区间指的是处于两个性能阈值之间的负载系数范围,当负载系数处于这两个性能阈值之间时,表明***处于最佳负载状态。
4.根据权利要求2所述的虚拟机集群部署算法,其特征在于,所述最佳负载区间指的是处于两个性能阈值之间的负载系数范围,当负载系数处于这两个性能阈值之间时,表明***处于最佳负载状态。
5.根据权利要求1至4任一项所述的虚拟机集群部署算法,其特征在于,所述负载系数指的是一个表示当前物理机负载高低的量化指标,负载系数的计算公式为:
L=α1·c(i)+α2·m(i)+α3·n(i)+node(i)*C;
其中L表示负载***,c(i)、m(i)、n(i)分别表示第i个物理机的资源利用率、内存利用率、宽带利用率;node(i)表示第i个物理机需要部署的虚拟机台数;α1、α2、α3、C表示各利用率的比例系数,0<α1<1,0<α2<1,0<α3<1,0<C<1,α1+α2+α3=1。
6.根据权利要求1至4任一项所述的虚拟机集群部署算法,其特征在于,所述物理机的负载值指的是根据集群的资源类型对负载系数的调整;针对计算密集型集群、存储密集型集群和流量密集型集群分别对应不同的计算公式fc(i)、fm(i)、fn(i)如下:
fc(i)=α(1-c(i))+β(m(i)+n(i))+node(i)*C;
fm(i)=α(1-m(i))+β(c(i)+n(i))+node(i)*M;
fn(i)=α(1-n(i))+β(c(i)+m(i))+node(i)*N;
其中:0<α<1,0<β<1,α+β=1,α、β、C、M、N表示各利用率的比例系数。
7.根据权利要求5所述的虚拟机集群部署算法,其特征在于,所述物理机的负载值指的是根据集群的资源类型对负载系数的调整;针对计算密集型集群、存储密集型集群和流量密集型集群分别对应不同的计算公式fc(i)、fm(i)、fn(i)如下:
fc(i)=α(1-c(i))+β(m(i)+n(i))+node(i)*C;
fm(i)=α(1-m(i))+β(c(i)+n(i))+node(i)*M;
fn(i)=α(1-n(i))+β(c(i)+m(i))+node(i)*N;
其中:0<α<1,0<β<1,α+β=1,α、β、C、M、N表示各利用率的比例系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610173478.3A CN105867998A (zh) | 2016-03-24 | 2016-03-24 | 一种虚拟机集群部署算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610173478.3A CN105867998A (zh) | 2016-03-24 | 2016-03-24 | 一种虚拟机集群部署算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105867998A true CN105867998A (zh) | 2016-08-17 |
Family
ID=56625873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610173478.3A Withdrawn CN105867998A (zh) | 2016-03-24 | 2016-03-24 | 一种虚拟机集群部署算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105867998A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775457A (zh) * | 2016-11-28 | 2017-05-31 | 国云科技股份有限公司 | 一种基于异构存储虚拟机的通用获取磁盘利用率的方法 |
CN107908457A (zh) * | 2017-11-08 | 2018-04-13 | 河海大学 | 一种基于稳定匹配的容器化云资源分配方法 |
CN107968719A (zh) * | 2016-10-20 | 2018-04-27 | 上海盛霄云计算技术有限公司 | 云计算中物理机资源合理利用的方法 |
CN108287747A (zh) * | 2017-01-09 | 2018-07-17 | ***通信集团贵州有限公司 | 用于虚拟机备份的方法和设备 |
CN113568746A (zh) * | 2021-07-27 | 2021-10-29 | 北京达佳互联信息技术有限公司 | 负载均衡方法、装置、电子设备及存储介质 |
CN116582546A (zh) * | 2023-07-12 | 2023-08-11 | 深圳市智博通电子有限公司 | 一种基于超融合节点的虚拟机集群的网络互通方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567077A (zh) * | 2011-12-15 | 2012-07-11 | 杭州电子科技大学 | 一种基于博弈论的虚拟化资源分配方法 |
CN103176849A (zh) * | 2013-03-12 | 2013-06-26 | 浙江大学 | 一种基于资源分类的虚拟机集群的部署方法 |
US9047136B2 (en) * | 2010-06-11 | 2015-06-02 | Oracle International Corporation | Method and system for migrating the state of a virtual cluster |
-
2016
- 2016-03-24 CN CN201610173478.3A patent/CN105867998A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9047136B2 (en) * | 2010-06-11 | 2015-06-02 | Oracle International Corporation | Method and system for migrating the state of a virtual cluster |
CN102567077A (zh) * | 2011-12-15 | 2012-07-11 | 杭州电子科技大学 | 一种基于博弈论的虚拟化资源分配方法 |
CN103176849A (zh) * | 2013-03-12 | 2013-06-26 | 浙江大学 | 一种基于资源分类的虚拟机集群的部署方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107968719A (zh) * | 2016-10-20 | 2018-04-27 | 上海盛霄云计算技术有限公司 | 云计算中物理机资源合理利用的方法 |
CN106775457A (zh) * | 2016-11-28 | 2017-05-31 | 国云科技股份有限公司 | 一种基于异构存储虚拟机的通用获取磁盘利用率的方法 |
CN108287747A (zh) * | 2017-01-09 | 2018-07-17 | ***通信集团贵州有限公司 | 用于虚拟机备份的方法和设备 |
CN107908457A (zh) * | 2017-11-08 | 2018-04-13 | 河海大学 | 一种基于稳定匹配的容器化云资源分配方法 |
CN107908457B (zh) * | 2017-11-08 | 2020-03-17 | 河海大学 | 一种基于稳定匹配的容器化云资源分配方法 |
CN113568746A (zh) * | 2021-07-27 | 2021-10-29 | 北京达佳互联信息技术有限公司 | 负载均衡方法、装置、电子设备及存储介质 |
CN116582546A (zh) * | 2023-07-12 | 2023-08-11 | 深圳市智博通电子有限公司 | 一种基于超融合节点的虚拟机集群的网络互通方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105867998A (zh) | 一种虚拟机集群部署算法 | |
CN103312825B (zh) | 一种数据分布存储方法和装置 | |
Wang et al. | A new algorithm for grid independent task schedule: genetic simulated annealing | |
CN110187960A (zh) | 一种分布式资源调度方法及装置 | |
US7920282B2 (en) | Job preempt set generation for resource management | |
CN108427602B (zh) | 一种分布式计算任务的协同调度方法及装置 | |
Zhang et al. | The real-time scheduling strategy based on traffic and load balancing in storm | |
CN103942108B (zh) | Hadoop同构集群下的资源参数优化方法 | |
Schlag et al. | Scalable edge partitioning | |
CN106033442B (zh) | 一种基于共享内存体系结构的并行广度优先搜索方法 | |
CN105488134A (zh) | 大数据处理方法及大数据处理装置 | |
CN102306205A (zh) | 一种事务分配方法和装置 | |
CN103902384A (zh) | 为虚拟机分配物理机的方法及装置 | |
CN107070645A (zh) | 比较数据表的数据的方法和*** | |
CN107360031B (zh) | 一种基于优化开销收益比的虚拟网络映射方法 | |
CN109871270B (zh) | 调度方案生成方法及装置 | |
CN107172193A (zh) | 一种基于集群的负载均衡方法及其装置 | |
CN110084507A (zh) | 云计算环境下分级感知的科学工作流调度优化方法 | |
CN105740077A (zh) | 一种适用于云计算的任务分配方法 | |
CN116244050B (zh) | 一种基于高响应比的气动特性算例调度方法 | |
CN112395052A (zh) | 一种面向混合负载基于容器的集群资源管理方法及*** | |
KhudaBukhsh et al. | Generalized cost-based job scheduling in very large heterogeneous cluster systems | |
CN116954905A (zh) | 一种面向Flink大数据的任务编排与迁移方法 | |
Qin et al. | Dependent task scheduling algorithm in distributed system | |
Xu et al. | Hybrid scheduling deadline-constrained multi-DAGs based on reverse HEFT |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20160817 |
|
WW01 | Invention patent application withdrawn after publication |