一种虚拟机优化方法及服务器与流程

专利2026-02-13  19


本技术涉及服务器,尤其涉及一种虚拟机优化方法及服务器。


背景技术:

1、现有的虚拟化/超融合场景,通常使用虚拟机承载业务。一般情况下,一个虚拟机可以承载一项业务,每一个虚拟机都需要一个独立的guestos系统。但是,在虚拟机的实际运行过程中,虚拟机所在的主机上存在很多系统进程与承载的业务是无关,或者不是直接相关的,由此造成了对于不同的业务,需要重复创建os,造成了系统资源的浪费。

2、为了解决通过虚拟机承载业务造成的系统资源浪费,可以将部分虚拟机需要承载的业务通过容器进行实现,而如何从超融合集群的服务器上部署的多个虚拟机中选择适合通过容器承载的业务虚拟机,并将该业务虚拟机转换成容器,以降低不必要的开销,提升超融合集群整体的资源利用率,是当前亟待解决的问题。


技术实现思路

1、本技术实施例提供了一种虚拟机优化方法及服务器,通过对虚拟机内部业务进程的资源使用情况进行分析,选择适合转换为容器的虚拟机,并转换为容器,降低了服务器系统中非业务相关进程的开销,从而节约出更多的资源用于承载更多的业务。

2、第一方面,本技术实施例提供了一种虚拟机优化方法,应用于服务器,该方法包括:获取服务器上部署的多个虚拟机中每一个虚拟机上的业务进程的系统资源使用率;根据多个虚拟机中每一个虚拟机上的业务进程的系统资源使用率,从多个虚拟机中确定至少一个目标虚拟机,并对目标虚拟机添加优化标签,优化标签用于标识目标虚拟机需要进行优化;将携带有优化标签的虚拟机转换为容器。

3、也就是说,通过对服务器上部署的多个虚拟机中每一个虚拟机上的业务进程的系统资源使用率进行分析,可以从中筛选出适合转换为容器的虚拟机(例如其上所运行的业务进程的系统资源使用率较低的虚拟机)。通过对适合转换为容器的虚拟机添加优化标签,并统一将携带有优化标签的虚拟机转换为容器,可以降低服务器上的非业务相关进程的开销,从而节约出更多的资源用于承载更多的业务。

4、在一个可能的实现方式中,获取服务器上部署的多个虚拟机中每一个虚拟机上的业务进程的系统资源使用率,包括:周期性的获取服务器上部署的多个虚拟机中每一个虚拟机上的业务进程的系统资源使用率,并保存到服务器的数据库中。

5、也就是说,在获取虚拟机上的业务进程的系统资源使用率时,可以周期性的进行获取,在每次获取到虚拟机上的业务进程的系统资源使用率以后,可以将获取的虚拟机上的业务进程的系统资源使用率保存到数据库中,以便后续确定该虚拟机是否适合转换为容器时,可以对存储到数据库中的数据做历史数据分析。

6、在一个可能的实现方式中,根据多个虚拟机中每一个虚拟机上的业务进程的系统资源使用率,从多个虚拟机中确定至少一个目标虚拟机,并对目标虚拟机添加优化标签之前,该方法还包括:计算多个虚拟机中每一个虚拟机上的业务进程在多个数据获取周期内的系统资源使用率的方差;将多个虚拟机中每一个虚拟机上的业务进程的资源使用率的方差与预设方差值进行比较,将小于预设方差值的虚拟机添加到待转换虚拟机集合中,以对待转换虚拟机集合中的虚拟机进行优化。

7、也就是说,在根据多个数据获取周期内获取的虚拟机上的业务进程的系统资源使用率,确定适合转换为容器的虚拟机之前,还可以根据多个数据获取周期内获取的虚拟机上的业务进程的系统资源使用率的方差,去除业务进程的系统资源使用率波动较大的虚拟机,以避免因为偶然因素的影响而导致虚拟机上的业务进程的系统资源使用率变化的情况。

8、在一个可能的实现方式中,根据多个虚拟机中每一个虚拟机上的业务进程的系统资源使用率,从多个虚拟机中确定至少一个目标虚拟机,并对目标虚拟机添加优化标签,包括:若在连续多个数据获取周期内获取的虚拟机上的业务进程的系统资源使用率均小于预设使用率阈值,则将虚拟机添加到空闲虚拟机集合中;从空闲虚拟机集合中确定至少一个目标虚拟机,并对目标虚拟机添加优化标签。

