CN116932143A - 虚拟机数量调整方法、装置、计算机设备及存储介质 - Google Patents
虚拟机数量调整方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN116932143A CN116932143A CN202310905043.3A CN202310905043A CN116932143A CN 116932143 A CN116932143 A CN 116932143A CN 202310905043 A CN202310905043 A CN 202310905043A CN 116932143 A CN116932143 A CN 116932143A
- Authority
- CN
- China
- Prior art keywords
- virtual machines
- virtual machine
- virtual
- machines
- service
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000007246 mechanism Effects 0.000 claims abstract description 40
- 230000015654 memory Effects 0.000 claims description 29
- 238000004891 communication Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 6
- 239000002699 waste material Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect 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/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/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/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明涉及虚拟机技术领域,公开了虚拟机数量调整方法、装置、计算机设备及存储介质,本发明获取初始虚拟机模板和虚拟机数量,并基于初始虚拟机模板生成虚拟机数量的虚拟机,以形成虚拟机集群;基于业务分配机制,为虚拟机集群中的虚拟机负载业务;基于虚拟机的负载信息,调整虚拟机集群中虚拟机的数量。如此,可以根据虚拟机的负载情况,动态、自动调整虚拟机的数量。
Description
技术领域
本发明涉及虚拟机技术领域,具体涉及虚拟机数量调整方法、装置、计算机设备及存储介质。
背景技术
虚拟机(Virtual Machine,VM)是通过软件模拟的完整计算机系统,可以实现实体计算机中的所有工作。对于客户的业务而言,如网站访问业务,会存在业务访问高峰和访问低谷,传统的方法是以手动的方式对虚拟机进行部署,配置虚拟机内部应用的配置,在业务访问高峰时增加虚拟机的数量,在业务访问低谷时减少虚拟机的数量。这样手动配置虚拟机的方法不仅麻烦,在配置过程中也容易产生错误。
发明内容
有鉴于此,本发明提供了一种虚拟机数量调整方法、装置、计算机设备及存储介质,以解决虚拟机数量调整与配置麻烦易出错的问题。
第一方面,本发明提供了一种虚拟机数量调整方法,该方法包括:
获取初始虚拟机模板和虚拟机数量,并基于初始虚拟机模板生成虚拟机数量的虚拟机,以形成虚拟机集群;
基于业务分配机制,为虚拟机集群中的虚拟机负载业务;
基于虚拟机的负载信息,调整虚拟机集群中虚拟机的数量。
如此,可以根据虚拟机的负载情况,动态、自动调整虚拟机的数量。
在一种可选的实施方式中,基于初始虚拟机模板生成虚拟机数量的虚拟机,以形成虚拟机集群,包括:
基于初始虚拟机模板建立虚拟机数量的虚拟机;
基于配置信息,分别配置虚拟机数量的虚拟机;配置信息包括地址信息、账户信息和业务信息。
如此,可以根据配置好的初始虚拟机模板直接对虚拟机进行配置,不需要手动对虚拟机进行配置,简化了虚拟机配置的操作,避免虚拟机配置出错。
在一种可选的实施方式中,基于业务分配机制,为虚拟机集群中的虚拟机负载业务,包括:
获取虚拟机集群中每个虚拟机的地址信息,得到地址信息集合;
按照业务分配机制和地址信息集合,为虚拟机分配业务。
如此,可以根据虚拟机的地址,为虚拟机分配业务,以实现各个虚拟机上的负载均衡。
在一种可选的实施方式中,基于虚拟机的负载信息,调整虚拟机的数量,包括:
当检测到存在虚拟机的负载信息大于第一负载阈值时,启用第一预设数量的额外虚拟机,以增加虚拟机集群中虚拟机的数量。
如此,可以在虚拟机的负载信息大于第一负载阈值时,也就是在业务访问高峰时,增加虚拟机的数量,从而避免高峰期时虚拟机负载过大,影响业务处理效率。
在一种可选的实施方式中,启用第一预设数量的额外虚拟机,包括:
基于初始虚拟机模板和额外虚拟机的配置信息,配置第一预设数量的额外虚拟机;
将第一预设数量的额外虚拟机的地址信息加入地址信息集合,以更新地址信息集合;
基于更新后的地址信息集合和业务分配机制,为虚拟机集群中的虚拟机分配业务。
如此,可以在增加额外虚拟机时,不需要人为手动对其进行配置,而可以直接通过初始虚拟机模板配置额外虚拟机,简化了虚拟机数量调整的操作和过程。
在一种可选的实施方式中,基于虚拟机的负载信息,调整虚拟机的数量,包括:
当检测到虚拟机的负载信息小于第二负载阈值时,从虚拟机集群中去除第二预设数量的虚拟机,以减少虚拟机集群中虚拟机的数量。
如此,可以在虚拟机的负载信息小于第二负载阈值时,也就是在业务访问低谷时,减少虚拟机的数量,避免资源浪费。
在一种可选的实施方式中,从虚拟机集群中去除第二预设数量的虚拟机,包括:
从地址信息集合中去除第二预设数量的虚拟机的地址信息,以更新地址信息集合;
基于更新后的地址信息集合和业务分配机制,为虚拟机集群中的虚拟机分配业务。
如此,可以将需要删除的虚拟机的地址去除,不再为需要删除的虚拟机分配业务。
在一种可选的实施方式中,从虚拟机集群中去除第二预设数量的虚拟机,还包括:
当第二预设数量的虚拟机中的业务执行完成时,删除第二预设数量的虚拟机。
如此,可以在需要删除的虚拟机执行完业务后再将虚拟机删除,避免正在执行的业务中断,提高虚拟机的可靠性。
第二方面,本发明提供了一种虚拟机数量调整装置,该装置包括:
虚拟机生成模块,用获取初始虚拟机模板和虚拟机数量,并基于初始虚拟机模板生成虚拟机数量的虚拟机,以形成虚拟机集群;
业务负载模块,用于基于业务分配机制,为虚拟机集群中的虚拟机负载业务;
虚拟机数量调整模块,用于基于虚拟机的负载信息,调整虚拟机集群中虚拟机的数量。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的虚拟机数量调整方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的虚拟机数量调整方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的虚拟机数量调整方法的流程示意图;
图2是根据本发明实施例的另一虚拟机数量调整方法的流程示意图;
图3是根据本发明实施例的虚拟机数量调整方法的虚拟机集群示意图;
图4是根据本发明实施例的又一虚拟机数量调整方法的流程示意图;
图5是根据本发明实施例的虚拟机数量调整方法在高业务访问时的虚拟机集群调整示意图;
图6是根据本发明实施例的再一虚拟机数量调整方法的流程示意图;
图7是根据本发明实施例的虚拟机数量调整方法在低业务访问时的虚拟机集群调整示意图;
图8是根据本发明实施例的虚拟机数量调整装置的结构框图;
图9是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,主要通过人为手动调整的方法对虚拟机的数量进行调整。具体的,在业务访问高峰时,人为手动增加虚拟机数量,同时在虚拟机内部手动部署业务系统,通过负载均衡器来负载业务,手动将扩容的节点配置到负载均衡器中,来实现业务高峰业务的负载;在业务访问低谷时,手动将部分虚拟机关机,去掉负载均衡器等中关掉的虚拟机的配置,降低资源损耗。综合以上,在业务访问的高峰或者低谷时,手动实现虚拟机的部署、虚拟机内部应用的配置,操作繁琐。
基于此,本发明实施例提供了一种虚拟机数量调整方法可以应用于虚拟化云管理平台中,对虚拟机进行调配管理。具体的,生成多个虚拟机,以形成虚拟机集群;为虚拟机集群负载业务;当检测到存在虚拟机的负载信息不在预设范围内时,调整虚拟机集群中虚拟机的数量。如此,可以根据虚拟机的负载情况,动态、自动调整虚拟机的数量。
根据本发明实施例,提供了一种虚拟机数量调整方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种虚拟机数量调整方法,可用于上述的虚拟化云管理平台中,图1是根据本发明实施例的虚拟机数量调整方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,获取初始虚拟机模板和虚拟机数量,并基于初始虚拟机模板生成虚拟机数量的虚拟机,以形成虚拟机集群。
本发明实施例中,考虑到仅靠一个虚拟机无法快速响应业务需求,尤其是在基于云计算的云平台上,业务的访问量通常是大量的,在业务访问建立之前,先生成多个虚拟机,由此形成虚拟机集群,通过该虚拟机集群对特定业务或者指定业务进行业务响应。
本发明实施例中,首先部署一个初始虚拟机,将业务应用部署在初始虚拟机中,并为初始虚拟机安装QEMU-KVM的串口通信模块,以对初始虚拟机进行管理配置,例如ip地址下发、业务配置下发和账户管理等等。然后将初始虚拟机的qcow2磁盘文件提取出来,作为初始虚拟机模板。
本发明实施例中,QEMU-KVM是基于KVM(Kernel-based Virtual Machine,基于内核的虚拟机)模块的QEMU(Quick Emulator,快速仿真器)软件,能够建立虚拟机的底层技术架构,实现底层虚拟化。在QEMU-KVM技术框架下的虚拟机中安装串口通信模块,就可以通过串口通信对虚拟机进行配置以及信息通信。qcow2磁盘文件是虚拟机底层的磁盘文件,在QEMU-KVM技术框架下可以通过qcow2磁盘文件新起虚拟机。
在一种可选的实施方式中,可以将初始虚拟机模板保存到虚拟机模板库中,虚拟机模板库中可以保存多个针对不同业务配置的初始虚拟机模板,在需要生成新的虚拟机时,就可以直接从虚拟机模板库中查找对应的初始虚拟机模板,然后基于该初始虚拟机模板生成相应的虚拟机。
在一种可选的实施方式中,可以先预估业务的访问量以及该访问量需要的资源数量,由此确定虚拟机数量,并生成相应数量的虚拟机,构成虚拟机集群。
步骤S102,基于业务分配机制,为虚拟机集群中的虚拟机负载业务。
本发明实施例中,通过负载均衡器为虚拟机集群中的虚拟机分配业务,按照预先设定的业务分配机制为虚拟机分配业务,以使虚拟机集群中虚拟机的均衡,避免出现有的虚拟机的负载占用率过高,而有的虚拟机的负载占用率过低的情况。
在一种可选的实施方式中,可以通过LVS(Linux Virtual Server,Linux虚拟服务器)中的负载均衡层来为虚拟机集群中的虚拟机分配业务,通过ipvsadm命令管理LVS系统的配置,控制LVS系统具体采取怎样的分配机制为虚拟机集群中的虚拟机分配业务,以及在LVS系统中增加或删除虚拟机服务和对应的节点,从而实现对虚拟机集群中的虚拟机的业务分配和数量的自动调整。
步骤S103,基于虚拟机的负载信息,调整虚拟机集群中虚拟机的数量。
本发明实施例中,当虚拟机的负载信息在正常范围内时,虚拟机能够正常响应业务访问。当虚拟机的负载信息超过正常范围时,表明该虚拟机处于高业务状态,负载过大,需要由别的虚拟机为其分担接下来要分配的业务;当虚拟机的负载信息低于正常范围时,表明该虚拟机处于低业务状态,负载过低,虚拟机的资源没有得到充分利用,此时再启用这么多数量的虚拟机就会造成资源浪费。因此,可以基于虚拟机的负载信息,动态调整虚拟机集群中虚拟机的数量,使得每个虚拟机的负载信息都在正常范围内,一方面避免虚拟机负载过高,造成业务响应与处理不及时,另一方面避免虚拟机负载过低,不能充分利用虚拟机的资源,造成资源浪费。
本实施例提供的虚拟机数量调整方法,通过检测虚拟机的负载信息,当虚拟机的负载信息不在预设范围内时,调整虚拟机集群中虚拟机的数量,从而根据虚拟机的负载情况,动态、自动调整虚拟机的数量。
在本实施例中提供了一种虚拟机数量调整方法,可用于上述的虚拟化云管理平台中,图2是根据本发明实施例的另一虚拟机数量调整方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,获取初始虚拟机模板和虚拟机数量,并基于初始虚拟机模板生成虚拟机数量的虚拟机,以形成虚拟机集群。
具体的,步骤S201,包括:
步骤S2011,基于初始虚拟机模板建立虚拟机数量的虚拟机。
本发明实施例中,基于初始虚拟机模板,来配置虚拟机中的一些基础配置与业务应用部署信息,从而初步建立虚拟机。初始虚拟机模板只是作为后续生成的虚拟机的模板,每个虚拟机之间形成区分的地址信息、账户信息和业务信息则需要重新进配置。
步骤S2012,基于配置信息,分别配置虚拟机数量的虚拟机。
本发明实施例中,配置信息包括地址信息、账户信息和业务信息。其中,地址信息为虚拟机的ip地址,账户信息包括虚拟机的用户名和密码,业务信息为虚拟机业务应用的相关配置项。
在一种可选的实施方式中,地址信息、账户信息和业务信息可以预置在虚拟化云管理平台中的虚拟机模板库中,在生成并配置虚拟机时直接从虚拟机模板库中获取这些配置信息,并基于这些信息,在初始虚拟机模板的基础上进行配置,从而得到新的虚拟机。由此,可以根据配置好的初始虚拟机模板直接对虚拟机进行配置,不需要手动对虚拟机进行配置,简化了虚拟机配置的操作,避免虚拟机配置出错。
在一种可选的实施方式中,当虚拟化云管理平台中预置的配置信息中没有需求的配置信息时,可以通过手动输入的方式,在虚拟化云管理平台中增加相应的配置信息,并基于该配置信息配置得到新的虚拟机。
步骤S202,基于业务分配机制,为虚拟机集群负载业务。
具体的,步骤S202,包括:
步骤S2021,获取虚拟机集群中每个虚拟机的地址信息,得到地址信息集合。
本发明实施例中,LVS系统通过虚拟机的地址信息来为虚拟机分配业务,因此虚拟机集群中每个虚拟机的地址信息都需要加入到LVS系统中,具体的,需要加入LVS系统的负载均衡器中。负载均衡器获取到每个虚拟机的地址信息,得到虚拟机集群的地址信息集合,按照该地址信息集合中包含的地址信息分配业务,即仅对该地址信息集合中地址信息对应的虚拟机分配业务,不在该地址信息集合中的地址信息对应的虚拟机则不会被分配到业务。
在一种可选的实施方式中,在获取虚拟机集群中每个虚拟机的地址信息之前,还需要检测这些虚拟机是否ping通,以确定虚拟化云管理平台与虚拟机之间能否正常进行信息交互,检测虚拟机中业务服务端口是否开启,以确定虚拟机能否正常进行业务响应。当检测有虚拟机不能ping通,或者业务服务端口没有开启时,将该虚拟机的地址信息从地址信息集合中去除,也就是从负载均衡器中去除,同时将该虚拟机删除,并且基于删除的虚拟机的数量,重新配置对应数量的虚拟机,保证最后启用的虚拟机的数量与预期要求一致。
步骤S2022,按照业务分配机制和地址信息集合,为虚拟机分配业务。
本发明实施例中,业务分配机制可以为轮询机制。轮询机制是一种轮流处理用户请求,以尽可能使每个服务器处理的请求数量相同的机制,将其应用于本发明中,也就是向虚拟机集群中的虚拟机轮流分配业务,以使虚拟机集群中每个虚拟机负载的业务数量相同。轮询机制包括加权轮询机制和顺序轮询机制。其中顺序轮询机制将虚拟机集群中的虚拟机进行编号,按照编号顺序为虚拟机分配业务;加权轮询机制为虚拟机中的每个虚拟机设置优先级,每次分配业务时会将业务分配给优先级最高的虚拟机,同时将该虚拟机的优先级减一,举例而言,虚拟机集群中有三个虚拟机,分别为虚拟机1、虚拟机2和虚拟机3,为虚拟机1分配优先级为4,为虚拟机2分配优先级为1,为虚拟机3分配优先级为2,那么在第一次分配业务时,将业务分配给优先级最高的虚拟机1,同时虚拟机1的优先级减一变为3。
本发明实施例中,按照轮询机制,为地址信息集合中的地址信息进行编号或者设置优先级,由此在分配业务时,按照地址信息的编号或者优先级,将业务分配给地址信息对应的虚拟机,从而根据虚拟机的地址为虚拟机分配业务,实现各个虚拟机上的负载均衡。
在一种可选的实施方式中,由于每个业务给虚拟机带来的负载不同,可以结合业务的负载,为虚拟机分配业务。在分配业务时,同时计算虚拟机的负载,或者从虚拟机中获取起负载信息,按照虚拟机的负载情况,为虚拟机集群中的虚拟机进行排序或者分配优先级。举例而言,虚拟机集群中有三个虚拟机,分别为虚拟机1、虚拟机2和虚拟机3,虚拟机1的负载信息为负载占用率60%,虚拟机2的负载信息为负载占用率20%,虚拟机3的负载信息为负载占用率30%,此时业务分配的优先级为虚拟2-虚拟机3-虚拟机1,当分配一个会占用20%负载的业务时,优先将该业务分配给虚拟机2;业务分配完成后,虚拟机集群中各虚拟机的负载情况如下:虚拟机1的负载信息为负载占用率60%,虚拟机2的负载信息为负载占用率40%,虚拟机3的负载信息为负载占用率30%,此时业务分配的优先级为虚拟机3-虚拟机2-虚拟机1,当再分配业务时,则优先将业务分配给虚拟机3。由此,可以按照虚拟机的负载信息来确定为虚拟机分配业务的优先级,同时根据虚拟机的负载信息动态调整业务分配的优先级,从而实现虚拟机集群中各虚拟机的负载均衡。
在一种可选的实施方式中,虚拟机集群中的虚拟机可以分别适用于不同的业务,可以按照虚拟机适用的业务类型对虚拟机进行分组,在每个分组内再按照业务分配机制,对虚拟机进行编号或者分配优先级,在分配业务时,在对应的分组内,按照虚拟机的编号或者优先级进行业务分配。
具体的,图3是根据本发明实施例的虚拟机数量调整方法的虚拟机集群示意图,如图3所示,虚拟化云管理平台从虚拟机模板库中获取初始虚拟机模板,并基于该初始虚拟机模板生成一定数量的虚拟机,在图3中,该数量为3,同时通过串口通信模块与生成的虚拟机之间建立通信,发送这些虚拟机的配置信息,从而完成对虚拟机的配置,最后就可以通过LVS系统下的ipvsadm命令为这些虚拟机分配业务,实现虚拟机的负载均衡。
步骤S203,基于虚拟机的负载信息,调整虚拟机集群中虚拟机的数量。详细请参见图1所示实施例的步骤S103,在此不再赘述。
本实施例提供的虚拟机数量调整方法,一方面可以根据配置好的初始虚拟机模板直接对虚拟机进行配置,不需要手动对虚拟机进行配置,简化了虚拟机配置的操作,避免虚拟机配置出错;另一方面可以基于轮询机制为虚拟机分配业务,实现虚拟机集群中各虚拟机的负载均衡。
在本实施例中提供了一种虚拟机数量调整方法,可用于上述的虚拟化云管理平台中,图4是根据本发明实施例的又一虚拟机数量调整方法的流程图,如图4所示,该流程包括如下步骤:
步骤S401,获取初始虚拟机模板和虚拟机数量,并基于初始虚拟机模板生成虚拟机数量的虚拟机,以形成虚拟机集群。详细请参见图1所示实施例的步骤S101,在此不再赘述。
步骤S402,基于业务分配机制,为虚拟机集群中的虚拟机负载业务。详细请参见图1所示实施例的步骤S101,在此不再赘述。
步骤S403,当检测到存在虚拟机的负载信息大于第一负载阈值时,启用第一预设数量的额外虚拟机,以增加虚拟机集群中虚拟机的数量。
本发明实施例中,基于虚拟机的负载信息,调整虚拟机集群中虚拟机的数量,具体的,可以包含虚拟机的负载信息大于第一负载阈值的情况,在此种情况下,虚拟机出现过载,业务响应不及时,此时启用第一预设数量的额外虚拟机,以增加虚拟机集群中虚拟机的数量,从而为原有的虚拟机分担业务负载,降低虚拟机集群中虚拟机的负载,使其能够正常响应业务。如此,可以在虚拟机的负载信息大于第一负载阈值时,也就是在业务访问高峰时,增加虚拟机的数量,从而避免高峰期时虚拟机负载过大,影响业务处理效率。
在一种可选的实施方式中,可以将第一预设数量设置为一个固定值,不管虚拟机的负载信息超过第一负载阈值多少,都只启动固定数量的额外虚拟机;也可以基于虚拟机的负载信息确定第一预设数量,不同的负载信息分别对应于不同的第一预设数量。
在一种可选的实施方式中,可以建立虚拟机的负载信息和第一预设数量之间的表格,通过查表的方式,确定在当前的负载信息下,需要新增的额外虚拟机的数量。也可以建立虚拟机的负载信息和第一预设数量之间的数值转换关系,将其内置在虚拟化云管理平台中,在负载信息超过第一负载阈值时直接计算得到第一预设数量。
在一种可选的实施方式中,虚拟机的负载信息可以包括虚拟机的负载占用率和内存资源使用率等能够虚拟机内部资源使用情况的信息,也可以包括虚拟机承载服务的连接处理数量。虚拟机的负载信息可以通过虚拟机的串行通信接口上报至虚拟化云管理平台。
图5是根据本发明实施例的虚拟机数量调整方法在高业务访问时的虚拟机集群调整示意图,如图3和图5所示,虚拟机集群中初始包含3个虚拟机,分别为虚拟机1、虚拟机2和虚拟机3,当检测到虚拟机1至3中有虚拟机的负载信息大于第一负载阈值时,启用两个额外虚拟机,即虚拟机4和虚拟机5,使虚拟机集群中包含5个虚拟机,以为虚拟机1至3分担业务负载。
在一种可选的实施方式中,步骤S403中,启用第一预设数量的额外虚拟机,包括:
步骤a1,基于初始虚拟机模板和额外虚拟机的配置信息,配置第一预设数量的额外虚拟机。
本发明实施例中,可以按照如上述步骤S2011至步骤S2012中所述的方法,对额外虚拟机进行配置。
步骤a2,将第一预设数量的额外虚拟机的地址信息加入地址信息集合,以更新地址信息集合。
本发明实施例中,为了使新增的额外虚拟机能够负载业务,需要将额外虚拟机的地址信息加入地址信息集合中,从而在根据地址信息集合中包含的地址信息分配业务时,能够加业务分配给新增的额外虚拟机。
在一种可选的实施方式中,在将第一预设数量的额外虚拟机的地址信息加入地址信息集合之前,还需要检测这些额外虚拟机是否ping通,以确定虚拟化云管理平台与额外虚拟机之间能否正常进行信息交互,检测额外虚拟机中业务服务端口是否开启,以确定额外虚拟机能否正常进行业务响应。当检测有额外虚拟机不能ping通,或者业务服务端口没有开启时,将该额外虚拟机的地址信息从地址信息集合中去除,也就是从负载均衡器中去除,同时将该额外虚拟机删除,并且基于删除的额外虚拟机的数量,重新配置对应数量的额外虚拟机,保证最后启用的额外虚拟机的数量与预期要求一致。
步骤a3,基于更新后的地址信息集合和业务分配机制,为虚拟机集群中的虚拟机分配业务。
本发明实施例中,按照更新后的地址信息集合,重新为地址信息集合中的地址信息进行编号或赋予优先级,然后通过业务分配机制,基于地址信息的编号或优先级,为虚拟机集群中的虚拟机分配业务。如此,可以在增加额外虚拟机时,不需要人为手动对其进行配置,而可以直接通过初始虚拟机模板配置额外虚拟机,简化了虚拟机数量调整的操作和过程。
本实施例提供的虚拟机数量调整方法,在业务访问高峰时,在虚拟机集群中加入额外虚拟机,从而增加虚拟机的数量,从而避免高峰期时虚拟机负载过大,影响业务处理效率。
在本实施例中提供了一种虚拟机数量调整方法,可用于上述的虚拟化云管理平台中,图6是根据本发明实施例的再一虚拟机数量调整方法的流程图,如图6所示,该流程包括如下步骤:
步骤S601,获取初始虚拟机模板和虚拟机数量,并基于初始虚拟机模板生成虚拟机数量的虚拟机,以形成虚拟机集群。详细请参见图1所示实施例的步骤S101,在此不再赘述。
步骤S602,基于业务分配机制,为虚拟机集群中的虚拟机负载业务。详细请参见图1所示实施例的步骤S101,在此不再赘述。
步骤S603,当检测到虚拟机的负载信息小于第二负载阈值时,从虚拟机集群中去除第二预设数量的虚拟机,以减少虚拟机集群中虚拟机的数量。
本发明实施例中,基于虚拟机的负载信息,调整虚拟机集群中虚拟机的数量。具体的,可以保护虚拟机的负载信息小于第二负载阈值的情况,在此种情况下,虚拟机资源使用率低,此时从虚拟机集群中去除第二预设数量的虚拟机,以减少虚拟机集群中虚拟机的数量,从而使用更好的虚拟机来承载较低的业务访问。如此,可以在虚拟机的负载信息小于第二负载阈值时,也就是在业务访问低谷时,减少虚拟机的数量,避免资源浪费,使虚拟机的资源得到合理、充分的利用。
在一种可选的实施方式中,虚拟机的负载信息可以包括虚拟机的负载占用率和内存资源使用率等能够虚拟机内部资源使用情况的信息,也可以包括虚拟机承载服务的连接处理数量。虚拟机的负载信息可以通过虚拟机的串行通信接口上报至虚拟化云管理平台。
在一种可选的实施方式中,可以将第二预设数量设置为一个固定值,不管虚拟机的负载信息低于第二负载阈值多少,都只启动固定数量的额外虚拟机;也可以基于虚拟机的负载信息确定第二预设数量,不同的负载信息分别对应于不同的第二预设数量。
在一种可选的实施方式中,可以建立虚拟机的负载信息和第二预设数量之间的表格,通过查表的方式,确定在当前的负载信息下,需要去除的虚拟机的数量。也可以建立虚拟机的负载信息和第二预设数量之间的数值转换关系,将其内置在虚拟化云管理平台中,在负载信息低于第二负载阈值时直接计算得到第二预设数量。
图7是根据本发明实施例的虚拟机数量调整方法在低业务访问时的虚拟机集群调整示意图,如图3、图5和图7所示,虚拟机集群中初始包含3个虚拟机,分别为虚拟机1、虚拟机2和虚拟机3,在上一次高业务访问时,增加了两个额外虚拟机,即虚拟机4和虚拟机5,即此时虚拟机集群中包含5个虚拟机。当检测到虚拟机1至5中有虚拟机的负载信息小于第二负载阈值时,删除一个虚拟机,图7中为删除虚拟机5,以避免资源浪费。
在一种可选的实施方式中,步骤S703中,从虚拟机集群中去除第二预设数量的虚拟机,包括:
步骤b1,从地址信息集合中去除第二预设数量的虚拟机的地址信息,以更新地址信息集合。
本发明实施例中,当需要去除第二预设数量的虚拟机时,需要将其对应的地址信息从地址信息集合中去除,以避免将业务再次分配给需要删除的虚拟机。
步骤b2,基于更新后的地址信息集合和业务分配机制,为虚拟机集群中的虚拟机分配业务。
本发明实施例中,按照更新后的地址信息集合,重新为地址信息集合中的地址信息进行编号或赋予优先级,然后通过业务分配机制,基于地址信息的编号或优先级,为虚拟机集群中的虚拟机分配业务。如此,可以将需要删除的虚拟机的地址去除,不再为需要删除的虚拟机分配业务。
在一种可选的实施方式中,步骤S703中,从虚拟机集群中去除第二预设数量的虚拟机,还包括:当第二预设数量的虚拟机中的业务执行完成时,删除第二预设数量的虚拟机。为了避免在删除虚拟机时使正在响应执行的业务被迫中断,在需要删除的虚拟机执行完业务后再将虚拟机删除,从而提高虚拟机的可靠性。
本实施例提供的虚拟机数量调整方法,在业务访问低谷时,在虚拟机集群中删除一定数量的虚拟机,从而避免资源浪费,使虚拟机的资源得到合理、充分的利用。
在本实施例中还提供了一种虚拟机数量调整装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种虚拟机数量调整装置,如图8所示,包括:
虚拟机生成模块801,用于获取初始虚拟机模板和虚拟机数量,并基于初始虚拟机模板生成虚拟机数量的虚拟机,以形成虚拟机集群;
业务负载模块802,用于基于业务分配机制,为虚拟机集群中的虚拟机负载业务;
虚拟机数量调整模块803,用于基于虚拟机的负载信息,调整虚拟机集群中虚拟机的数量。
在一种可选的实施方式中,虚拟机生成模块801,包括:
虚拟机建立单元,用于基于初始虚拟机模板建立虚拟机数量的虚拟机;
虚拟机配置单元,用于基于配置信息,分别配置虚拟机数量的虚拟机;配置信息包括地址信息、账户信息和业务信息。
在一种可选的实施方式中,业务负载模块802,包括:
地址信息集合获取单元,用于获取虚拟机集群中每个虚拟机的地址信息,得到地址信息集合;
业务分配单元,用于按照业务分配机制和地址信息集合,为虚拟机分配业务。
在一种可选的实施方式中,虚拟机数量调整模块803,包括:
虚拟机数量增加单元,用于当检测到存在虚拟机的负载信息大于第一负载阈值时,启用第一预设数量的额外虚拟机,以增加虚拟机集群中虚拟机的数量。
在一种可选的实施方式中,虚拟机数量增加单元,包括:
额外虚拟机配置子单元,用于基于初始虚拟机模板和额外虚拟机的配置信息,配置第一预设数量的额外虚拟机;
地址信息集合更新子单元,用于将第一预设数量的额外虚拟机的地址信息加入地址信息集合,以更新地址信息集合;
业务分配子单元,用于基于更新后的地址信息集合和业务分配机制,为虚拟机集群中的虚拟机分配业务。
在一种可选的实施方式中,虚拟机数量调整模块803,包括:
虚拟机数量减少单元,用于当检测到虚拟机的负载信息小于第二负载阈值时,从虚拟机集群中去除第二预设数量的虚拟机,以减少虚拟机集群中虚拟机的数量。
在一种可选的实施方式中,虚拟机数量减少单元,包括:
地址集合更新子单元,用于从地址信息集合中去除第二预设数量的虚拟机的地址信息,以更新地址信息集合;
业务分配子单元,用于基于更新后的地址信息集合和业务分配机制,为虚拟机集群中的虚拟机分配业务。
在一种可选的实施方式中,虚拟机数量减少单元,还包括:
虚拟机去除子单元,用于当第二预设数量的虚拟机中的业务执行完成时,删除第二预设数量的虚拟机。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的虚拟机数量调整装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路),执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图8所示的虚拟机数量调整装置。
请参阅图9,图9是本发明可选实施例提供的一种计算机设备的结构示意图,如图9所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (11)
1.一种虚拟机数量调整方法,其特征在于,所述方法包括:
获取初始虚拟机模板和虚拟机数量,并基于所述初始虚拟机模板生成所述虚拟机数量的虚拟机,以形成虚拟机集群;
基于业务分配机制,为所述虚拟机集群中的虚拟机负载业务;
基于所述虚拟机的负载信息,调整所述虚拟机集群中所述虚拟机的数量。
2.根据权利要求1所述的方法,其特征在于,所述基于所述初始虚拟机模板生成所述虚拟机数量的虚拟机,以形成虚拟机集群,包括:
基于所述初始虚拟机模板建立所述虚拟机数量的虚拟机;
基于配置信息,分别配置所述虚拟机数量的虚拟机;所述配置信息包括地址信息、账户信息和业务信息。
3.根据权利要求1所述的方法,其特征在于,所述基于业务分配机制,为所述虚拟机集群中的虚拟机负载业务,包括:
获取所述虚拟机集群中每个所述虚拟机的地址信息,得到地址信息集合;
按照业务分配机制和所述地址信息集合,为所述虚拟机分配业务。
4.根据权利要求1所述的方法,其特征在于,所述基于所述虚拟机的负载信息,调整所述虚拟机的数量,包括:
当检测到存在所述虚拟机的负载信息大于第一负载阈值时,启用第一预设数量的额外虚拟机,以增加所述虚拟机集群中所述虚拟机的数量。
5.根据权利要求4所述的方法,其特征在于,所述启用第一预设数量的额外虚拟机,包括:
基于初始虚拟机模板和所述额外虚拟机的配置信息,配置所述第一预设数量的额外虚拟机;
将所述第一预设数量的额外虚拟机的地址信息加入地址信息集合,以更新所述地址信息集合;
基于更新后的所述地址信息集合和业务分配机制,为所述虚拟机集群中的虚拟机分配业务。
6.根据权利要求1所述的方法,其特征在于,所述基于所述虚拟机的负载信息,调整所述虚拟机的数量,包括:
当检测到所述虚拟机的负载信息小于第二负载阈值时,从所述虚拟机集群中去除第二预设数量的所述虚拟机,以减少所述虚拟机集群中所述虚拟机的数量。
7.根据权利要求6所述的方法,其特征在于,所述从所述虚拟机集群中去除第二预设数量的所述虚拟机,包括:
从地址信息集合中去除所述第二预设数量的所述虚拟机的地址信息,以更新所述地址信息集合;
基于更新后的所述地址信息集合和业务分配机制,为所述虚拟机集群中的虚拟机分配业务。
8.根据权利要求7所述的方法,其特征在于,所述从所述虚拟机集群中去除第二预设数量的所述虚拟机,还包括:
当所述第二预设数量的所述虚拟机中的业务执行完成时,删除所述第二预设数量的所述虚拟机。
9.一种虚拟机数量调整装置,其特征在于,所述装置包括:
虚拟机生成模块,用于获取初始虚拟机模板和虚拟机数量,并基于所述初始虚拟机模板生成所述虚拟机数量的虚拟机,以形成虚拟机集群;
业务负载模块,用于基于业务分配机制,为所述虚拟机集群中的虚拟机负载业务;
虚拟机数量调整模块,用于基于所述虚拟机的负载信息,调整所述虚拟机集群中所述虚拟机的数量。
10.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至8中任一项所述的虚拟机数量调整方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至8中任一项所述的虚拟机数量调整方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310905043.3A CN116932143A (zh) | 2023-07-21 | 2023-07-21 | 虚拟机数量调整方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310905043.3A CN116932143A (zh) | 2023-07-21 | 2023-07-21 | 虚拟机数量调整方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116932143A true CN116932143A (zh) | 2023-10-24 |
Family
ID=88378608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310905043.3A Pending CN116932143A (zh) | 2023-07-21 | 2023-07-21 | 虚拟机数量调整方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116932143A (zh) |
-
2023
- 2023-07-21 CN CN202310905043.3A patent/CN116932143A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11704144B2 (en) | Creating virtual machine groups based on request | |
US11960915B2 (en) | Method and apparatus for creating virtual machine based on parameter information of a virtual network interface card | |
US11301303B2 (en) | Resource pool processing to determine to create new virtual resource pools and storage devices based on currebt pools and devices not meeting SLA requirements | |
US8589554B2 (en) | Intelligent and elastic resource pools for heterogeneous datacenter environments | |
CN108337109B (zh) | 一种资源分配方法及装置和资源分配系统 | |
JP5510556B2 (ja) | 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム | |
US20170031622A1 (en) | Methods for allocating storage cluster hardware resources and devices thereof | |
US11556369B2 (en) | Virtual machine deployment method and OMM virtual machine | |
CN110633130B (zh) | 一种基于内存热插拔技术的虚拟内存管理方法和装置 | |
US20220188138A1 (en) | Saving and restoring pre-provisioned virtual machine states | |
CN117480494A (zh) | 改进虚拟计算环境中资源分配的协调容器调度 | |
US20200272526A1 (en) | Methods and systems for automated scaling of computing clusters | |
CN113032102A (zh) | 资源重调度方法、装置、设备和介质 | |
CN110795202A (zh) | 一种虚拟化集群资源管理系统的资源分配方法以及装置 | |
JP2024501005A (ja) | コンテナクラスタのための管理方法および装置 | |
CN112769829A (zh) | 云物理机的部署方法、相关设备及可读存储介质 | |
CN113127144A (zh) | 一种处理方法、装置及存储介质 | |
CN112468458B (zh) | 一种基于neutron分层机制的调度方法 | |
CN115150268A (zh) | Kubernetes集群的网络配置方法、装置、及电子设备 | |
CN116932143A (zh) | 虚拟机数量调整方法、装置、计算机设备及存储介质 | |
CN105718297A (zh) | 虚拟机建立系统以及方法 | |
CN111580935A (zh) | 一种网络通信方法、装置、设备及存储介质 | |
CN111240830A (zh) | 一种公链合约资源分配方法、装置、电子设备、存储介质 | |
CN116483740B (zh) | 内存数据的迁移方法、装置、存储介质及电子装置 | |
WO2023274014A1 (zh) | 容器集群的存储资源管理方法、装置及系统 |
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 |