CN113626145A - 业务虚拟机数量动态扩容方法及系统 - Google Patents
业务虚拟机数量动态扩容方法及系统 Download PDFInfo
- Publication number
- CN113626145A CN113626145A CN202110826605.6A CN202110826605A CN113626145A CN 113626145 A CN113626145 A CN 113626145A CN 202110826605 A CN202110826605 A CN 202110826605A CN 113626145 A CN113626145 A CN 113626145A
- Authority
- CN
- China
- Prior art keywords
- service
- virtual machines
- capacity expansion
- virtual machine
- expansion factor
- 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.)
- Granted
Links
Images
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/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种虚拟机动态伸缩方法及系统,包括:将处理用户业务的所有虚拟机划分至业务组,监控业务组的业务虚拟机的资源参数,并根据业务虚拟机的资源参数计算业务组扩容因子;若扩容因子达到预设第一阈值则在预先创建的预留组复制业务组的业务虚拟机作为预备虚拟机;若扩容因子达到预设第二阈值则将预留组的预备虚拟机迁移至业务组。本发明使业务组始终保持在一种健康的运行状态,且调整过程对用户是透明的,用户感知不到承载业务的云平台中虚拟机数量的增减,给用户运行业务带来了极佳的用户体验,还提高了云平台的运行效率,节约了云平台的整体资源。本发明把云平台管理员从复杂的运维管理中解放出来,提高了运维效率,节省了运维成本。
Description
技术领域
本发明涉及虚拟机调度技术领域,具体涉及一种业务虚拟机数量动态扩容方法及系统。
背景技术
随着虚拟化技术的发展,虚拟化技术将服务器、存储、网络等硬件设备资源池化,使整个IT环境比单独的物理硬件具有更高的可用性、安全性和扩展性,满足企业对于降低成本、简化管理、提高安全性和扩展性的需求,助力企业核心业务向云计算迁移、构建企业云数据中心。
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟化使人能够在一台物理服务器上创建多个虚拟机,每个虚拟机具有各自的操作系统(OS)和应用。虚拟机无法与物理计算机直接交互。而是需要借助一个叫做虚拟机管理器的轻量级软件层,在它与底层物理硬件之间进行协调。虚拟机管理器将物理计算资源(例如处理器、内存和存储)分配给每个虚拟机。它使虚拟机之间相互分离,从而互不干扰。
为提高资源的利用率,通常一个服务器节点上会虚拟成多个虚拟机承载用户的业务,当用户的业务量增加需要扩容时,需要及时增加虚拟机数量,即对虚拟机数量进行扩容。当云平台用户的业务量增加时,通常云平台管理员需要在云平台系统中手动新建虚拟机,重新分配虚拟机所需的CPU、内存、存储、网络等资源,虚拟机内重新部署操作系统、部署用户业务,这些过程都需要人工参与,是个繁琐耗时的过程。当业务量突然增加时,如果应对不及时,会导致用户业务系统网络拥塞、系统瘫痪等严重问题,造成无法挽回的后果。
当云平台承载的业务突然增加时,现有技术中只能做到半自动化,例如预估业务量突然增加的日期,提前通过云平台管理员准备虚拟机资源,并没有系统的解决云平台中虚拟机资源如何扩容、缩容的问题。
发明内容
针对现有技术的上述不足,本发明提供一种业务虚拟机数量动态扩容方法及系统,以解决上述技术问题。
第一方面,本发明提供一种业务虚拟机数量动态扩容方法,包括:
将处理用户业务的所有虚拟机划分至业务组,监控业务组的业务虚拟机的资源参数,并根据业务虚拟机的资源参数计算业务组扩容因子;
若扩容因子达到预设第一阈值则在预先创建的预留组复制业务组的业务虚拟机作为预备虚拟机;
若扩容因子达到预设第二阈值则将预留组的预备虚拟机迁移至业务组。
进一步的,将处理用户业务的所有虚拟机划分至业务组,监控业务组的业务虚拟机的资源参数,并根据业务虚拟机的资源参数计算业务组扩容因子,包括:
定期获取各业务虚拟机的资源参数,资源参数包括CPU利用率、内存利用率、网络吞吐率和存储使用率;
根据预先设置的CPU利用率权值、内存利用率权值、网络吞吐率权值和存储使用率权值计算各业务虚拟机的资源参数加权和;
计算各业务虚拟机的资源参数加权和的平均值,并将所述平均值作为扩容因子输出。
进一步的,定期获取各业务虚拟机的资源参数,包括:
每隔5min采集一次业务虚拟机的资源参数。
进一步的,若扩容因子达到预设第一阈值则在预先创建的预留组复制业务组的业务虚拟机作为预备虚拟机,包括:
预先设置多个扩容因子波动等级,每个扩容因子波动等级均对应一个预备虚拟机数量;
监控扩容因子波动情况,并根据所述波动情况估算上升斜率;
根据上升斜率所属的波动等级生成对应的目标预备虚拟机数量;
通过复制业务虚拟机在预留组不断创建预备虚拟机,并在预备虚拟机数量达到目标预备虚拟机数量时停止复制业务虚拟机。
进一步的,预先设置多个扩容因子波动等级,包括:
收集历史扩容因子波动斜率和相应的预备虚拟机数量,利用大数据分析技术根据历史扩容因子波动斜率和相应的预备虚拟机数量生成多个扩容因子波动等级。
进一步的,监控扩容因子波动情况,并根据所述波动情况估算上升斜率,包括:
创建扩容因子波动监控进程,所述波动监控进程采集更新的扩容因子;
进一步的,所述方法还包括:
若扩容因子低于预设第三阈值则将空闲业务虚拟机不断向预留组迁移,并在扩容因子不低于所述第三阈值时停止将空闲业务虚拟机向预留组迁移;
若预留组的预备虚拟机数量超过预设预备阈值,则监控所述扩容因子低于第二阈值的持续时间,并在所述持续时间超过预设时间阈值时通过删除部分预备虚拟机使预备虚拟机数量不超过所述预备阈值。
进一步的,在所述持续时间超过预设时间阈值时通过删除部分预备虚拟机使预备虚拟机数量不超过所述预备阈值,包括:
计算当前预备虚拟机数量与预备阈值的差值,将所述差值作为删除预备虚拟机的数量。
进一步的,将空闲业务虚拟机向预留组迁移的方法,包括:
从业务组中选取资源参数加权和最小的业务虚拟机作为目标虚拟机;
将目标虚拟机的业务迁移至其他资源参数加权和不超过所述第一阈值的业务虚拟机;
将完成业务迁移的目标虚拟机变更为预备虚拟机。
第二方面,本发明提供一种业务虚拟机数量动态扩容系统,包括:
参数监控单元,用于将处理用户业务的所有虚拟机划分至业务组,监控业务组的业务虚拟机的资源参数,并根据业务虚拟机的资源参数计算业务组扩容因子;
预备构建单元,用于若扩容因子达到预设第一阈值则在预先创建的预留组复制业务组的业务虚拟机作为预备虚拟机;
业务扩容单元,用于若扩容因子达到预设第二阈值则将预留组的预备虚拟机迁移至业务组。
进一步的,所述参数监控单元包括:
参数获取模块,用于定期获取各业务虚拟机的资源参数,资源参数包括CPU利用率、内存利用率、网络吞吐率和存储使用率;
参数计算模块,用于根据预先设置的CPU利用率权值、内存利用率权值、网络吞吐率权值和存储使用率权值计算各业务虚拟机的资源参数加权和;
因子输出模块,用于计算各业务虚拟机的资源参数加权和的平均值,并将所述平均值作为扩容因子输出。
进一步的,所述预备构建单元包括:
等级设置模块,用于预先设置多个扩容因子波动等级,每个扩容因子波动等级均对应一个预备虚拟机数量;
斜率估算模块,用于监控扩容因子波动情况,并根据所述波动情况估算上升斜率;
数量生成模块,用于根据上升斜率所属的波动等级生成对应的目标预备虚拟机数量;
复制执行模块,用于通过复制业务虚拟机在预留组不断创建预备虚拟机,并在预备虚拟机数量达到目标预备虚拟机数量时停止复制业务虚拟机。
进一步的,所述系统还包括:
空闲迁移单元,用于若扩容因子低于预设第三阈值则将空闲业务虚拟机不断向预留组迁移,并在扩容因子不低于所述第三阈值时停止将空闲业务虚拟机向预留组迁移;
预留控制单元,用于若预留组的预备虚拟机数量超过预设预备阈值,则监控所述扩容因子低于第二阈值的持续时间,并在所述持续时间超过预设时间阈值时通过删除部分预备虚拟机使预备虚拟机数量不超过所述预备阈值。
进一步的,所述空闲迁移单元包括:
目标选取模块,用于从业务组中选取资源参数加权和最小的业务虚拟机作为目标虚拟机;
业务迁移模块,用于将目标虚拟机的业务迁移至其他资源参数加权和不超过所述第一阈值的业务虚拟机;
目标迁移模块,用于将完成业务迁移的目标虚拟机变更为预备虚拟机。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的业务虚拟机数量动态扩容方法,通过实时监控现有的执行用户业务的业务虚拟机的资源参数并根据各业务虚拟机的资源参数计算扩容因子,根据扩容因子的大小判断是否需要增加虚拟机数量,同时通过预先构建预备虚拟机,在用户业务达到一定程度后,直接启用预备虚拟机,避免了用户业务增加到现有业务虚拟机不够用时临时创建虚拟机导致的系统崩溃。本发明使业务组始终保持在一种健康的运行状态,且调整过程对用户是透明的,用户感知不到承载业务的云平台中虚拟机数量的增减,给用户运行业务带来了极佳的用户体验。本发明还提高了云平台的运行效率,节约了云平台的整体资源。本发明把云平台管理员从复杂的运维管理中解放出来,提高了运维效率,节省了运维成本。
本发明提供的业务虚拟机数量动态扩容系统,通过参数监控单元实时监控现有的执行用户业务的业务虚拟机的资源参数并根据各业务虚拟机的资源参数计算扩容因子,预备构建单元根据扩容因子的大小判断是否需要增加虚拟机数量,同时通过预先构建预备虚拟机,在用户业务达到一定程度后,业务扩容单元直接启用预备虚拟机,避免了用户业务增加到现有业务虚拟机不够用时临时创建虚拟机导致的系统崩溃。本发明使业务组始终保持在一种健康的运行状态,且调整过程对用户是透明的,用户感知不到承载业务的云平台中虚拟机数量的增减,给用户运行业务带来了极佳的用户体验。本发明还提高了云平台的运行效率,节约了云平台的整体资源。本发明把云平台管理员从复杂的运维管理中解放出来,提高了运维效率,节省了运维成本。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的方法的另一示意性流程图。
图3是本发明一个实施例的系统的示意性框图。
图4为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种业务虚拟机数量动态扩容系统。
如图1所示,该方法包括:
步骤110,将处理用户业务的所有虚拟机划分至业务组,监控业务组的业务虚拟机的资源参数,并根据业务虚拟机的资源参数计算业务组扩容因子;
步骤120,若扩容因子达到预设第一阈值则在预先创建的预留组复制业务组的业务虚拟机作为预备虚拟机;
步骤130,若扩容因子达到预设第二阈值则将预留组的预备虚拟机迁移至业务组。
为了便于对本发明的理解,下面以本发明业务虚拟机数量动态扩容方法的原理,结合实施例中对业务虚拟机数量进行动态扩容的过程,对本发明提供的业务虚拟机数量动态扩容方法做进一步的描述。
具体的,请参考图2,所述业务虚拟机数量动态扩容方法包括:
S1、将处理用户业务的所有虚拟机划分至业务组,监控业务组的业务虚拟机的资源参数,并根据业务虚拟机的资源参数计算业务组扩容因子。
定期获取各业务虚拟机的资源参数,例如每隔5min采集一次业务虚拟机的资源参数。资源参数包括CPU利用率、内存利用率、网络吞吐率和存储使用率;根据预先设置的CPU利用率权值、内存利用率权值、网络吞吐率权值和存储使用率权值计算各业务虚拟机的资源参数加权和;计算各业务虚拟机的资源参数加权和的平均值,并将所述平均值作为扩容因子输出。
通过扩容策略对业务中的虚拟机资源自动扩容。
扩容策略中包括扩容因子(用r代表)和扩容参数。扩容参数包括业务组中的各虚拟机的CPU利用率(用a代表)、内存利用率(用b代表)、网络吞吐率(用c代表)、存储使用率(用d代表),每个参数乘以其权重值相加即为扩容因子,单个虚拟机的扩容因子计算公式为:
r=a*30%+b*30%+c*20%+d*20%。
业务组的扩容因子R为各业务虚拟机的扩容因子平均值。
业务组代表云平台中实际承载业务的多台业务虚拟机集合,业务组中运行监控各业务虚拟机资源参数的大数据模块。
大数据模块负责实时获取业务虚拟机的CPU、内存、网络吞吐率、存储使用率等数据,根据历史数据分析预测各参数趋势,计算扩容因子,每隔5分钟给出扩容因子。
S2、若扩容因子达到预设第一阈值则在预先创建的预留组复制业务组的业务虚拟机作为预备虚拟机。
预备组的作用是当业务组扩容测试被触发需要扩容时,可立即将虚拟机开机加入到业务组,不需要重新复制虚拟机,节省虚拟机加入业务组的时间,提高业务组扩容效率,几乎可以做到实时扩容,扩容策略被触发后预备虚拟机可立即加入业务组承载业务。
大数据通过监控业务组中的CPU利用率、内存利用率、网络吞吐率、存储使用率计算扩容因子。云平台根据扩容因子的阈值进行扩容,具体策略如下:
当扩容因子大于0.6(第一阈值)时,云平台从业务中选择业务虚拟机复制成预备虚拟机,将预备虚拟机加入预备组。
当扩容因子小于0.6时,云平台停止复制业务虚拟机为预备虚拟机,停止将预备虚拟机加入预备组。
基于用户业务的增长速度不同,增长速度越快需要增加的虚拟机数量就越多。因此本实施例进一步提出了以下方法:
(1)预先设置多个扩容因子波动等级,每个扩容因子波动等级均对应一个预备虚拟机数量,例如等级x1-x2对应预备虚拟机数量a;x2-x3对应预备虚拟机数量b。在设置扩容因子波动等级时,收集历史扩容因子波动斜率和相应的预备虚拟机数量,利用大数据分析技术根据历史扩容因子波动斜率和相应的预备虚拟机数量生成多个扩容因子波动等级。
(2)监控扩容因子波动情况,创建扩容因子波动监控进程,波动监控进程采集更新的扩容因子并根据所述波动情况估算上升斜率。在扩容因子R达到0.6之后,采集当前扩容因子Rt,斜率其中t为当前时刻距波动因子达到第一阈值0.6的时刻的时间差。
(3)根据上升斜率所属的波动等级生成对应的目标预备虚拟机数量。
(4)通过复制业务虚拟机在预留组不断创建预备虚拟机,并在预备虚拟机数量达到目标预备虚拟机数量时停止复制业务虚拟机。
S3、若扩容因子达到预设第二阈值则将预留组的预备虚拟机迁移至业务组。
当扩容因子大于第二阈值0.8时,云平台从预备组中选择预备虚拟机加入业务组承载业务运行。当扩容因子小于0.8时,云平台停止从预备组中选择虚拟机加入业务组。
S4、虚拟机缩容。
若扩容因子低于预设第三阈值则将空闲业务虚拟机不断向预留组迁移,并在扩容因子不低于所述第三阈值时停止将空闲业务虚拟机向预留组迁移;
若预留组的预备虚拟机数量超过预设预备阈值,则监控所述扩容因子低于第二阈值的持续时间,并在所述持续时间超过预设时间阈值时通过删除部分预备虚拟机使预备虚拟机数量不超过所述预备阈值。计算当前预备虚拟机数量与预备阈值的差值,将所述差值作为删除预备虚拟机的数量。
具体的,第三阈值为0.2,当业务组扩容因子R低于0.2说明业务组虚拟机过多,创建过多的虚拟机造成硬件资源浪费,需要对业务组虚拟机数量进行缩容。具体缩容方法为:从业务组中选取资源参数加权和最小的业务虚拟机作为目标虚拟机;将目标虚拟机的业务迁移至其他资源参数加权和不超过所述第一阈值的业务虚拟机;将完成业务迁移的目标虚拟机变更为预备虚拟机。由于业务组的业务虚拟机存在负载均衡,保证各业务虚拟机的资源使用率差距不会过大。因此本实施例可以选取几个资源参数较低的业务虚拟机作为待迁移目标虚拟机,将这些目标虚拟机的业务迁移至其他业务虚拟机后,将目标虚拟机变更为预备虚拟机,从而实现业务虚拟机的缩容。缩容可以是分批次执行,执行完一次目标虚拟机迁移后若业务组扩容因子仍大于0.2,则再次从业务组选取目标虚拟机进行迁移。
预留组中的预备虚拟机均不处理任何业务,因此长期保留大量的预备虚拟机也会造成硬件资源浪费。而频繁删除预备虚拟机时待用户业务增加又需要复制虚拟机,也会造成计算资源的浪费。因此本实施例设置预备阈值,即仅保留较少数量的预备虚拟机,同时监控距上次创建预备虚拟机的时间,即预备虚拟机在被业务组取用一段时间以后热度降低,此时再对预备虚拟机进行缩容,避免了频繁删除/创建虚拟机。
如图3所示,该系统300包括:
参数监控单元310,用于将处理用户业务的所有虚拟机划分至业务组,监控业务组的业务虚拟机的资源参数,并根据业务虚拟机的资源参数计算业务组扩容因子;
预备构建单元320,用于若扩容因子达到预设第一阈值则在预先创建的预留组复制业务组的业务虚拟机作为预备虚拟机;
业务扩容单元330,用于若扩容因子达到预设第二阈值则将预留组的预备虚拟机迁移至业务组。
可选地,作为本发明一个实施例,所述参数监控单元包括:
参数获取模块,用于定期获取各业务虚拟机的资源参数,资源参数包括CPU利用率、内存利用率、网络吞吐率和存储使用率;
参数计算模块,用于根据预先设置的CPU利用率权值、内存利用率权值、网络吞吐率权值和存储使用率权值计算各业务虚拟机的资源参数加权和;
因子输出模块,用于计算各业务虚拟机的资源参数加权和的平均值,并将所述平均值作为扩容因子输出。
可选地,作为本发明一个实施例,所述预备构建单元包括:
等级设置模块,用于预先设置多个扩容因子波动等级,每个扩容因子波动等级均对应一个预备虚拟机数量;
斜率估算模块,用于监控扩容因子波动情况,并根据所述波动情况估算上升斜率;
数量生成模块,用于根据上升斜率所属的波动等级生成对应的目标预备虚拟机数量;
复制执行模块,用于通过复制业务虚拟机在预留组不断创建预备虚拟机,并在预备虚拟机数量达到目标预备虚拟机数量时停止复制业务虚拟机。
可选地,作为本发明一个实施例,所述系统还包括:
空闲迁移单元,用于若扩容因子低于预设第三阈值则将空闲业务虚拟机不断向预留组迁移,并在扩容因子不低于所述第三阈值时停止将空闲业务虚拟机向预留组迁移;
预留控制单元,用于若预留组的预备虚拟机数量超过预设预备阈值,则监控所述扩容因子低于第二阈值的持续时间,并在所述持续时间超过预设时间阈值时通过删除部分预备虚拟机使预备虚拟机数量不超过所述预备阈值。
图4为本发明实施例提供的一种终端400的结构示意图,该终端400可以用于执行本发明实施例提供的业务虚拟机数量动态扩容方法。
其中,该终端400可以包括:处理器410、存储器420及通信单元430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器420可以用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器420中的执行指令由处理器410执行时,使得终端400能够执行以下上述方法实施例中的部分或全部步骤。
处理器410为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器410可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元430,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过实时监控现有的执行用户业务的业务虚拟机的资源参数并根据各业务虚拟机的资源参数计算扩容因子,根据扩容因子的大小判断是否需要增加虚拟机数量,同时通过预先构建预备虚拟机,在用户业务达到一定程度后,直接启用预备虚拟机,避免了用户业务增加到现有业务虚拟机不够用时临时创建虚拟机导致的系统崩溃。本发明使业务组始终保持在一种健康的运行状态,且调整过程对用户是透明的,用户感知不到承载业务的云平台中虚拟机数量的增减,给用户运行业务带来了极佳的用户体验。本发明还提高了云平台的运行效率,节约了云平台的整体资源。本发明把云平台管理员从复杂的运维管理中解放出来,提高了运维效率,节省了运维成本,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种业务虚拟机数量动态扩容方法,其特征在于,包括:
将处理用户业务的所有虚拟机划分至业务组,监控业务组的业务虚拟机的资源参数,并根据业务虚拟机的资源参数计算业务组扩容因子;
若扩容因子达到预设第一阈值则在预先创建的预留组复制业务组的业务虚拟机作为预备虚拟机;
若扩容因子达到预设第二阈值则将预留组的预备虚拟机迁移至业务组。
2.根据权利要求1所述的方法,其特征在于,将处理用户业务的所有虚拟机划分至业务组,监控业务组的业务虚拟机的资源参数,并根据业务虚拟机的资源参数计算业务组扩容因子,包括:
定期获取各业务虚拟机的资源参数,资源参数包括CPU利用率、内存利用率、网络吞吐率和存储使用率;
根据预先设置的CPU利用率权值、内存利用率权值、网络吞吐率权值和存储使用率权值计算各业务虚拟机的资源参数加权和;
计算各业务虚拟机的资源参数加权和的平均值,并将所述平均值作为扩容因子输出。
3.根据权利要求2所述的方法,其特征在于,定期获取各业务虚拟机的资源参数,包括:
每隔5min采集一次业务虚拟机的资源参数。
4.根据权利要求2所述的方法,其特征在于,若扩容因子达到预设第一阈值则在预先创建的预留组复制业务组的业务虚拟机作为预备虚拟机,包括:
预先设置多个扩容因子波动等级,每个扩容因子波动等级均对应一个预备虚拟机数量;
监控扩容因子波动情况,并根据所述波动情况估算上升斜率;
根据上升斜率所属的波动等级生成对应的目标预备虚拟机数量;
通过复制业务虚拟机在预留组不断创建预备虚拟机,并在预备虚拟机数量达到目标预备虚拟机数量时停止复制业务虚拟机。
5.根据权利要求4所述的方法,其特征在于,预先设置多个扩容因子波动等级,包括:
收集历史扩容因子波动斜率和相应的预备虚拟机数量,利用大数据分析技术根据历史扩容因子波动斜率和相应的预备虚拟机数量生成多个扩容因子波动等级。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若扩容因子低于预设第三阈值则将空闲业务虚拟机不断向预留组迁移,并在扩容因子不低于所述第三阈值时停止将空闲业务虚拟机向预留组迁移;
若预留组的预备虚拟机数量超过预设预备阈值,则监控所述扩容因子低于第二阈值的持续时间,并在所述持续时间超过预设时间阈值时通过删除部分预备虚拟机使预备虚拟机数量不超过所述预备阈值。
8.根据权利要求7所述的方法,其特征在于,在所述持续时间超过预设时间阈值时通过删除部分预备虚拟机使预备虚拟机数量不超过所述预备阈值,包括:
计算当前预备虚拟机数量与预备阈值的差值,将所述差值作为删除预备虚拟机的数量。
9.根据权利要求7所述的方法,其特征在于,将空闲业务虚拟机向预留组迁移的方法,包括:
从业务组中选取资源参数加权和最小的业务虚拟机作为目标虚拟机;
将目标虚拟机的业务迁移至其他资源参数加权和不超过所述第一阈值的业务虚拟机;
将完成业务迁移的目标虚拟机变更为预备虚拟机。
10.一种业务虚拟机数量动态扩容系统,其特征在于,包括:
参数监控单元,用于将处理用户业务的所有虚拟机划分至业务组,监控业务组的业务虚拟机的资源参数,并根据业务虚拟机的资源参数计算业务组扩容因子;
预备构建单元,用于若扩容因子达到预设第一阈值则在预先创建的预留组复制业务组的业务虚拟机作为预备虚拟机;
业务扩容单元,用于若扩容因子达到预设第二阈值则将预留组的预备虚拟机迁移至业务组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110826605.6A CN113626145B (zh) | 2021-07-21 | 2021-07-21 | 业务虚拟机数量动态扩容方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110826605.6A CN113626145B (zh) | 2021-07-21 | 2021-07-21 | 业务虚拟机数量动态扩容方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113626145A true CN113626145A (zh) | 2021-11-09 |
CN113626145B CN113626145B (zh) | 2022-07-19 |
Family
ID=78380423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110826605.6A Active CN113626145B (zh) | 2021-07-21 | 2021-07-21 | 业务虚拟机数量动态扩容方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113626145B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116610270A (zh) * | 2023-07-21 | 2023-08-18 | 湖南马栏山视频先进技术研究院有限公司 | 一种视频处理的存算分离方法及视频存算分离系统 |
CN117407237A (zh) * | 2023-09-15 | 2024-01-16 | 通明智云(北京)科技有限公司 | 一种基于轮询模式的cpu利用率统计方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140189682A1 (en) * | 2012-12-27 | 2014-07-03 | International Business Machines Corporation | Automatically Managing the Storage of a Virtual Machine |
CN104519082A (zh) * | 2013-09-27 | 2015-04-15 | 腾讯科技(深圳)有限公司 | 一种云计算的扩容方法和装置 |
CN107368351A (zh) * | 2017-07-25 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种虚拟机配置自动升级扩容方法和装置 |
CN112698908A (zh) * | 2019-10-23 | 2021-04-23 | 阿里巴巴集团控股有限公司 | 云计算资源的伸缩处理方法及装置、存储介质及处理器 |
-
2021
- 2021-07-21 CN CN202110826605.6A patent/CN113626145B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140189682A1 (en) * | 2012-12-27 | 2014-07-03 | International Business Machines Corporation | Automatically Managing the Storage of a Virtual Machine |
CN104519082A (zh) * | 2013-09-27 | 2015-04-15 | 腾讯科技(深圳)有限公司 | 一种云计算的扩容方法和装置 |
CN107368351A (zh) * | 2017-07-25 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种虚拟机配置自动升级扩容方法和装置 |
CN112698908A (zh) * | 2019-10-23 | 2021-04-23 | 阿里巴巴集团控股有限公司 | 云计算资源的伸缩处理方法及装置、存储介质及处理器 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116610270A (zh) * | 2023-07-21 | 2023-08-18 | 湖南马栏山视频先进技术研究院有限公司 | 一种视频处理的存算分离方法及视频存算分离系统 |
CN116610270B (zh) * | 2023-07-21 | 2023-10-03 | 湖南马栏山视频先进技术研究院有限公司 | 一种视频处理的存算分离方法及视频存算分离系统 |
CN117407237A (zh) * | 2023-09-15 | 2024-01-16 | 通明智云(北京)科技有限公司 | 一种基于轮询模式的cpu利用率统计方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113626145B (zh) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737442B (zh) | 一种边缘应用管理方法及系统 | |
CN108881495B (zh) | 资源分配方法、装置、计算机设备及存储介质 | |
Ding et al. | Fault-tolerant elastic scheduling algorithm for workflow in cloud systems | |
CN105159751B (zh) | 一种云数据中心中能量高效的虚拟机迁移方法 | |
CN111796908B (zh) | 一种资源自动弹性伸缩的系统、方法及云平台 | |
CN113626145B (zh) | 业务虚拟机数量动态扩容方法及系统 | |
CN107273182B (zh) | 一种虚拟机资源动态扩充方法及系统 | |
CN111158852A (zh) | 一种训练资源动态分配方法、系统、终端及存储介质 | |
CN112579304A (zh) | 基于分布式平台的资源调度方法、装置、设备及介质 | |
CN103810015A (zh) | 虚拟机创建方法和设备 | |
CN111078404B (zh) | 一种计算资源确定方法、装置、电子设备及介质 | |
CN103561055A (zh) | 基于会话的云计算环境下Web应用自动弹性扩展方法 | |
US20230418661A1 (en) | Decentralized resource scheduling | |
CN113821340A (zh) | 分布式系统的动态均衡方法、系统、终端及存储介质 | |
CN114356543A (zh) | 一种基于Kubernetes的多租户机器学习任务资源调度方法 | |
CN107203256B (zh) | 一种网络功能虚拟化场景下的节能分配方法与装置 | |
Mendes et al. | Oversubscribing micro-clouds with energy-aware containers scheduling | |
US11656914B2 (en) | Anticipating future resource consumption based on user sessions | |
CN108563504A (zh) | 一种资源管控方法和装置 | |
CN112486664A (zh) | 一种节点扩容方法、系统、终端及存储介质 | |
CN110806918A (zh) | 基于深度学习神经网络的虚拟机运行方法和装置 | |
CN110908783A (zh) | 一种云数据中心虚拟机的管控方法、系统及设备 | |
CN110109758A (zh) | 一种云计算资源分配方法 | |
CN115794306A (zh) | 基于抢占实例的资源分配方法及装置、电子设备及介质 | |
CN110362383B (zh) | 面向季节型非平稳并发量的p-e权衡的vm迁移方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |