CN117149348A - 虚拟机迁移方法、装置、存储介质及电子设备 - Google Patents
虚拟机迁移方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117149348A CN117149348A CN202311049700.5A CN202311049700A CN117149348A CN 117149348 A CN117149348 A CN 117149348A CN 202311049700 A CN202311049700 A CN 202311049700A CN 117149348 A CN117149348 A CN 117149348A
- Authority
- CN
- China
- Prior art keywords
- server
- type
- virtual machine
- resource
- migrated
- 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
- 238000013508 migration Methods 0.000 title claims abstract description 68
- 230000005012 migration Effects 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000011156 evaluation Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 description 8
- 230000010354 integration Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005265 energy consumption Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- YHXISWVBGDMDLQ-UHFFFAOYSA-N moclobemide Chemical compound C1=CC(Cl)=CC=C1C(=O)NCCN1CCOCC1 YHXISWVBGDMDLQ-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 238000012549 training Methods 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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/45583—Memory management, e.g. access or allocation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种虚拟机迁移方法、装置、存储介质及电子设备,涉及云计算技术领域。其中,该方法包括:获取虚拟机的多种资源的第一使用数据集合;基于第一使用数据集合,通过预测模型对虚拟机在预设时间段内的每种资源的使用数据进行预测,得到第二使用数据集合;根据第二使用数据集合,确定服务集群中每个服务器的服务器类型;从服务器类型为第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机,并从服务器类型为第三类型的服务器中确定目标服务器;将目标待迁移虚拟机迁移至目标服务器。本发明解决了现有技术中采用单一指标确定待迁移虚拟机,存在服务器负载不均衡导致服务器资源使用率较低的技术问题。
Description
技术领域
本发明涉及云计算技术领域,具体而言,涉及一种虚拟机迁移方法、装置、存储介质及电子设备。
背景技术
云计算具有大规模、虚拟化、可伸缩、可管理、按需服务等特征,相比于传统计算模式,弹性、高效的资源管理是其一大特色。随着建设绿色数据中心的要求,如何能够在稳定提供资源使用服务的同时,降低数据中心整体能耗值,减少云供应商的运营成本,成为云计算领域内一个至关重要的问题。
目前,相关技术中通过对虚拟机进行资源整合和调度,动态调配云环境中的运行负载,实现数据中心能耗的降低。传统的资源整合和调度机制主要是基于虚拟机CPU使用率这一单一指标选择待整合虚拟机以及实施调度决策,未综合考虑各项资源的使用情况,存在CPU负载瞬时冲高后就进行调度决策,导致虚拟机频繁迁移的问题,增加了不必要的IO负载和CPU计算损耗。并且,传统的方法会选择使得主机资源利用率下降最多的虚拟机,导致选择的宿主机规格较大,通常规格较大的宿主机内存占用率比较高,导致迁移过程时间较长,存在服务器负载不均衡导致服务器资源使用率较低的问题,无法实现整合效果与服务质量的平衡。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种虚拟机迁移方法、装置、存储介质及电子设备,以至少解决现有技术中采用单一指标确定待迁移虚拟机,存在服务器负载不均衡导致服务器资源使用率较低的技术问题。
根据本发明实施例的一个方面,提供了一种虚拟机迁移方法,包括:获取虚拟机的多种资源的第一使用数据集合,其中,多种资源至少包括CPU、内存、网络带宽、存储带宽;基于第一使用数据集合,通过预测模型对虚拟机在预设时间段内的每种资源的使用数据进行预测,得到第二使用数据集合;根据第二使用数据集合,确定服务集群中每个服务器的服务器类型,其中,服务器中部署有虚拟机,服务器类型为以下之一:第一类型、第二类型、第三类型,第一类型对应的负载量高于第三类型对应的负载量,第二类型对应的负载量低于第三类型对应的负载量;从服务器类型为第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机,并从服务器类型为第三类型的服务器中确定目标服务器;将目标待迁移虚拟机迁移至目标服务器。
进一步地,虚拟机迁移方法还包括:根据第二使用数据集合,计算得到每个服务器中部署的每个虚拟机的每种资源的资源使用率;根据每个服务器中部署的每个虚拟机的每种资源的资源使用率,确定每个服务器的服务器类型。
进一步地,虚拟机迁移方法还包括:分别对每个服务器中部署的每个虚拟机的每种资源的资源使用率与第一阈值进行比对,得到第一比对结果,并在第一比对结果为每种资源的资源使用率中存在至少一种资源的资源使用率大于第一阈值的情况下,确定至少一种资源对应的服务器的服务器类型为第一类型;在确定至少一种资源对应的服务器的服务器类型为第一类型之后,基于至少一种资源对应的服务器,生成第一类型服务器列表;分别对第一服务器中部署的每个虚拟机的每种资源的资源使用率与第二阈值进行比对,得到第二比对结果,其中,第一服务器为每个服务器中除第一类型服务器列表中的服务器之外的服务器;在第二比对结果为第一服务器中部署的每个虚拟机的每种资源的资源使用率均小于第二阈值的情况下,确定第一服务器的服务器类型为第二类型;在确定第一服务器的服务器类型为第二类型之后,基于第一服务器,生成第二类型服务器列表;获取服务集群对应的服务器列表,其中,服务器列表至少包括每个服务器的标识;在服务器列表中剔除第一类型服务器列表中的服务器和第二类型服务器列表中的服务器,得到第一服务器列表;确定第一服务器列表中的服务器的服务器类型为第三类型。
进一步地,虚拟机迁移方法还包括:从第一类型的服务器的资源中,确定第一资源,其中,第一资源为最高资源使用率对应的资源;获取第一资源对应的资源使用率和第一阈值,并根据第一资源对应的资源使用率和第一阈值,计算得到第一资源的评价值;根据评价值,从第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机。
进一步地,虚拟机迁移方法还包括:获取第三类型的服务器中部署的每个虚拟机的每种资源的资源使用率;根据第三阈值和第三类型的服务器中部署的每个虚拟机的每种资源的资源使用率,计算得到每个第三类型的服务器的资源冗余量;确定目标资源冗余量对应的第三类型的服务器为目标服务器,其中,目标资源冗余量为每个资源冗余量中小于第三阈值且最接近第三阈值的资源冗余量。
进一步地,虚拟机迁移方法还包括:在从服务器类型为第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机之后,从第二使用数据集合中获取目标待迁移虚拟机的每种资源的使用数据;根据目标待迁移虚拟机的每种资源的使用数据,计算目标待迁移虚拟机对应的服务器在迁移目标待迁移虚拟机之后的每种资源的资源使用率,得到第三使用数据集合;根据第三使用数据集合,判断目标待迁移虚拟机对应的服务器的服务器类型是否为第一类型;在目标待迁移虚拟机对应的服务器的服务器类型为第一类型的情况下,继续从目标待迁移虚拟机对应的服务器中部署的多个虚拟机中确定目标待迁移虚拟机。
进一步地,虚拟机迁移方法还包括:在将目标待迁移虚拟机迁移至目标服务器之后,在检测到第一类型服务器列表中的服务器迁移完成之后,将第二类型服务器列表中的服务器中部署的多个虚拟机放入待迁移虚拟机序列中;基于待迁移虚拟机序列,将第二类型服务器列表中的服务器中部署的多个虚拟机迁移至目标服务器。
根据本发明实施例的另一方面,还提供了一种虚拟机迁移装置,包括:获取模块,用于获取虚拟机的多种资源的第一使用数据集合,其中,多种资源至少包括CPU、内存、网络带宽、存储带宽;第一处理模块,用于基于第一使用数据集合,通过预测模型对虚拟机在预设时间段内的每种资源的使用数据进行预测,得到第二使用数据集合;第一确定模块,用于根据第二使用数据集合,确定服务集群中每个服务器的服务器类型,其中,服务器中部署有虚拟机,服务器类型为以下之一:第一类型、第二类型、第三类型,第一类型对应的负载量高于第三类型对应的负载量,第二类型对应的负载量低于第三类型对应的负载量;第二确定模块,用于从服务器类型为第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机,并从服务器类型为第三类型的服务器中确定目标服务器;第二处理模块,用于将目标待迁移虚拟机迁移至目标服务器。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的虚拟机迁移方法。
根据本发明实施例的另一方面,还提供了一种电子设备,该电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的虚拟机迁移方法。
在本发明实施例中,采用综合考虑多个指标的使用情况确定待迁移虚拟机的方式,首先获取虚拟机的多种资源的第一使用数据集合,然后基于第一使用数据集合,通过预测模型对虚拟机在预设时间段内的每种资源的使用数据进行预测,得到第二使用数据集合,然后根据第二使用数据集合,确定服务集群中每个服务器的服务器类型,然后从服务器类型为第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机,并从服务器类型为第三类型的服务器中确定目标服务器,然后将目标待迁移虚拟机迁移至目标服务器。其中,多种资源至少包括CPU、内存、网络带宽、存储带宽,服务器中部署有虚拟机,服务器类型为以下之一:第一类型、第二类型、第三类型,第一类型对应的负载量高于第三类型对应的负载量,第二类型对应的负载量低于第三类型对应的负载量。
在上述过程中,通过获取虚拟机的多种资源的第一使用数据集合,为后续预测未来一段时间窗口内每种资源的使用数据提供了数据基础;通过预测模型对虚拟机在预设时间段内的每种资源的使用数据进行预测,可以判断出未来一段时间窗口内宿主机(即部署了虚拟机的服务器)的负载情况,即确定出服务集群中每个服务器的服务器类型,从而能够从服务器类型为第一类型的服务器中部署的多个虚拟机中确定出目标待迁移虚拟机,并从服务器类型为第三类型的服务器中确定出目标服务器,进而能够将目标待迁移虚拟机迁移至目标服务器,在目标待迁移虚拟机选择方面,综合考虑了迁移效果和内存占用量导致的迁移开销,平衡了待迁移虚拟机的数量和迁移效率;在迁移目标服务器选择方面,综合考虑多种资源的使用情况,能够在将待迁移虚拟机迁移到目标服务器之后,实现各项资源使用率最大化,并且可以使目标服务器在未来一段时间范围内持续处于正常运行状态,提高了服务器资源使用率。
由此可见,通过本发明的技术方案,达到了通过综合考虑多个资源指标的使用情况,实现平衡待迁移虚拟机的数量和迁移效率的目的,从而实现了提高服务器资源使用率的技术效果,进而解决了现有技术中采用单一指标确定待迁移虚拟机,存在服务器负载不均衡导致服务器资源使用率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的虚拟机迁移方法的流程图;
图2是根据本发明实施例的一种可选的虚拟机迁移的流程示意图;
图3是根据本发明实施例的一种可选的虚拟机迁移装置的示意图;
图4是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本发明所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
实施例1
根据本发明实施例,提供了一种虚拟机迁移方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的虚拟机迁移方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,获取虚拟机的多种资源的第一使用数据集合,其中,多种资源至少包括CPU、内存、网络带宽、存储带宽。
在上述步骤中,可以通过应用系统、处理器、电子设备等装置获取虚拟机的多种资源的第一使用数据集合。可选的,通过虚拟机迁移系统获取虚拟机的多种资源的第一使用数据集合。第一使用数据集合可以是虚拟机的每种资源的历史使用量集合,对于云内运行的虚拟机,可以周期性地获取虚拟机的资源使用量,包括CPU使用量、内存使用量、网络带宽使用量、存储带宽使用量等等。
步骤S102,基于第一使用数据集合,通过预测模型对虚拟机在预设时间段内的每种资源的使用数据进行预测,得到第二使用数据集合。
在上述步骤中,第二使用数据集合可以是对虚拟机在未来一段时间窗口内的每种资源的预测使用量集合,通过预先训练好的时间序列预测模型对虚拟机在预设时间段内的每种资源的使用数据进行预测,可以得到第二使用数据集合。可选的,时间序列预测模型可以采用多元线性回归模型、差分整合移动平均自回归模型(ARIMA模型)、BP神经网络模型等。
图2是根据本发明实施例的一种可选的虚拟机迁移的流程示意图,如图2所示,在本实施例中,虚拟机迁移的流程包括虚拟机负载预测、宿主机负载预测、筛选待迁移虚拟机、选择目的主机(即目标服务器)。
可选的,首先进行虚拟机负载预测,具体的,资源类型至少包括CPU资源、内存资源、网络带宽资源、存储带宽资源。对于资源类型d,定义服务器h内部署的虚拟机i在时间t的使用量为根据过去m个时刻的观测值(即CPU使用量、内存使用量、网络带宽使用量、存储带宽使用量),可以通过预测模型F,预测未来n个时间窗口内的资源使用量,得到第二使用数据集合。可选的,各时间段模型的输入及输出如表1所示。
表1
可选的,具体预测算法如下,其中,1,…,n为未来时刻:
输入:虚拟机历史资源使用量
输出:未来时间窗口内资源量
BEGIN
FOR虚拟机i IN所有虚拟机集合,DO
训练预测模型参数
FOR时间t IN 1,…,n,DO
使用过去t-m个时刻的观测值预测t时刻的使用量
END FOR
RETURN未来n个时间窗口内的资源使用量
END
需要说明的是,通过预测模型对虚拟机在预设时间段内的每种资源的使用数据进行预测,可以预测出云内各服务器的资源使用率,从而可以通过虚拟机整合和调度,实现系统内的负载均衡,最终能够在不损失服务质量的情况下,降低数据中心的能耗。
步骤S103,根据第二使用数据集合,确定服务集群中每个服务器的服务器类型,其中,服务器中部署有虚拟机,服务器类型为以下之一:第一类型、第二类型、第三类型,第一类型对应的负载量高于第三类型对应的负载量,第二类型对应的负载量低于第三类型对应的负载量。
在上述步骤中,第一类型可以是热主机类型,第二类型可以是冷主机类型,第三类型可以是正常主机类型。
可选的,进行宿主机负载预测。对于服务集群(即服务器集群)内供应了虚拟机的宿主机节点(即服务器),可以根据虚拟机未来一段时间窗口内的预测资源使用量,预测服务器未来的状态,其中,服务器的状态可以是高负载状、低负载状态、正常状态,即根据第二使用数据集合,确定服务集群中每个服务器的服务器类型。可选的,高负载状态的服务器为热主机类型服务器,低负载状态的服务器为冷主机类型服务器,正常负载状态的服务器为正常主机类型服务器。
在一种可选的实施例中,在根据第二使用数据集合,确定服务集群中每个服务器的服务器类型的过程中,首先根据第二使用数据集合,计算得到每个服务器中部署的每个虚拟机的每种资源的资源使用率,然后根据每个服务器中部署的每个虚拟机的每种资源的资源使用率,确定每个服务器的服务器类型。
可选的,根据第二使用数据集合,可以计算得到每个服务器中部署的每个虚拟机的每种资源的资源使用率。具体的,对于资源类型d,通过如下公式计算得到服务器h的每种资源(即CPU、内存、网络带宽、存储带宽)在时间t的资源使用率:
其中,wd(h)为服务器的基础资源使用量,Rd(h)为服务器的资源总量。
进一步地,根据每个服务器中部署的每个虚拟机的每种资源的资源使用率,确定每个服务器的服务器类型。
在一种可选的实施例中,在根据每个服务器中部署的每个虚拟机的每种资源的资源使用率,确定每个服务器的服务器类型的过程中,首先分别对每个服务器中部署的每个虚拟机的每种资源的资源使用率与第一阈值进行比对,得到第一比对结果,并在第一比对结果为每种资源的资源使用率中存在至少一种资源的资源使用率大于第一阈值的情况下,确定至少一种资源对应的服务器的服务器类型为第一类型;在确定至少一种资源对应的服务器的服务器类型为第一类型之后,基于至少一种资源对应的服务器,生成第一类型服务器列表;分别对第一服务器中部署的每个虚拟机的每种资源的资源使用率与第二阈值进行比对,得到第二比对结果,其中,第一服务器为每个服务器中除第一类型服务器列表中的服务器之外的服务器;在第二比对结果为第一服务器中部署的每个虚拟机的每种资源的资源使用率均小于第二阈值的情况下,确定第一服务器的服务器类型为第二类型;在确定第一服务器的服务器类型为第二类型之后,基于第一服务器,生成第二类型服务器列表;获取服务集群对应的服务器列表,其中,服务器列表至少包括每个服务器的标识;在服务器列表中剔除第一类型服务器列表中的服务器和第二类型服务器列表中的服务器,得到第一服务器列表;确定第一服务器列表中的服务器的服务器类型为第三类型。
可选的,通过设定第一阈值,分别对每个服务器中部署的每个虚拟机的每种资源的资源使用率与第一阈值进行比对,可以确定出每个服务器的服务器类型。可选的,在第一比对结果为每种资源的资源使用率中存在至少一种资源的资源使用率大于第一阈值的情况下,确定至少一种资源对应的服务器的服务器类型为第一类型。例如,服务器A部署了虚拟机1和虚拟机2,若虚拟机1和虚拟机2的CPU使用量之和大于热主机判定阈值,且判定次数大于第一阈值的情况下,确定服务器A为热主机类型服务器。
可选的,在确定至少一种资源对应的服务器的服务器类型为第一类型之后,基于至少一种资源对应的服务器,生成第一类型服务器列表(即热主机列表)。
可选的,若每种资源的资源使用率中不存在资源使用率大于第一阈值的情况下,则继续进行冷主机类型的判定,可选的,分别对第一服务器中部署的每个虚拟机的每种资源的资源使用率与第二阈值进行比对,得到第二比对结果,其中,第一服务器为除了前面判定出的热主机类型服务器之外的服务器,即服务集群中除热主机类型服务器之外的服务器。
具体的,第一阈值可以为判定热主机类型的阈值,第二阈值可以为判定冷主机类型的阈值。在未来n个时间段内,若服务器资源使用率大于热主机阈值ed的次数大于第一阈值时,则将该服务器标记为高负载主机(即热主机),例如,第一阈值为6,若在10个时间周期,判定了7次服务器类型为热主机,大于第一阈值6,则将该服务器标记为热主机。
可选的,在第二比对结果为第一服务器中部署的每个虚拟机的每种资源的资源使用率均小于第二阈值的情况下,确定第一服务器的服务器类型为第二类型(即冷主机类型),例如,若服务器资源使用率持续低于冷主机阈值ld时,则将该服务器标记为低负载主机(即冷主机)。
可选的,在第一服务器中部署的每个虚拟机的每种资源的资源使用率中存在大于或等于第二阈值的情况下,可以认为该服务器为正常主机类型的服务器,即该服务器未满足热主机的判定条件,也未满足冷主机的判定条件。
可选的,在确定第一服务器的服务器类型为第二类型之后,基于第一服务器,生成第二类型服务器列表(即冷主机列表)。
可选的,从云管理平台获取服务集群对应的服务器列表,例如,总服务器列表,其中,服务器列表至少包括每个服务器的标识,例如,服务器的身份标识。可选的,在服务器列表中剔除热主机列表中的服务器和冷主机列表中的服务器,可以得到第一服务器列表(即正常主机列表),确定正常主机列表中的服务器的服务器类型为第三类型(即正常主机类型)。
具体的,热主机、冷主机判定的流程算法如下:
输入:集群中所有主机,热、冷主机判定阈值,阈值threshold
输出:待迁移的服务器集合
BEGIN
FOR每一台服务器h IN服务器列表,DO
FOR每一种资源类型d IN资源类型列表,DO
IF(服务器h预测窗口内资源d使用率>热主机判定阈值)的时间/总时间窗口>
threshold,THEN:
将服务器h标记为热主机;
在服务器列表内去除服务器h;
ELSE IF服务器h的资源使用率在预测时间窗口内都小于冷主机判定阈值,THEN:
将服务器h在资源类型d上标记在为低使用率;
END IF
END FOR
IF服务器h在所有资源类型上都标记为低使用率,THEN:
将服务器h标记为冷主机;
在服务器列表内去除h服务器;
END IF
END FOR
RETURN热主机列表和冷主机列表
END
需要说明的是,在本实施例中,可以平衡迁移效果与迁移开销,在减少全局虚拟机迁移数量的同时,能够显著地降低高负载主机的资源负载,并尽可能降低虚拟机的迁移影响,可以动态进行服务器资源整合,并在资源整合后满足持续高效运行条件。
步骤S104,从服务器类型为第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机,并从服务器类型为第三类型的服务器中确定目标服务器。
步骤S105,将目标待迁移虚拟机迁移至目标服务器。
在上述步骤中,从热主机类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机,从正常主机类型的服务器中确定目标服务器,然后将目标待迁移虚拟机迁移至目标服务器。
在一种可选的实施例中,在从服务器类型为第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机的过程中,首先从第一类型的服务器的资源中,确定第一资源,然后获取第一资源对应的资源使用率和第一阈值,并根据第一资源对应的资源使用率和第一阈值,计算得到第一资源的评价值,然后根据评价值,从第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机。其中,第一资源为最高资源使用率对应的资源。
可选的,筛选待迁移虚拟机,即确定热主机列表中的每台热主机中的待迁移虚拟机。在确定出热主机列表、冷主机列表之后,需先进行热主机节点内虚拟机迁移,降低热主机负载,待云环境中无热主机节点后,可以再进行冷主机资源整合。
需要说明的是,虚拟机迁移主要使用内存拷贝技术,需占用云平台内网的网络带宽,若迁移选择不合理,可能减少了数据中心的能耗,但带来了较大的迁移开销,造成整体获得的能耗收益小于虚拟机迁移付出的成本。其中,虚拟机迁移消耗量主要与虚拟机占用的物理内存的大小有关,因此,在热主机节点内筛选待迁移虚拟机时,需要综合考虑虚拟机的内存大小,尽可能在减少虚拟机迁移数量、提高迁移速度的同时,能够最显著地降低热主机的负载。
可选的,首先从第一类型的服务器的资源中,确定第一资源。具体的,对于每台热主机h,首先在热主机h的所有资源类型列表{1,2,…,D}中,筛选出最热的资源类型(即第一资源)d′,即:其中,资源类型列表中包含的内容可以是CPU、内存、网络带宽、存储带宽,例如,服务器A的CPU资源为最热资源。
进一步地,获取第一资源对应的资源使用率和第一阈值,并根据第一资源对应的资源使用率和第一阈值,计算得到第一资源的评价值。可选的,定义一个评价指标为资源温度,即通过如下公式,计算得到第一资源的评价值:
其中,ed′为资源类型d′的热主机判定阈值。
进一步地,根据评价值,从第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机。可选的,在热主机h上运行的虚拟机总体vm(h)中选择一个虚拟机v。相比其它虚拟机a,迁移虚拟机v后,主机的资源温度能显著降低,同时迁移的虚拟机v的内存(RAM)较为合适。用数学式表达如下:
其中,丨为前置筛选条件,即筛选条件为在热主机h中筛选,vm(h)\v表示在vm(h)去掉v,RAMu(v)表示内存使用量。例如,服务器A部署了虚拟机1、虚拟机2、虚拟机3,依次把3个虚拟机的资源温度带入上述数学公式,判断3个虚拟机中的哪个虚拟机的资源温度大于另外两个,则该虚拟机即为目标待迁移虚拟机。
在一种可选的实施例中,在从服务器类型为第三类型的服务器中确定目标服务器的过程中,首先获取第三类型的服务器中部署的每个虚拟机的每种资源的资源使用率,然后根据第三阈值和第三类型的服务器中部署的每个虚拟机的每种资源的资源使用率,计算得到每个第三类型的服务器的资源冗余量,然后确定目标资源冗余量对应的第三类型的服务器为目标服务器,其中,目标资源冗余量为每个资源冗余量中小于第三阈值且最接近第三阈值的资源冗余量。
可选的,第三阈值可以是预设的安全阈值,筛选出待迁移虚拟机后,需对虚拟机选择目标节点(即目标服务器),选择最佳的目标节点,需要保证迁移入虚拟机后,主机在未来一段时间既满足高效运行条件,也不会导致持续过载。例如,可以设置安全阈值为过载阈值线,或者过载阈值线的0.9倍,当过载阈值线为0.8,则安全阈值为0.8或者0.72。
可选的,获取第三类型的服务器中部署的每个虚拟机的每种资源的资源使用率,然后根据第三阈值和第三类型的服务器中部署的每个虚拟机的每种资源的资源使用率,计算得到每个第三类型的服务器的资源冗余量,然后确定目标资源冗余量对应的第三类型的服务器为目标服务器。具体的,在进行目标主机筛选时,在未来正常运行的主机集合中,迁移入虚拟机后,选择各项资源未来的使用量最接近于安全阈值的主机。其中,资源冗余量=安全阈值-资源在预测窗口内使用率-待迁移节点使用率。
可选的,如果所有正常运行的主机节点在迁移入虚拟机后,预测窗口内的资源使用率均超过安全阈值,则启动冷节点作为目的主机,并将该冷节点从待整合资源中去除。
具体的,选择方法的具体流程如下:
输入:正常主机节点,待迁移虚拟机
BEGIN
FOR每一台服务器h IN未来正常运行服务器列表,DO计算资源冗余量,资源冗余量=安全阈值-资源在预测窗口内使用率-待迁移节点使用率;
IF所有资源冗余量>=0AND所有资源冗余量之和<=最优冗余量,THEN:
设定当前节点资源冗余量之和为最优冗余量;
设定最优目标节点为服务器h;
END IF
END FOR
IF未挑选出最优目标节点,THEN:
选择一台冷主机h作为目标节点;
将主机h从冷主机序列内移除;
END IF
RETURN最优目标服务器
基于上述步骤S101至步骤S105所限定的方案,可以获知,在本发明实施例中,采用综合考虑多个指标的使用情况确定待迁移虚拟机的方式,首先获取虚拟机的多种资源的第一使用数据集合,然后基于第一使用数据集合,通过预测模型对虚拟机在预设时间段内的每种资源的使用数据进行预测,得到第二使用数据集合,然后根据第二使用数据集合,确定服务集群中每个服务器的服务器类型,然后从服务器类型为第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机,并从服务器类型为第三类型的服务器中确定目标服务器,然后将目标待迁移虚拟机迁移至目标服务器。其中,多种资源至少包括CPU、内存、网络带宽、存储带宽,服务器中部署有虚拟机,服务器类型为以下之一:第一类型、第二类型、第三类型,第一类型对应的负载量高于第三类型对应的负载量,第二类型对应的负载量低于第三类型对应的负载量。
容易注意到的是,在上述过程中,通过获取虚拟机的多种资源的第一使用数据集合,为后续预测未来一段时间窗口内每种资源的使用数据提供了数据基础;通过预测模型对虚拟机在预设时间段内的每种资源的使用数据进行预测,可以判断出未来一段时间窗口内宿主机(即部署了虚拟机的服务器)的负载情况,即确定出服务集群中每个服务器的服务器类型,从而能够从服务器类型为第一类型的服务器中部署的多个虚拟机中确定出目标待迁移虚拟机,并从服务器类型为第三类型的服务器中确定出目标服务器,进而能够将目标待迁移虚拟机迁移至目标服务器,在目标待迁移虚拟机选择方面,综合考虑了迁移效果和内存占用量导致的迁移开销,平衡了待迁移虚拟机的数量和迁移效率;在迁移目标服务器选择方面,综合考虑多种资源的使用情况,能够在将待迁移虚拟机迁移到目标服务器之后,实现各项资源使用率最大化,并且可以使目标服务器在未来一段时间范围内持续处于正常运行状态,提高了服务器资源使用率。
由此可见,通过本发明的技术方案,达到了通过综合考虑多个资源指标的使用情况,实现平衡待迁移虚拟机的数量和迁移效率的目的,从而实现了提高服务器资源使用率的技术效果,进而解决了现有技术中采用单一指标确定待迁移虚拟机,存在服务器负载不均衡导致服务器资源使用率较低的技术问题。
在一种可选的实施例中,在从服务器类型为第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机之后,从第二使用数据集合中获取目标待迁移虚拟机的每种资源的使用数据,然后根据目标待迁移虚拟机的每种资源的使用数据,计算目标待迁移虚拟机对应的服务器在迁移目标待迁移虚拟机之后的每种资源的资源使用率,得到第三使用数据集合,然后根据第三使用数据集合,判断目标待迁移虚拟机对应的服务器的服务器类型是否为第一类型,然后在目标待迁移虚拟机对应的服务器的服务器类型为第一类型的情况下,继续从目标待迁移虚拟机对应的服务器中部署的多个虚拟机中确定目标待迁移虚拟机。
可选的,在从服务器类型为第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机之后,计算迁移虚拟机v后主机h是否还处于热状态,即判断目标待迁移虚拟机对应的服务器的服务器类型是否为第一类型,若目标待迁移虚拟机对应的服务器的服务器类型为第一类型,即迁移虚拟机v后主机h还处于热状态,则继续筛选新的虚拟机,即继续从目标待迁移虚拟机对应的服务器中部署的多个虚拟机中确定目标待迁移虚拟机。
可选的,从第二使用数据集合中获取目标待迁移虚拟机的每种资源的使用数据,然后根据目标待迁移虚拟机的每种资源的使用数据,计算目标待迁移虚拟机对应的服务器在迁移目标待迁移虚拟机之后的每种资源的资源使用率,得到第三使用数据集合。具体的,通过计算每个服务器中部署的每个虚拟机的每种资源的资源使用率的公式进行校验,例如,在/>中把目标待迁移虚拟机(例如,虚拟机v)的资源使用率/>去掉再计算,得到第三使用数据集合。
在一种可选的实施例中,在将目标待迁移虚拟机迁移至目标服务器之后,在检测到第一类型服务器列表中的服务器迁移完成之后,将第二类型服务器列表中的服务器中部署的多个虚拟机放入待迁移虚拟机序列中,然后基于待迁移虚拟机序列,将第二类型服务器列表中的服务器中部署的多个虚拟机迁移至目标服务器。
可选的,可以根据需求对冷主机类型服务器进行虚拟机迁移。可选的,进行冷主机资源整合之前,需确保云环境内不再有热主机节点,即在检测到第一类型服务器列表中的服务器迁移完成之后,将冷主机服务器列表中的服务器中部署的多个虚拟机放入待迁移虚拟机序列(即可迁移虚机序列)中,然后基于待迁移虚拟机序列,将冷主机服务器列表中的服务器中部署的多个虚拟机迁移至目标服务器。
需要说明的是,在上述过程中,实现了对云环境中运行负载的动态调配,即筛选高负载主机上运行的虚拟机环境向低负载节点迁移,将持续低负载的主机上运行的虚拟机环境迁移至其他节点,并将已迁空的主机置于待机或关闭状态,从而在不降低服务等级协议(SLA)的情况下,实现系统内的负载均衡,降低数据中心能耗,提高数据中心的经济效益。
由此可见,通过本发明的技术方案,达到了通过综合考虑多个资源指标的使用情况,实现平衡待迁移虚拟机的数量和迁移效率的目的,从而实现了提高服务器资源使用率的技术效果,进而解决了现有技术中采用单一指标确定待迁移虚拟机,存在服务器负载不均衡导致服务器资源使用率较低的技术问题。
实施例2
根据本发明实施例,提供了一种虚拟机迁移装置的实施例,其中,图3是根据本发明实施例的一种可选的虚拟机迁移装置的示意图,如图3所示,该装置包括:获取模块301,用于获取虚拟机的多种资源的第一使用数据集合,其中,多种资源至少包括CPU、内存、网络带宽、存储带宽;第一处理模块302,用于基于第一使用数据集合,通过预测模型对虚拟机在预设时间段内的每种资源的使用数据进行预测,得到第二使用数据集合;第一确定模块303,用于根据第二使用数据集合,确定服务集群中每个服务器的服务器类型,其中,服务器中部署有虚拟机,服务器类型为以下之一:第一类型、第二类型、第三类型,第一类型对应的负载量高于第三类型对应的负载量,第二类型对应的负载量低于第三类型对应的负载量;第二确定模块304,用于从服务器类型为第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机,并从服务器类型为第三类型的服务器中确定目标服务器;第二处理模块305,用于将目标待迁移虚拟机迁移至目标服务器。
需要说明的是,上述获取模块301、第一处理模块302、第一确定模块303、第二确定模块304以及第二处理模块305对应于上述实施例中的步骤S101至步骤S105,五个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
可选的,第一确定模块包括:第一计算模块,用于根据第二使用数据集合,计算得到每个服务器中部署的每个虚拟机的每种资源的资源使用率;第三确定模块,用于根据每个服务器中部署的每个虚拟机的每种资源的资源使用率,确定每个服务器的服务器类型。
可选的,第三确定模块包括:第一比对模块,用于分别对每个服务器中部署的每个虚拟机的每种资源的资源使用率与第一阈值进行比对,得到第一比对结果,并在第一比对结果为每种资源的资源使用率中存在至少一种资源的资源使用率大于第一阈值的情况下,确定至少一种资源对应的服务器的服务器类型为第一类型;第三处理模块,用于在确定至少一种资源对应的服务器的服务器类型为第一类型之后,基于至少一种资源对应的服务器,生成第一类型服务器列表;第二比对模块,用于分别对第一服务器中部署的每个虚拟机的每种资源的资源使用率与第二阈值进行比对,得到第二比对结果,其中,第一服务器为每个服务器中除第一类型服务器列表中的服务器之外的服务器;第四确定模块,用于在第二比对结果为第一服务器中部署的每个虚拟机的每种资源的资源使用率均小于第二阈值的情况下,确定第一服务器的服务器类型为第二类型;第四处理模块,用于在确定第一服务器的服务器类型为第二类型之后,基于第一服务器,生成第二类型服务器列表;第一获取模块,用于获取服务集群对应的服务器列表,其中,服务器列表至少包括每个服务器的标识;第五处理模块,用于在服务器列表中剔除第一类型服务器列表中的服务器和第二类型服务器列表中的服务器,得到第一服务器列表;第五确定模块,用于确定第一服务器列表中的服务器的服务器类型为第三类型。
可选的,第二确定模块包括:第六确定模块,用于从第一类型的服务器的资源中,确定第一资源,其中,第一资源为最高资源使用率对应的资源;第二获取模块,用于获取第一资源对应的资源使用率和第一阈值,并根据第一资源对应的资源使用率和第一阈值,计算得到第一资源的评价值;第七确定模块,用于根据评价值,从第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机。
可选的,第二确定模块还包括:第三获取模块,用于获取第三类型的服务器中部署的每个虚拟机的每种资源的资源使用率;第二计算模块,用于根据第三阈值和第三类型的服务器中部署的每个虚拟机的每种资源的资源使用率,计算得到每个第三类型的服务器的资源冗余量;第八确定模块,用于确定目标资源冗余量对应的第三类型的服务器为目标服务器,其中,目标资源冗余量为每个资源冗余量中小于第三阈值且最接近第三阈值的资源冗余量。
可选的,虚拟机迁移装置还包括:第四获取模块,用于从第二使用数据集合中获取目标待迁移虚拟机的每种资源的使用数据;第三计算模块,用于根据目标待迁移虚拟机的每种资源的使用数据,计算目标待迁移虚拟机对应的服务器在迁移目标待迁移虚拟机之后的每种资源的资源使用率,得到第三使用数据集合;第九确定模块,用于根据第三使用数据集合,判断目标待迁移虚拟机对应的服务器的服务器类型是否为第一类型;第十确定模块,用于在目标待迁移虚拟机对应的服务器的服务器类型为第一类型的情况下,继续从目标待迁移虚拟机对应的服务器中部署的多个虚拟机中确定目标待迁移虚拟机。
可选的,虚拟机迁移装置还包括:第六处理模块,用于在检测到第一类型服务器列表中的服务器迁移完成之后,将第二类型服务器列表中的服务器中部署的多个虚拟机放入待迁移虚拟机序列中;第七处理模块,用于基于待迁移虚拟机序列,将第二类型服务器列表中的服务器中部署的多个虚拟机迁移至目标服务器。
实施例3
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的虚拟机迁移方法。
实施例4
根据本发明实施例的另一方面,还提供了一种电子设备,其中,图4是根据本发明实施例的一种可选的电子设备的示意图,如图4所示,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的虚拟机迁移方法。处理器执行程序时实现以下步骤:获取虚拟机的多种资源的第一使用数据集合,其中,多种资源至少包括CPU、内存、网络带宽、存储带宽;基于第一使用数据集合,通过预测模型对虚拟机在预设时间段内的每种资源的使用数据进行预测,得到第二使用数据集合;根据第二使用数据集合,确定服务集群中每个服务器的服务器类型,其中,服务器中部署有虚拟机,服务器类型为以下之一:第一类型、第二类型、第三类型,第一类型对应的负载量高于第三类型对应的负载量,第二类型对应的负载量低于第三类型对应的负载量;从服务器类型为第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机,并从服务器类型为第三类型的服务器中确定目标服务器;将目标待迁移虚拟机迁移至目标服务器。
可选的,处理器执行程序时还实现以下步骤:根据第二使用数据集合,计算得到每个服务器中部署的每个虚拟机的每种资源的资源使用率;根据每个服务器中部署的每个虚拟机的每种资源的资源使用率,确定每个服务器的服务器类型。
可选的,处理器执行程序时还实现以下步骤:分别对每个服务器中部署的每个虚拟机的每种资源的资源使用率与第一阈值进行比对,得到第一比对结果,并在第一比对结果为每种资源的资源使用率中存在至少一种资源的资源使用率大于第一阈值的情况下,确定至少一种资源对应的服务器的服务器类型为第一类型;在确定至少一种资源对应的服务器的服务器类型为第一类型之后,基于至少一种资源对应的服务器,生成第一类型服务器列表;分别对第一服务器中部署的每个虚拟机的每种资源的资源使用率与第二阈值进行比对,得到第二比对结果,其中,第一服务器为每个服务器中除第一类型服务器列表中的服务器之外的服务器;在第二比对结果为第一服务器中部署的每个虚拟机的每种资源的资源使用率均小于第二阈值的情况下,确定第一服务器的服务器类型为第二类型;在确定第一服务器的服务器类型为第二类型之后,基于第一服务器,生成第二类型服务器列表;获取服务集群对应的服务器列表,其中,服务器列表至少包括每个服务器的标识;在服务器列表中剔除第一类型服务器列表中的服务器和第二类型服务器列表中的服务器,得到第一服务器列表;确定第一服务器列表中的服务器的服务器类型为第三类型。
可选的,处理器执行程序时还实现以下步骤:从第一类型的服务器的资源中,确定第一资源,其中,第一资源为最高资源使用率对应的资源;获取第一资源对应的资源使用率和第一阈值,并根据第一资源对应的资源使用率和第一阈值,计算得到第一资源的评价值;根据评价值,从第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机。
可选的,处理器执行程序时还实现以下步骤:获取第三类型的服务器中部署的每个虚拟机的每种资源的资源使用率;根据第三阈值和第三类型的服务器中部署的每个虚拟机的每种资源的资源使用率,计算得到每个第三类型的服务器的资源冗余量;确定目标资源冗余量对应的第三类型的服务器为目标服务器,其中,目标资源冗余量为每个资源冗余量中小于第三阈值且最接近第三阈值的资源冗余量。
可选的,处理器执行程序时还实现以下步骤:在从服务器类型为第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机之后,从第二使用数据集合中获取目标待迁移虚拟机的每种资源的使用数据;根据目标待迁移虚拟机的每种资源的使用数据,计算目标待迁移虚拟机对应的服务器在迁移目标待迁移虚拟机之后的每种资源的资源使用率,得到第三使用数据集合;根据第三使用数据集合,判断目标待迁移虚拟机对应的服务器的服务器类型是否为第一类型;在目标待迁移虚拟机对应的服务器的服务器类型为第一类型的情况下,继续从目标待迁移虚拟机对应的服务器中部署的多个虚拟机中确定目标待迁移虚拟机。
可选的,处理器执行程序时还实现以下步骤:在将目标待迁移虚拟机迁移至目标服务器之后,在检测到第一类型服务器列表中的服务器迁移完成之后,将第二类型服务器列表中的服务器中部署的多个虚拟机放入待迁移虚拟机序列中;基于待迁移虚拟机序列,将第二类型服务器列表中的服务器中部署的多个虚拟机迁移至目标服务器。
本文中的设备可以是服务器、PC、PAD、手机等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种虚拟机迁移方法,其特征在于,包括:
获取虚拟机的多种资源的第一使用数据集合,其中,所述多种资源至少包括CPU、内存、网络带宽、存储带宽;
基于所述第一使用数据集合,通过预测模型对所述虚拟机在预设时间段内的每种资源的使用数据进行预测,得到第二使用数据集合;
根据所述第二使用数据集合,确定服务集群中每个服务器的服务器类型,其中,所述服务器中部署有所述虚拟机,所述服务器类型为以下之一:第一类型、第二类型、第三类型,所述第一类型对应的负载量高于所述第三类型对应的负载量,所述第二类型对应的负载量低于所述第三类型对应的负载量;
从服务器类型为所述第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机,并从服务器类型为所述第三类型的服务器中确定目标服务器;
将所述目标待迁移虚拟机迁移至所述目标服务器。
2.根据权利要求1所述的方法,其特征在于,根据所述第二使用数据集合,确定服务集群中每个服务器的服务器类型,包括:
根据所述第二使用数据集合,计算得到所述每个服务器中部署的每个虚拟机的每种资源的资源使用率;
根据所述每个服务器中部署的每个虚拟机的每种资源的资源使用率,确定所述每个服务器的服务器类型。
3.根据权利要求2所述的方法,其特征在于,根据所述每个服务器中部署的每个虚拟机的每种资源的资源使用率,确定所述每个服务器的服务器类型,包括:
分别对所述每个服务器中部署的每个虚拟机的每种资源的资源使用率与第一阈值进行比对,得到第一比对结果,并在所述第一比对结果为所述每种资源的资源使用率中存在至少一种资源的资源使用率大于所述第一阈值的情况下,确定所述至少一种资源对应的服务器的服务器类型为所述第一类型;
在确定所述至少一种资源对应的服务器的服务器类型为所述第一类型之后,基于所述至少一种资源对应的服务器,生成第一类型服务器列表;
分别对第一服务器中部署的每个虚拟机的每种资源的资源使用率与第二阈值进行比对,得到第二比对结果,其中,所述第一服务器为所述每个服务器中除所述第一类型服务器列表中的服务器之外的服务器;
在所述第二比对结果为所述第一服务器中部署的每个虚拟机的每种资源的资源使用率均小于所述第二阈值的情况下,确定所述第一服务器的服务器类型为所述第二类型;
在确定所述第一服务器的服务器类型为所述第二类型之后,基于所述第一服务器,生成第二类型服务器列表;
获取所述服务集群对应的服务器列表,其中,所述服务器列表至少包括所述每个服务器的标识;
在所述服务器列表中剔除所述第一类型服务器列表中的服务器和所述第二类型服务器列表中的服务器,得到第一服务器列表;
确定所述第一服务器列表中的服务器的服务器类型为所述第三类型。
4.根据权利要求1所述的方法,其特征在于,从服务器类型为所述第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机,包括:
从所述第一类型的服务器的资源中,确定第一资源,其中,所述第一资源为最高资源使用率对应的资源;
获取所述第一资源对应的资源使用率和第一阈值,并根据所述第一资源对应的资源使用率和所述第一阈值,计算得到所述第一资源的评价值;
根据所述评价值,从所述第一类型的服务器中部署的多个虚拟机中确定所述目标待迁移虚拟机。
5.根据权利要求1所述的方法,其特征在于,从服务器类型为所述第三类型的服务器中确定目标服务器,包括:
获取所述第三类型的服务器中部署的每个虚拟机的每种资源的资源使用率;
根据第三阈值和所述第三类型的服务器中部署的每个虚拟机的每种资源的资源使用率,计算得到每个所述第三类型的服务器的资源冗余量;
确定目标资源冗余量对应的第三类型的服务器为所述目标服务器,其中,所述目标资源冗余量为每个资源冗余量中小于所述第三阈值且最接近所述第三阈值的资源冗余量。
6.根据权利要求1所述的方法,其特征在于,在从服务器类型为所述第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机之后,所述方法还包括:
从所述第二使用数据集合中获取所述目标待迁移虚拟机的每种资源的使用数据;
根据所述目标待迁移虚拟机的每种资源的使用数据,计算所述目标待迁移虚拟机对应的服务器在迁移所述目标待迁移虚拟机之后的每种资源的资源使用率,得到第三使用数据集合;
根据所述第三使用数据集合,判断所述目标待迁移虚拟机对应的服务器的服务器类型是否为所述第一类型;
在所述目标待迁移虚拟机对应的服务器的服务器类型为所述第一类型的情况下,继续从所述目标待迁移虚拟机对应的服务器中部署的多个虚拟机中确定目标待迁移虚拟机。
7.根据权利要求1所述的方法,其特征在于,在将所述目标待迁移虚拟机迁移至所述目标服务器之后,所述方法还包括:
在检测到第一类型服务器列表中的服务器迁移完成之后,将第二类型服务器列表中的服务器中部署的多个虚拟机放入待迁移虚拟机序列中;
基于所述待迁移虚拟机序列,将所述第二类型服务器列表中的服务器中部署的多个虚拟机迁移至所述目标服务器。
8.一种虚拟机迁移装置,其特征在于,包括:
获取模块,用于获取虚拟机的多种资源的第一使用数据集合,其中,所述多种资源至少包括CPU、内存、网络带宽、存储带宽;
第一处理模块,用于基于所述第一使用数据集合,通过预测模型对所述虚拟机在预设时间段内的每种资源的使用数据进行预测,得到第二使用数据集合;
第一确定模块,用于根据所述第二使用数据集合,确定服务集群中每个服务器的服务器类型,其中,所述服务器中部署有所述虚拟机,所述服务器类型为以下之一:第一类型、第二类型、第三类型,所述第一类型对应的负载量高于所述第三类型对应的负载量,所述第二类型对应的负载量低于所述第三类型对应的负载量;
第二确定模块,用于从服务器类型为所述第一类型的服务器中部署的多个虚拟机中确定目标待迁移虚拟机,并从服务器类型为所述第三类型的服务器中确定目标服务器;
第二处理模块,用于将所述目标待迁移虚拟机迁移至所述目标服务器。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的虚拟机迁移方法。
10.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至7任一项中所述的虚拟机迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311049700.5A CN117149348A (zh) | 2023-08-18 | 2023-08-18 | 虚拟机迁移方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311049700.5A CN117149348A (zh) | 2023-08-18 | 2023-08-18 | 虚拟机迁移方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117149348A true CN117149348A (zh) | 2023-12-01 |
Family
ID=88903699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311049700.5A Pending CN117149348A (zh) | 2023-08-18 | 2023-08-18 | 虚拟机迁移方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117149348A (zh) |
-
2023
- 2023-08-18 CN CN202311049700.5A patent/CN117149348A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yu et al. | Stochastic load balancing for virtual resource management in datacenters | |
CN106790726B (zh) | 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法 | |
Andreolini et al. | Dynamic load management of virtual machines in cloud architectures | |
EP3320433B1 (en) | Method and device for computing resource scheduling | |
US9584389B2 (en) | Physical resource management | |
US20140082202A1 (en) | Method and Apparatus for Integration of Virtual Cluster and Virtual Cluster System | |
Rajabzadeh et al. | Energy-aware framework with Markov chain-based parallel simulated annealing algorithm for dynamic management of virtual machines in cloud data centers | |
CN104375897A (zh) | 基于最小相对负载不均衡度的云计算资源调度方法 | |
CN107220108B (zh) | 一种实现云数据中心负载均衡的方法和系统 | |
CN105607952B (zh) | 一种虚拟化资源的调度方法及装置 | |
CN114296868B (zh) | 一种多云环境下基于用户体验的虚拟机自动迁移决策方法 | |
CN102857548A (zh) | 一种移动云计算资源优化配置方法 | |
Jararweh et al. | Energy efficient dynamic resource management in cloud computing based on logistic regression model and median absolute deviation | |
CN110968424A (zh) | 一种基于K8s的资源调度方法、装置和存储介质 | |
CN102662764A (zh) | 一种基于smdp的动态云计算资源优化分配方法 | |
CN115167984B (zh) | 基于云计算平台的考虑物理资源竞争的虚拟机负载均衡放置方法 | |
CN109976879B (zh) | 一种基于资源使用曲线互补的云计算虚拟机放置方法 | |
CN113204429A (zh) | 一种数据中心的资源调度方法及系统、调度设备、介质 | |
Chouliaras et al. | Auto-scaling containerized cloud applications: A workload-driven approach | |
Garg et al. | Optimal virtual machine scheduling in virtualized cloud environment using VIKOR method | |
CN113778627A (zh) | 一种创建云资源的调度方法 | |
CN117311973A (zh) | 计算设备调度方法、装置、非易失性存储介质及电子设备 | |
Sun et al. | An energy efficient and runtime-aware framework for distributed stream computing systems | |
CN117032900A (zh) | 一种数据中心资源动态管理方法 | |
CN112148483A (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 |