9、也就是说,在根据多个数据获取周期内获取的虚拟机上的业务进程的系统资源使用率,确定适合转换为容器的虚拟机时,对于每一个虚拟机,可以对该虚拟机多个数据获取周期内获取到的业务进程的系统资源使用率进行分析,若某一个虚拟机在连续n个数据获取周期内获取的业务进程的系统资源使用率都低于预设使用率阈值,表明该虚拟机上的业务进程的系统资源使用率持续较低。只有在连续多个数据获取周期内获取的业务进程的系统资源使用率都低于预设使用率阈值的情况下,才将该虚拟添加到空闲虚拟机集合中,避免了因为偶然因素的影响而导致虚拟机上的业务进程的系统资源使用率变化的情况。

10、在一个可能的实现方式中,根据多个虚拟机中每一个虚拟机上的业务进程的系统资源使用率,从多个虚拟机中确定至少一个目标虚拟机,并对目标虚拟机添加优化标签,包括:将多个数据获取周期内获取的虚拟机上的业务进程的系统资源使用率总和,按照由高到低的顺序进行排序;将业务进程的系统资源使用率总和最低的多个虚拟机添加到空闲虚拟机集合中;从空闲虚拟机集合中确定至少一个目标虚拟机,并对目标虚拟机添加优化标签。

11、也就是说,在根据多个数据获取周期内获取的虚拟机上的业务进程的系统资源使用率,确定适合转换为容器的虚拟机时,还可以对多个数据获取周期内获取多个虚拟机的业务进程资源使用率的总和进行排序,选择业务进程系统资源使用率总和最低的m个虚拟机添加到空闲虚拟机集合中。业务进程的系统资源使用率总和最低的多个虚拟机才会被加入该集合中以待转换,业务进程的系统资源使用率总和较高的虚拟机则被保留,利于达到服务器性能和转换成本等因素之间的平衡。此外,利用对多个数据获取周期内获取的业务进程系统资源使用率总和进行虚拟机筛选,避免了在单一的数据获取周期内,因为偶然因素的影响而导致虚拟机上的业务进程的系统资源使用率变化的情况。

12、在一个可能的实现方式中,将携带有优化标签的虚拟机转换为容器,包括:在预设时间段,将携带有优化标签的目标虚拟机转换为容器;或者,接收用户输入的优化请求,优化请求用于指示服务器将携带有优化标签的目标虚拟机转换为容器,响应于用户输入的优化请求,将携带有优化标签的目标虚拟机转换为容器。

13、也就是说,在将携带有优化标签的虚拟转换为容器时,可以设置自动转换也可以设置手动转换。

14、在一个可能的实现方式中,所述将携带有所述优化标签的虚拟机转换为容器,包括:获取携带有所述优化标签的所述目标虚拟机的业务进程信息,所述业务进程信息至少包括所述业务进程所依赖的数据库、环境变量、配置文件和/或挂载的存储卷;根据所述业务进程信息,通过预设的脚本或程序创建对应的容器镜像;将所述容器镜像转换为所述容器。

15、也就是说,在将携带有优化标签的虚拟转换为容器过程中,服务器可以基于目标虚拟机上业务进程的环境变量、配置文件以及挂载的存储等依赖信息,创建适合该业务进行运行的容器,从而实现将虚拟机向容器的迁移。

16、在一个可能的实现方式中,在所述将携带有所述优化标签的虚拟机转换为容器之后,所述方法包括:将所述容器挂载至该目标虚拟机所挂载的磁盘;运行所述容器,并关闭该目标虚拟机,以此在完成业务进程的迁移之后,避免该目标虚拟机上的非业务相关进程继续占用服务器资源。

17、在一个可能的实现方式中,该方法还包括:接收用户输入的第一信息,第一信息中携带有优化策略,优化策略用于从服务器上部署的多个虚拟机中选择适合转换为容器的目标虚拟机。

18、也就是说,在本技术实施例中,支持用户预先配置将服务器上部署的多个虚拟机转换为容器的优化策略。

19、在一个可能的实现方式中,优化策略包括:转换类型、衡量因素、策略触发阈值、检测周期、数据获取周期中的至少一种。

