资源配置方法、装置、设备和可读存储介质与流程

专利查询9月前  61



1.本发明属于计算机领域,特别是涉及一种资源配置方法、装置、设备和可读存储介质。


背景技术:

2.虚拟化技术是指通过软件或硬件的方式,将一台物理机虚拟成多台虚拟机,为每个虚拟机分别配置相应的硬件资源,使多个虚拟机独立运行,分别提供不同服务。
3.在先技术中,为每个虚拟机设置资源限定量,通过资源限定量限制虚拟机的资源使用量,以防止各虚拟机之间相互影响。当通过资源限定量限制虚拟机的资源使用量时,在虚拟机的负载较大时,会出现虚拟机资源不足的情况。


技术实现要素:

4.本发明实施例的目的在于提供一种资源配置方法、装置、设备和可读存储介质,以解决虚拟机的负载较大时,出现资源不足的问题。
5.在本发明实施例的第一方面,首先提供了一种资源配置方法,包括:
6.获取物理机所包括的虚拟机的资源使用量;所述物理机中对应配置有多个所述虚拟机;
7.在多个所述虚拟机中包括至少一个第一目标虚拟机的情况下,确定多个所述虚拟机的资源使用总量和资源限定总量;所述第一目标虚拟机为资源使用量达到资源限定量的虚拟机;
8.在所述资源使用总量低于所述物理机具有的实际资源量的情况下,增加所述第一目标虚拟机的资源限定量。
9.在本发明实施例的第二方面,还提供了一种资源配置装置,包括:
10.获取模块,用于获取物理机所包括的虚拟机的资源使用量;所述物理机中对应配置有多个所述虚拟机;
11.确定模块,用于在多个所述虚拟机中包括至少一个第一目标虚拟机的情况下,确定多个所述虚拟机的资源使用总量和资源限定总量;所述第一目标虚拟机为资源使用量达到资源限定量的虚拟机;
12.调整模块,用于在所述资源使用总量低于所述物理机具有的实际资源量的情况下,增加所述第一目标虚拟机的资源限定量。
13.在本发明实施例的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
14.所述存储器,用于存放计算机程序;
15.所述处理器,用于执行所述存储器上所存放的所述计算机程序时,实现本发明实施例第一方面所述的方法。
16.在本发明实施例的又一方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明实施例第一方面所述的方法。
17.本发明实施例提供的资源配置方法,获取物理机所包括的虚拟机的资源使用量,在多个虚拟机中存在资源使用量达到资源限定量的第一目标虚拟机的情况下,确定多个虚拟机的资源使用总量和资源限定总量,在资源使用总量低于物理机具有的实际资源量的情况下,增加第一目标虚拟机的资源限定量。通过在虚拟机的资源使用量大于资源限定量时增加虚拟机的资源限定量,可以根据增加后的资源限定量为虚拟机分配更多的资源,可以解决虚拟机负载较大时,虚拟机的资源不足的问题。
附图说明
18.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
19.图1为本发明实施例中的一种资源配置方法的步骤流程图;
20.图2为本发明实施例中的一种虚拟机系统的结构示意图;
21.图3为本发明实施例中的另一种资源配置方法的步骤流程图;
22.图4为本发明实施例中的一种资源配置装置的结构框图;
23.图5为本发明实施例中的一种电子设备的结构示意图。
具体实施方式
24.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
25.参照图1,图1为本发明实施例中的一种资源配置方法的步骤流程图,本实施例提供的资源配置方法适用于虚拟机资源的配置,以避免虚拟机出现资源不足的情况。本实施例提供的资源配置方法可以由资源配置装置执行,资源配置装置可以设置于电子设备。资源配置装置通常以软件和/或硬件的方式实现,该方法可以包括:
26.步骤101、获取物理机所包括的虚拟机的资源使用量。
27.其中,物理机中对应配置有多个虚拟机。物理机可以是计算机或服务器,物理机用于部署多个虚拟机,以通过不同的虚拟机分别处理不同的业务。用户可以预先在物理机中创建多个虚拟机,并为每个虚拟机分别设置不同的名称、地址和优先级等信息,以及为每个虚拟机配置一定大小的内存、硬盘、网络带宽,并可以根据硬盘的读写带宽(读写带宽指硬盘在单位时间内可以成功传输的数据数量)和每秒输入/输出操作数(input/output operations per second,iops),分别为每个虚拟机配置一定大小的读写带宽和iops。具体创建虚拟机的过程以及为虚拟机配置资源的过程可以根据需求设置,本实施例对此不做限制。
28.在一种实施例中,电子设备可以是执行资源配置方法的计算机,物理机可以是服务器,多个服务器组成服务器集群,电子设备可以同时对服务器集群中每个服务器所包括的虚拟机的资源使用量进行监测,以调节虚拟机的资源限定量。资源使用量为虚拟机当前使用的资源量,例如虚拟机当前的网络带宽使用量、内存使用量、读写带宽使用量和iops使用量。如图2所示,图2为本发明实施例中的一种虚拟机系统的结构示意图,服务器集群中包括第一服务器、第二服务器和第三服务器,每个服务器中配置有一定数量的虚拟机,电子设
备分别与第一服务器、第二服务器和第三服务器通信连接,以获取服务器中包括的虚拟机的资源使用量。例如,针对网络带宽资源,第一服务器可以监测第一服务器中包括的虚拟机a、虚拟机b和虚拟机c的网络带宽使用量,每隔预设时间(例如每隔2秒)向电子设备发送监测到的虚拟机a的网络带宽使用量、虚拟机b的网络带宽使用量和虚拟机c的网络带宽使用量。电子设备从服务器获取资源使用量的具体过程可以根据需求设置,本实施例对此不做限制。
29.需要说明的是,虚拟机的资源中包括内存、硬盘、网络带宽、硬盘的读写带宽和iops等多种资源,物理机可以监测虚拟机的所有资源的使用量,向电子设备发监测到的资源使用量。例如,针对虚拟机a,电子设备可以从第一服务器获取虚拟机a的内存使用量、硬盘使用量,以及硬盘的读写带宽使用量和iops使用量等资源使用量。
30.步骤102、在多个虚拟机中包括至少一个第一目标虚拟机的情况下,确定多个虚拟机的资源使用总量和资源限定总量。
31.其中,第一目标虚拟机为资源使用量达到资源限定量的虚拟机。资源限定量是预先为虚拟机设置的资源使用上限,物理机可以根据预先设置的资源限定量限制虚拟机的资源使用量,避免虚拟机使用的资源过多,导致物理机中的资源不足,无法为物理机中的其他虚拟机提供资源。如图2所示,针对第一服务器中的虚拟机a、虚拟机b和虚拟机c,用户可以根据第一服务器具有的内存资源量和网络带宽资源量,分别为虚拟机a、虚拟机b和虚拟机c设置对应的网络带宽限定量和内存限定量,以及根据硬盘的读写带宽和iops,分别为虚拟机a、虚拟机b和虚拟机c设置对应的读写带宽限定量和iops限定量。具体的,针对网络带宽资源,用户可以根据第一服务器的网络带宽,预先在电子设备中设置虚拟机a的网络带宽限定量为1000比特/秒,并控制电子设备向第一服务器发送设置的虚拟机a的网络带宽限定量。在虚拟机a的运行过程中,第一服务器可以参考网络带宽限定量1000比特/秒,控制虚拟机a的网络带宽使用量。例如,可以控制虚拟机a的网络带宽使用量不高于1200比特/秒,即在资源限定量1000比特/秒的基础上,增加200比特/秒的网络带宽冗余量,以在虚拟机a的负载较大时,保证虚拟机a有足够的网络带宽资源,并且控制虚拟机a不使用过多的网络带宽资源。具体根据资源限定量控制资源使用量的方法可以根据需求设置,本实施例对此不做限制。
32.需要说明的是,由于物理机中包括的所有的虚拟机的资源使用量在同一时刻均达到资源限定量的概率较小,因此可以控制虚拟机的资源使用量高于对应的资源限定量,以充分利用物理机中的资源。同时,由于虚拟机在运行过程中的资源使用量根据负载的大小不断变化,因此可以控制虚拟机的资源使用量高于对应的资源限定量,以在负载较大时,可以使虚拟机正常运行。
33.本实施例中,电子设备在获取到物理机所包括的虚拟机的资源使用量之后,首先可以判断物理机包括的所有虚拟机中,是否包括资源使用量达到资源限定量的第一目标虚拟机。例如,若虚拟机a的网络带宽使用量大于虚拟机a的网络带宽限定量,电子设备在接收到第一服务器发送的虚拟机a的网络带宽使用量、虚拟机b的网络带宽使用量和虚拟机c的网络带宽使用量之后,可以根据虚拟机a的网络带宽限定量、虚拟机b的网络带宽限定量和虚拟机c的网络带宽限定量,从虚拟机a、虚拟机b和虚拟机c中确定网络带宽使用量达到网络带宽限定量的虚拟机a为第一目标虚拟机。在确定第一服务器中包括第一目标虚拟机之
后,电子设备可以对预先设置的虚拟机a的网络带宽限定量、虚拟机b的网络带宽限定量和虚拟机c的网络带宽限定量进行求和,得到网络带宽限定总量,即资源限定总量。同时,可以对对虚拟机a的网络带宽使用量、虚拟机b的网络带宽使用量和虚拟机c的网络带宽使用量进行求和,得到网络带宽使用总量,即资源使用总量。
34.步骤103、在资源使用总量低于物理机具有的实际资源量的情况下,增加第一目标虚拟机的资源限定量。
35.其中,实际资源量为物理机实际具有的资源量。在多个虚拟机中包括至少一个第一目标虚拟机时,若确定资源使用总量低于物理机具有的实际资源量,可以增加第一目标虚拟机的资源限定量。
36.在一种实施例中,可以在资源限定总量低于物理机的资源限定阈值、且资源使用总量低于物理机具有的实际资源量的的情况下,增加第一目标虚拟机的资源限定量。资源限定阈值为针对物理机的某种资源,设置的最大资源限定值,资源限定阈值高于物理机所具有的实际资源量。结合图2所示,针对第一服务器具有的网络带宽资源,若第一服务器的实际网络带宽为10000比特/秒(即实际资源量),可以设置第一服务器的网络带宽限定阈值为12000比特/秒。实际应用中,通过集群创建虚拟机的调度策略降低了物理机上所有虚拟机的同类资源使用量达到资源限定量的概率,因此可以设置物理机的资源限定阈值大于物理机的实际资源量,以在某个虚拟机的资源不足时,调高虚拟机的资源限定量,为虚拟机分配更多的资源。
37.实际应用中,当物理机中所有虚拟机的资源限定总量低于物理机的资源限定阈值时,表示还可以为物理机中的虚拟机增加资源限定量。当物理机中所有虚拟机的资源使用总量低于物理机的实际资源量时,表示物理机还可以为虚拟机提供更多的资源。电子设备在确定物理机中所有虚拟机的资源限定总量低于物理机的资源限定阈值的同时,若物理机中所有虚拟机的资源使用总量低于物理机具有的实际资源量,可以增加物理机中第一目标虚拟机的资源限定量,以根据增加后的资源限定量为虚拟机配置更多的资源。结合上述举例,第一服务器中的网络带宽限定阈值为12000比特/秒,电子设备在确定虚拟机a、虚拟机b和虚拟机c三者的网络带宽限定总量低于12000比特/秒的同时,若确定虚拟机a、虚拟机b和虚拟机c三者的网络带宽使用总量低于10000比特/秒,则可以增加虚拟机a的网络带宽限定量。具体的,可以在虚拟机a现有的网络带宽限定量的基础上,增加预设百分比的网络带宽限定量,如将虚拟机a当前的网络带宽限定量扩大1.2倍,得到增加后的网络带宽限定量。电子设备在增加虚拟机a的网络带宽限定量之后,可以向第一服务器发送虚拟机a的网络带宽限定量,使第一服务器根据增加后的网络带宽限定量,控制虚拟机a的网络带宽使用量,在虚拟机a负载较大时,为虚拟机a分配更多的网络带宽资源。具体增加资源限定量的方法可以根据需求设置,本实施例对此不做限制。
38.需要说明的是,电子设备也可以在多个虚拟机的资源使用总量低于物理机具有的实际资源量的情况下,直接增加第一目标虚拟机的资源限定量。虚拟机在运行过程中会使用到多种资源,针对虚拟机使用的每种资源,均可以执行步骤101至步骤103,对虚拟机的资源限定量进行调节。同时,针对图2中的服务器集群,电子设备可以对每个服务器中的虚拟机均执行步骤101至步骤103,以分别对每个服务器中的虚拟机的资源进行配置。
39.综上所述,本实施例中,获取物理机所包括的虚拟机的资源使用量,在多个虚拟机
中存在资源使用量达到资源限定量的第一目标虚拟机的情况下,确定多个虚拟机的资源使用总量和资源限定总量,在资源使用总量低于物理机具有的实际资源量的情况下,增加第一目标虚拟机的资源限定量。通过在虚拟机的资源使用量大于资源限定量时增加虚拟机的资源限定量,可以根据增加后的资源限定量为虚拟机分配更多的资源,可以解决虚拟机负载较大时,虚拟机的资源不足的问题。
40.参照图3,图3为本发明实施例中的另一种资源配置方法的步骤流程图,该方法可以包括:
41.步骤301、获取虚拟机在当前时刻之前的多个采样点的资源监测量。
42.步骤302、基于多个采样点的资源监测量,确定虚拟机的资源使用量。
43.在一种实施例中,电子设备可以根据虚拟机在多个采样点的资源监测量,确定虚拟机的资源使用量。例如,针对图2中虚拟机a的网络带宽,第一服务器可以每隔一分钟对虚拟机a的网络带宽使用量采样一次,获取一次虚拟机a的网络带宽监测量,并向电子设备发送获取到的网络带宽监测量。电子设备可以每隔2分钟计算一次虚拟机a的网络带宽使用量,在每次计算网络带宽使用量时,选取当前时刻之前5分钟内接收到的网络带宽监测量,对5分钟内接收到的所有网络带宽监测量求平均值,得到虚拟机a的网络带宽使用量。其中,基于多个采样点的资源监测量确定资源使用量也可以通过其他方式实现,例如电子设备可以根据采样时间与当前时刻之间的间隔时长,对多个采样点的资源监测量进行加权求平均,得到资源使用量。具体根据多个采样点的资源监测量确定资源使用量的方法可以根据需求设置,本实施例对此不做限制。
44.实际应用中,虚拟机可能会在短时间内负载较大,资源使用量高于资源限定量,此时并不需要增加虚拟机的资源限定量。基于多个采样点的资源监测量计算虚拟机的资源使用量,在虚拟机的资源使用量高于资源限定量时,说明虚拟机的负载比较大,并且稳定。在虚拟机负载较大、且稳定时,对虚拟机的资源限定量进行调节,可以避免频繁调节虚拟机的资源限定量。
45.步骤303、在预设的监测时长内,若虚拟机的资源使用量与资源限定量之间的差值小于第一预设差值,则将虚拟机作为第一目标虚拟机,并确定多个虚拟机的资源使用总量和资源限定总量。
46.在一种实施例中,电子设备可以对虚拟机在一段时间内的资源使用量进行监测,若虚拟机在一段时间内的资源使用量持续与资源限定量接近,则确定虚拟机为第一目标虚拟机,并计算第一目标虚拟机所在物理机中所有虚拟机的资源使用总量和资源限定总量。结合步骤301和步骤302,电子设备在每次计算得到虚拟机a的网络带宽使用量之后,可以存储虚拟机a的网络带宽使用量,在预设次数(预设次数例如10次)的网络带宽使用量与网络带宽限定量之间的差值均小于第一预设差值时,可以确定虚拟机a在20分钟内的资源使用量均接近网络带宽限定量。20分钟即预设的监测时长,由于电子设备每2分钟计算一次资源使用量,预设次数等于10次时,监测时长为20分钟。此时,电子设备可以确定虚拟机a为第一目标虚拟机,然后计算第一服务器中所有虚拟机的资源使用总量和资源限定总量。其中,监测时长和第一预设差值的具体值可以根据需求设置,本实施例对此不做限制。
47.实际应用中,虚拟机在监测时长内的资源使用量均接近资源限定量时,可以确定虚拟机的负载较大,并且虚拟机的负载稳定,需要为虚拟机增加资源。在虚拟机负载较大、
且稳定时,对虚拟机的资源限定量进行调节,可以避免频繁调节虚拟机的资源限定量。
48.步骤304、在资源限定总量低于物理机的资源限定阈值的情况下,若资源使用总量低于物理机具有的实际资源量,则增加第一目标虚拟机的资源限定量。
49.可选地,增加第一目标虚拟机的资源限定量的步骤可以包括:
50.获取第一目标虚拟机的资源限定量的历史增加次数;
51.将第一目标虚拟机的资源限定量增加第一资源量;第一资源量与历史增加次数正相关。
52.在一种实施例中,针对每个虚拟机,电子设备可以记录资源限定量的增加次数,得到历史增加次数。在确定虚拟机为第一目标虚拟机时,可以获取记录的虚拟机的资源限定量的历史增加次数。在增加第一目标虚拟机的资源限定量时,可以根据历史增加次数,计算得到与历史增加次数正相关的第一资源量,并将第一目标虚拟机的资源限定量增加第一资源量。例如,可以通过公式:y=ax+b计算第一资源量,符号x为历史增加次数,y为第一资源量,a为比例系数,b为调节参数。电子设备每增加一次虚拟机a的网络带宽限定量,虚拟机a的网络带宽限定量的历史增加次数加1,历史增加次数的初始值为0。在增加虚拟机a的网络带宽限定量时,根据公式:y=ax+b计算第一资源量,历史增加次数越大,第一资源量越大,第一资源量与历史增加次数正相关,也即当虚拟机的资源限定量的增加次数越多,每次增加的资源限定量越大。以上仅为示例性举例,实际应用中也可以通过其他方式控制第一资源量与历史增加次数正相关。
53.实际应用中,当资源限定量的增加次数较多时,说明虚拟机本身需要较多的资源量,并且虚拟机所需的资源量在持续增加,在每次增加虚拟机的资源限定量时,控制资源限定量的增加量与历史增加次数正相关,可以更及时的为虚拟机设置较大的资源限定量,避免频繁增加虚拟机的资源限定量。
54.可选地,增加第一目标虚拟机的资源限定量的步骤可以包括:
55.在第一目标虚拟机的数量为多个的情况下,按优先级从大到小的顺序,依次增加每个第一目标虚拟机的资源限定量;
56.在资源使用总量与实际资源量之间的差值小于第二预设差值的情况下,停止增加第一目标虚拟机的资源限定量。
57.在一种实施例中,电子设备可以统计物理机中第一目标虚拟机的数量,当第一目标虚拟机的数量为多个时,可按优先级从大到小的顺序,依次增加每个目标虚拟的资源限定量。例如,用户可以预先为图2中的每个虚拟机设置优先级,当第一服务器中的虚拟机b和虚拟机c均为第一目标虚拟机时,电子设备可以根据虚拟机b和虚拟机c的优先级,先增加优先级大的虚拟机b的资源限定量,然后增加优先级低的虚拟机c的资源限定量。
58.同时,在增加第一目标虚拟机的资源限定量的过程中,电子设备可以对物理机中所有虚拟机的资源使用总量进行监测,若资源使用总量与实际资源量之间的差值大于或等于第二预设差值,说明资源使用总量与实际资源量相差较大,可以继续增加第一目标虚拟机的资源限定量。反之,当资源使用总量与实际资源量之间的差值小于第二预设差值时,说明资源使用总量与实际资源量相差较小,此时停止增加第一目标虚拟机的资源限定量。结合上述举例,在增加虚拟机b的资源限定量之后,若确定第一服务器中的资源使用总量与实际资源量之间的差值小于第二预设差值,则停止增加虚拟机c的资源限定量。
59.实际应用中,当第一目标虚拟机的数量为多个时,同时增加第一目标虚拟机的资源限定量可能会导致所有虚拟机的资源限定量超出物理机的资源限定阈值。并且,同时增加第一目标虚拟机的资源限定量时,根据增加后的资源限定量控制虚拟机的资源使用量,可能会导致所有虚拟机的资源使用总量超出物理机的实际资源量。本实施例中,在第一目标虚拟机为多个时,按优先级增加依次增加第一目标虚拟机的资源限定量,并在资源使用总量与实际资源量之间的差值小于第二预设差值时停止增加第一目标虚拟机的资源限定量,可以避免上述情况的出现,进一步的可以为虚拟机提供稳定的资源。
60.可选地,增加第一目标虚拟机的资源限定量的步骤可以包括:
61.在第一目标虚拟机的数量为多个的情况下,若第一目标虚拟机的数量不高于预设数量,则同时增加每个第一目标虚拟机的资源限定量;
62.在第一目标虚拟机的数量为多个的情况下,若第一目标虚拟机的数量高于预设数量,则按优先级从大到小的顺序,依次增加每个第一目标虚拟机的资源限定量;
63.在资源使用总量与实际资源量之间的差值小于第二预设差值的情况下,停止增加第一目标虚拟机的资源限定量。
64.在一种实施例中,在第一目标虚拟机的数量为多个时,电子设备可以统计物理机中第一目标虚拟机的数量,若第一目标虚拟机的数量不高于预设数量,则增加每个第一目标虚拟机的资源限定量,反之禁止增加第一目标虚拟机的资源限定量。结合上述举例,若第一服务器中包括30个虚拟机,预设数量为10个。电子设备可以统计第一服务器中网络带宽使用量大于网络带宽限定量的第一目标虚拟机的数量,若第一目标虚拟机的数量小于或等于10,则增加每个第一目标虚拟机的网络带宽限定量,反之则不增加第一目标虚拟机的网络带宽限定量。
65.实际应用中,当第一目标虚拟机的数量大于预设数量时,同时增加第一目标虚拟机的资源限定量可能会导致所有虚拟机的资源限定量超出物理机的资源限定阈值。并且,同时增加第一目标虚拟机的资源限定量时,根据增加后的资源限定量控制虚拟机的资源使用量,可能会导致所有虚拟机的资源使用总量超出物理机的实际资源量。本实施例中,在第一目标虚拟机的数量不高于预设数量的情况下,增加第一目标虚拟机的资源限定量,可以避免上述情况的出现,进一步的可以为虚拟机提供稳定的资源。
66.同时,当第一目标虚拟机的数量为多个的情况下,若第一目标虚拟机的数量高于预设数量,电子设备可以根据第一目标虚拟机的优先级,从优先级最大的第一目标虚拟机开始,按优先级从大到小的顺序,依次增加第一目标虚拟机的资源限定量。并且,电子设备可以对物理机中所有虚拟机的资源使用总量进行监测,若资源使用总量与实际资源量之间的差值大于或等于第二预设差值,说明资源使用总量与实际资源量相差较大,可以继续增加第一目标虚拟机的资源限定量。反之,当资源使用总量与实际资源量之间的差值小于第二预设差值时,说明资源使用总量与实际资源量相差较小,停止增加第一目标虚拟机的资源限定量。其中,第二预设差值的具体值可以根据需求设置,本实施例对此不做限制。
67.本实施例中,当第一目标虚拟机的数量较多时,按优先级从大到小的顺序,增加每个第一目标虚拟机的资源限定量,并在资源使用总量与实际资源量相差较小时,停止增加第一目标虚拟机的资源限定量,可以避免虚拟机的资源限定总量超出物理机的资源限定阈值,进一步的可以避免资源使用总量超出物理机的实际资源量。
68.可选地,该方法还可以包括:
69.从多个虚拟机中确定第二目标虚拟机;第二目标虚拟机为在预设时间段内的资源使用量小于当前资源限定量、并且在预设时间段内的资源使用量与当前资源限定量之间的差值均大于预设阈值的虚拟机;
70.降低第二目标虚拟机的当前资源限定量。
71.其中,当前资源限定量为虚拟机当前时刻的资源限定量,当虚拟机在预设时间段内的资源使用量小于虚拟机的当前资源限定量,并且虚拟机在预设时间段内的资源使用量与虚拟机的当前资源限定量之间的差值均大于预设阈值时,说明虚拟机的资源限定量较大,若物理机根据当前资源限定量控制虚拟机的资源使用量,可能会导致虚拟机的部分资源被闲置。
72.本实施例中,电子设备也可以从物理机中的多个虚拟机中确定资源使用量持续小于当前资源限定量,并且资源使用量持续与当前资源限定量之间差值持续较大的第二目标虚拟机,并降低第二目标虚拟机的当前资源限定量,以将第二目标虚拟机中闲置的资源释放,提供给其他虚拟机。结合上述举例,若虚拟机a当前时刻的网络带宽限定量为10000比特/秒,电子设备在监测到虚拟机a在30分钟内(30分钟即预设时间段)的网络带宽使用量均小于10000比特/秒,并且30分钟内的网络带宽使用量与10000比特/秒之间的差值均大于预设阈值时,可以确定虚拟机a的资源使用量较低,不需要10000比特/秒网络带宽限定量,可以将虚拟机a作为第二目标虚拟机,降低虚拟机a的当前网络带宽使用量。
73.需要说明的是,针对同一个虚拟机,在不同时间内可以是第一目标虚拟机或第二目标虚拟机。例如若虚拟机a在第一时间的资源使用量达到资源限定量,需要增加虚拟机a的资源限定量,则虚拟机a为第一目标虚拟机。在增加资源限定量之后,在虚拟机a运行一段时间之后的第二时间,若虚拟机a在预设时间段内的资源使用量小于当前资源限定量、并且在预设时间段内的资源使用量与当前资源限定量之间的差值均大于预设阈值,则虚拟机a为第二目标虚拟机。
74.在本发明实施例中,当虚拟机的资源使用量持续低于资源限定量,并且与资源限定量相差较大时,降低虚拟机的资源限定量,可以避免资源闲置,提高资源的利用率。
75.可选地,降低第二目标虚拟机的当前资源限定量的步骤可以包括:
76.将第二目标虚拟机的当前资源限定量降低第二资源量;第二资源量与第二目标虚拟机的资源限定量的历史降低次数正相关;
77.在降低后的资源限定量低于第二目标虚拟机的初始资源限定量的情况下,将第二目标虚拟机的初始资源限定量作为第二目标虚拟机的资源限定量。
78.其中,初始资源限定量为建立虚拟机时,由用户为虚拟机设置的资源限定量。
79.在一种实施例中,电子设备也可以记录虚拟机的资源限定量的降低次数,得到虚拟机的历史降低次数。在确定需要降低资源限定量的第二目标虚拟机时,首先根据第二目标虚拟机的历史降低次数确定与历史降低次数正相关的第二资源量,然后将第二目标虚拟机的当前资源量降低第二资源量。控制历史降低次数与第二资源量正相关的方式可参考控制第一资源量与历史增加次数正相关的过程,本实施例对此不做限制。
80.同时,电子设备在降低第二目标虚拟机的资源限定量的过程中,若确定降低后的资源限定量小于第二目标虚拟机的初始资源限定量,可以将第二目标虚拟机的初始资源限
定量作为第二目标虚拟机的资源限定量。例如,若虚拟机a的初始网络带宽限定量为12000比特/秒,在对虚拟机a的网络带宽限定量进行降低的过程中,若降低后的网络带宽限定量低于12000比特/秒,可以将虚拟机a的网络带宽限定量设置为12000比特/秒,以避免虚拟机a的网络带宽限定量较低,无法满足虚拟机a自身的需求。
81.实际应用中,当资源限定量的降低次数较多时,说明虚拟机本身需要较少的资源量,在每次降低虚拟机的资源限定量时,控制资源限定量的降低量与历史降低次数正相关,可以更及时的为虚拟机设置较小的资源限定量,避免频繁降低虚拟机的资源限定量。
82.可选地,增加第一目标虚拟机的资源限定量的步骤包括:
83.在降低至少一个第二目标虚拟机的当前资源限定量的情况下,确定所有第二目标虚拟机的当前资源限定量的总降低幅度;
84.将第一目标虚拟机的资源限定量增加总降低幅度。
85.在一种实施例中,当物理机中的多个虚拟机中同时包括第一目标虚拟机和第二目标虚拟机的情况下,电子设备首先可以降低第二目标虚拟机的当前资源限定量,并确定降低的所有第二目标虚拟机的总的降低幅度,然后将第一目标虚拟机的资源限定量增加总降低幅度。例如,虚拟机a和虚拟机c为需要降低当前资源限定量的第二目标虚拟机,虚拟机b为需要增加资源限定量的第一目标虚拟机,首先可以降低虚拟机a和虚拟机c的当前资源限定量,并计算虚拟机a和虚拟机c降低的资源限定量的总和,即总降低幅度。然后可以将虚拟机b的资源限定量增加总降低幅度。实际应用中,当多个虚拟机中同时存在第二目标虚拟机和第一目标虚拟机时,先降低第二目标虚拟机的资源限定量,然后将降低幅度增加到第一目标虚拟机的资源限定量中,可以不对其它虚拟机的资源限定量进行调整,避免调节其他虚拟机的资源限定量。
86.综上所述,本实施例中,获取物理机所包括的虚拟机的资源使用量,在多个虚拟机中存在资源使用量达到资源限定量的第一目标虚拟机的情况下,确定多个虚拟机的资源使用总量和资源限定总量,在资源使用总量低于物理机具有的实际资源量的情况下,增加第一目标虚拟机的资源限定量。通过在虚拟机的资源使用量大于资源限定量时增加虚拟机的资源限定量,可以根据增加后的资源限定量为虚拟机分配更多的资源,可以解决虚拟机负载较大时,虚拟机的资源不足的问题。
87.参照图4,图4为本发明实施例中的一种资源配置装置的结构框图,该装置400可以包括:获取模块401、确定模块402和调整模块403。
88.获取模块401,用于获取物理机所包括的虚拟机的资源使用量;物理机中对应配置有多个虚拟机;
89.确定模块402,用于在多个虚拟机中包括至少一个第一目标虚拟机的情况下,确定多个虚拟机的资源使用总量和资源限定总量;第一目标虚拟机为资源使用量达到资源限定量的虚拟机;
90.调整模块403,用于在资源使用总量低于物理机具有的实际资源量的情况下,增加第一目标虚拟机的资源限定量。
91.可选地,调整模块403,具体用于获取第一目标虚拟机的资源限定量的历史增加次数;将第一目标虚拟机的资源限定量增加第一资源量;第一资源量与历史增加次数正相关。
92.可选地,调整模块403,还用于从多个虚拟机中确定第二目标虚拟机;第二目标虚
拟机为在预设时间段内的资源使用量小于当前资源限定量、并且在预设时间段内的资源使用量与当前资源限定量之间的差值均大于预设阈值的虚拟机;降低第二目标虚拟机的当前资源限定量。
93.可选地,调整模块403,具体用于将第二目标虚拟机的当前资源限定量降低第二资源量;第二资源量与第二目标虚拟机的资源限定量的历史降低次数正相关;在降低后的资源限定量低于第二目标虚拟机的初始资源限定量的情况下,将第二目标虚拟机的初始资源限定量作为第二目标虚拟机的资源限定量。
94.可选地,调整模块403,具体用于在降低至少一个第二目标虚拟机的当前资源限定量的情况下,确定所有第二目标虚拟机的当前资源限定量的总降低幅度;将第一目标虚拟机的资源限定量增加总降低幅度。
95.可选地,确定模块402具体用于在预设的监测时长内,若虚拟机的资源使用量与资源限定量之间的差值小于第一预设差值,则将虚拟机作为第一目标虚拟机,并确定多个虚拟机的资源使用总量和资源限定总量。
96.可选地,调整模块403,具体用于在第一目标虚拟机的数量为多个的情况下,按优先级从大到小的顺序,依次增加每个第一目标虚拟机的资源限定量;在资源使用总量与实际资源量之间的差值小于第二预设差值的情况下,停止增加第一目标虚拟机的资源限定量。
97.可选地,调整模块403,具体用于在第一目标虚拟机的数量为多个的情况下,若第一目标虚拟机的数量不高于预设数量,则同时增加每个第一目标虚拟机的资源限定量;在第一目标虚拟机的数量为多个的情况下,若第一目标虚拟机的数量高于预设数量,则按优先级从大到小的顺序,依次增加每个第一目标虚拟机的资源限定量;在资源使用总量与实际资源量之间的差值小于第二预设差值的情况下,停止增加第一目标虚拟机的资源限定量。
98.参照图5,图5为本发明实施例中的一种电子设备的结构示意图,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信;
99.存储器503,用于存放计算机程序;
100.处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
101.获取物理机所包括的虚拟机的资源使用量;物理机中对应配置有多个虚拟机;
102.在多个虚拟机中包括至少一个第一目标虚拟机的情况下,确定多个虚拟机的资源使用总量和资源限定总量;第一目标虚拟机为资源使用量达到资源限定量的虚拟机;
103.在资源使用总量低于物理机具有的实际资源量的情况下,增加第一目标虚拟机的资源限定量。
104.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
105.通信接口用于上述电子设备与其他设备之间的通信。
106.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括
非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
107.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
108.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一实施例所述的方法。
109.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一实施例所述的方法。
110.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、第一服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、第一服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的第一服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
111.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
112.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
113.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

技术特征:
1.一种资源配置方法,其特征在于,包括:获取物理机所包括的虚拟机的资源使用量;所述物理机中对应配置有多个所述虚拟机;在多个所述虚拟机中包括至少一个第一目标虚拟机的情况下,确定多个所述虚拟机的资源使用总量和资源限定总量;所述第一目标虚拟机为资源使用量达到资源限定量的虚拟机;在所述资源使用总量低于所述物理机具有的实际资源量的情况下,增加所述第一目标虚拟机的资源限定量。2.根据权利要求1所述的方法,其特征在于,所述增加所述第一目标虚拟机的资源限定量,包括:获取所述第一目标虚拟机的资源限定量的历史增加次数;将所述第一目标虚拟机的资源限定量增加第一资源量;所述第一资源量与所述历史增加次数正相关。3.根据权利要求1所述的方法,其特征在于,还包括:从多个所述虚拟机中确定第二目标虚拟机;所述第二目标虚拟机为在预设时间段内的资源使用量小于当前资源限定量、并且在所述预设时间段内的资源使用量与当前资源限定量之间的差值均大于预设阈值的虚拟机;降低所述第二目标虚拟机的当前资源限定量。4.根据权利要求3所述的方法,其特征在于,所述降低所述第二目标虚拟机的当前资源限定量,包括:将所述第二目标虚拟机的当前资源限定量降低第二资源量;所述第二资源量与所述第二目标虚拟机的资源限定量的历史降低次数正相关;在降低后的资源限定量低于所述第二目标虚拟机的初始资源限定量的情况下,将所述第二目标虚拟机的初始资源限定量作为所述第二目标虚拟机的资源限定量。5.根据权利要求3所述的方法,其特征在于,所述增加所述第一目标虚拟机的资源限定量,包括:在降低至少一个所述第二目标虚拟机的当前资源限定量的情况下,确定所有所述第二目标虚拟机的当前资源限定量的总降低幅度;将所述第一目标虚拟机的资源限定量增加所述总降低幅度。6.根据权利要求1所述的方法,其特征在于,所述在多个所述虚拟机中包括至少一个第一目标虚拟机的情况下,确定多个所述虚拟机的资源使用总量和资源限定总量,包括:在预设的监测时长内,若所述虚拟机的资源使用量与资源限定量之间的差值小于第一预设差值,则将所述虚拟机作为所述第一目标虚拟机,并确定多个所述虚拟机的资源使用总量和资源限定总量。7.根据权利要求1-6中任一项所述的方法,其特征在于,所述增加所述第一目标虚拟机的资源限定量,包括:在所述第一目标虚拟机的数量为多个的情况下,按优先级从大到小的顺序,依次增加每个所述第一目标虚拟机的资源限定量;在所述资源使用总量与所述实际资源量之间的差值小于第二预设差值的情况下,停止
增加所述第一目标虚拟机的资源限定量。8.根据权利要求1-6任一项所述的方法,其特征在于,所述增加所述第一目标虚拟机的资源限定量,包括:在所述第一目标虚拟机的数量为多个的情况下,若所述第一目标虚拟机的数量不高于预设数量,则同时增加每个所述第一目标虚拟机的资源限定量;在所述第一目标虚拟机的数量为多个的情况下,若所述第一目标虚拟机的数量高于所述预设数量,则按优先级从大到小的顺序,依次增加每个所述第一目标虚拟机的资源限定量;在所述资源使用总量与所述实际资源量之间的差值小于第二预设差值的情况下,停止增加所述第一目标虚拟机的资源限定量。9.一种资源配置装置,其特征在于,包括:获取模块,用于获取物理机所包括的虚拟机的资源使用量;所述物理机中对应配置有多个所述虚拟机;确定模块,用于在多个所述虚拟机中包括至少一个第一目标虚拟机的情况下,确定多个所述虚拟机的资源使用总量和资源限定总量;所述第一目标虚拟机为资源使用量达到资源限定量的虚拟机;调整模块,用于在所述资源使用总量低于所述物理机具有的实际资源量的情况下,增加所述第一目标虚拟机的资源限定量。10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的所述计算机程序时,实现权利要求1-8任一项所述的方法。11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的方法。

技术总结
本发明实施例提供了一种资源配置方法、装置、设备和可读存储介质,该方法包括:获取物理机所包括的虚拟机的资源使用量,在多个虚拟机中存在资源使用量达到资源限定量的第一目标虚拟机的情况下,确定多个虚拟机的资源使用总量和资源限定总量,在资源使用总量低于物理机具有的实际资源量的情况下,增加第一目标虚拟机的资源限定量。通过在虚拟机的资源使用量大于资源限定量时增加虚拟机的资源限定量,可以根据增加后的资源限定量为虚拟机分配更多的资源,可以解决虚拟机负载较大时,虚拟机的资源不足的问题。源不足的问题。源不足的问题。


技术研发人员:陈振
受保护的技术使用者:上海众源网络有限公司
技术研发日:2021.11.26
技术公布日:2022/3/8

最新回复(0)