20、在一个可能的实现方式中,该方法还包括:将优化策略与服务器上部署的多个虚拟机进行绑定,以使服务器可以基于优化策略从多个虚拟中选择需要转换为容器的虚拟机并进行转换。

21、也就是说,用户在设置好优化策略以后,服务还需要将用户设置的优化策略与服务器上部署的多个虚拟机进行绑定,以使服务器可以根据优化策略从多个虚拟机选择适合转换为容器的虚拟机。

22、在一个可能的实现方式中,在接收用户输入的第一信息之后,该方法还包括:对于多个虚拟机中的任意一个虚拟机,确定虚拟机是否安装有数据获取工具,数据获取工具用于获取虚拟机上的资源使用信息;和/或,对于多个虚拟机中的任意一个虚拟机,确定虚拟机的业务进程是否满足在容器运行的条件(例如是否具有特殊作业需求等);对于多个虚拟机中的任意一个虚拟机,在虚拟机安装有数据获取工具和/或虚拟机的业务进程是否满足在容器运行的条件情况下,将优化策略与虚拟机绑定。

23、也就是说,服务器在将优化策略与服务器上部署的虚拟机绑定时,服务器需要对服务器上的虚拟机进行前置条件检查。其中,对虚拟机进行前置检查的目的主要是确定该虚拟机是否能够被转换为容器。

24、第二方面,本技术实施例提供了一种虚拟机优化装置,应用于服务器,该装置可以包括:获取模块,用于获取服务器上部署的多个虚拟机中每一个虚拟机上的业务进程的系统资源使用率;处理模块,用于根据多个虚拟机中每一个虚拟机上的业务进程的系统资源使用率,从多个虚拟机中确定至少一个目标虚拟机,并对目标虚拟机添加优化标签,优化标签用于标识目标虚拟机需要进行优化;处理模块,还用于将携带有优化标签的虚拟机转换为容器。

25、在一个可能的实现方式中,获取模块具体用于:周期性的获取服务器上部署的多个虚拟机中每一个虚拟机上的业务进程的系统资源使用率,并保存到服务器的数据库中。

26、在一个可能的实现方式中,处理模块还可以用于:计算多个虚拟机中每一个虚拟机上的业务进程在多个数据获取周期内的系统资源使用率的方差;将多个虚拟机中每一个虚拟机上的业务进程的资源使用率的方差与预设方差值进行比较,将小于预设方差值的虚拟机添加到待转换虚拟机集合中,以对待转换虚拟机集合中的虚拟机进行优化。

27、在一个可能的实现方式中,处理模块具体可以用于:若在连续多个数据获取周期内获取的虚拟机上的业务进程的系统资源使用率均小于预设使用率阈值,则将虚拟机添加到空闲虚拟机集合中;从空闲虚拟机集合中确定至少一个目标虚拟机,并对目标虚拟机添加优化标签。

28、在一个可能的实现方式中,处理模块具体可以用于:将多个数据获取周期内获取的虚拟机上的业务进程的系统资源使用率总和,按照由高到低的顺序进行排序;将业务进程的系统资源使用率总和最低的m个虚拟机添加到空闲虚拟机集合中;从空闲虚拟机集合中确定至少一个目标虚拟机,并对目标虚拟机添加优化标签。

29、在一个可能的实现方式中,处理模块具体可以用于:在预设时间段,将携带有优化标签的目标虚拟机转换为容器;或者,接收用户输入的优化请求,优化请求用于指示服务器将携带有优化标签的目标虚拟机转换为容器,响应于用户输入的优化请求,将携带有优化标签的目标虚拟机转换为容器。

30、在一个可能的实现方式中,处理模块具体可以用于:获取携带有所述优化标签的所述目标虚拟机的业务进程信息,所述业务进程信息至少包括所述业务进程所依赖的数据库、环境变量、配置文件以及挂载的存储卷;根据所述业务进程信息,通过预设的脚本或程序创建对应的容器镜像;将所述容器镜像转换为所述容器。

31、在一个可能的实现方式中,处理模块还可以用于:将所述容器挂载至该目标虚拟机所挂载的磁盘;运行所述容器,并关闭该目标虚拟机,以此在完成业务进程的迁移之后,避免该目标虚拟机上的非业务相关进程继续占用服务器资源。

32、在一个可能的实现方式中,获取模块还可以用于:接收用户输入的第一信息,第一信息中携带有优化策略,优化策略用于从服务器上部署的多个虚拟机中选择适合转换为容器的目标虚拟机。

33、在一个可能的实现方式中,优化策略包括:转换类型、衡量因素、策略触发阈值、检测周期、数据获取周期中的至少一种。

34、在一个可能的实现方式中,处理模块具体可以用于:将优化策略与服务器上部署的多个虚拟机进行绑定,以使服务器可以基于优化策略从多个虚拟中选择需要转换为容器的虚拟机并进行转换。

35、在一个可能的实现方式中,处理模块具体可以用于:对于多个虚拟机中的任意一个虚拟机,确定虚拟机是否安装有数据获取工具,数据获取工具用于获取虚拟机上的资源使用信息;和/或,对于多个虚拟机中的任意一个虚拟机,确定虚拟机的业务进程是否满足在容器运行的条件(例如是否具有特殊作业需求等);对于多个虚拟机中的任意一个虚拟机,在虚拟机安装有数据获取工具和/或虚拟机的业务进程是否满足在容器运行的条件情况下,将优化策略与虚拟机绑定。

36、第三方面,本技术实施例提供了一种服务器,包括:

37、至少一个存储器,用于存储程序;

38、至少一个处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行第一方面或第一方面的任一种可能的实现方式所描述的方法。

39、第四方面,本技术实施例提供了一种计算机存储介质,计算机存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行第一方面或第一方面的任一种可能的实现方式所描述的方法。

40、第五方面,本技术实施例提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行第一方面或第一方面的任一种可能的实现方式所描述的方法。

41、可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。


技术特征:

1.一种虚拟机优化方法,其特征在于,应用于服务器,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在所述根据所述多个虚拟机中每一个虚拟机上的业务进程的系统资源使用率,从所述多个虚拟机中确定至少一个目标虚拟机,并对所述目标虚拟机添加优化标签之前,所述方法还包括:

3.根据权利要求1或2所述的方法,其特征在于,所述根据所述多个虚拟机中每一个虚拟机上的业务进程的系统资源使用率,从所述多个虚拟机中选择到至少一个目标虚拟机,并对所述目标虚拟机添加优化标签,包括:

4.根据权利要求1或2所述的方法,其特征在于,所述根据所述多个虚拟机中每一个虚拟机上的业务进程的系统资源使用率,从所述多个虚拟机中选择到至少一个目标虚拟机,并对所述目标虚拟机添加优化标签,包括:

5.根据权利要求1所述的方法,其特征在于,所述将携带有所述优化标签的所述目标虚拟机转换为容器,包括:

6.根据权利要求1或5所述的方法,其特征在于,所述将携带有所述优化标签的虚拟机转换为容器,包括:

7.根据权利要求6所述的方法,其特征在于,在所述将携带有所述优化标签的虚拟机转换为容器之后,所述方法包括:

8.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收用户输入的第一信息,所述第一信息中携带有优化策略,所述优化策略用于从所述服务器上部署的多个虚拟机中确定转换为容器的所述目标虚拟机,所述优化策略包括:转换类型、衡量因素、策略触发阈值、检测周期、数据获取周期中的至少一种。

9.根据权利要求8所述的方法,其特征在于,在所述接收用户输入的第一信息之后,所述方法还包括:

10.一种服务器,其特征在于,包括:


技术总结
本申请实施例提供了一种虚拟机优化的方法及服务器,涉及服务器领域。方法包括:获取所述服务器上部署的多个虚拟机中每一个虚拟机上的业务进程的系统资源使用率;根据所述多个虚拟机中每一个虚拟机上的业务进程的系统资源使用率,从所述多个虚拟机中确定至少一个目标虚拟机,并对所述目标虚拟机添加优化标签,所述优化标签用于标识所述虚拟机需要进行优化;将携带有所述优化标签的目标虚拟机转换为容器。通过对虚拟机内部不同进程的资源使用情况进行动态跟踪和分析,选择适合转换为容器的虚拟机,并转换为容器,降低了服务器系统中非业务相关进程的开销,从而节约出更多的资源用于承载更多的业务。

技术研发人员:户彦超
受保护的技术使用者:超聚变数字技术有限公司
技术研发日:
技术公布日:2024/12/17
转载请注明原文地址:https://xbbs.6miu.com/read-29702.html