CN105224381A - 一种迁移虚拟机的方法、装置及*** - Google Patents

一种迁移虚拟机的方法、装置及*** Download PDF

Info

Publication number
CN105224381A
CN105224381A CN201410240277.1A CN201410240277A CN105224381A CN 105224381 A CN105224381 A CN 105224381A CN 201410240277 A CN201410240277 A CN 201410240277A CN 105224381 A CN105224381 A CN 105224381A
Authority
CN
China
Prior art keywords
server
temperature value
current time
value
maximum temperature
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
Application number
CN201410240277.1A
Other languages
English (en)
Other versions
CN105224381B (zh
Inventor
宋�莹
孙毓忠
赵霞
康凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410240277.1A priority Critical patent/CN105224381B/zh
Priority to US14/725,057 priority patent/US20150347174A1/en
Priority to EP15169839.6A priority patent/EP2950213B1/en
Publication of CN105224381A publication Critical patent/CN105224381A/zh
Application granted granted Critical
Publication of CN105224381B publication Critical patent/CN105224381B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Cooling Or The Like Of Electrical Apparatus (AREA)

Abstract

本发明涉及数据中心技术领域,特别涉及一种迁移虚拟机的方法、装置及***,在该方案中,从当前时刻具有最高温度值的服务器中确定出待迁移虚拟机,并将该待迁移虚拟机迁移至目的服务器,由于目的服务器迁入待迁移虚拟机后的温度值小于虚拟机从当前时刻具有最高温度值的服务器迁出之前,当前时刻具有最高温度值的服务器具有的最高温度值,因此,数据中心的服务器的最高温度值降低了,而制冷时,最高温度值越高,所消耗的能量越多,最高温度值越低,所消耗的能量越少,因此,本方案降低了制冷过程中所消耗的能量。

Description

一种迁移虚拟机的方法、装置及***
技术领域
本发明涉及数据中心技术领域,特别涉及一种迁移虚拟机的方法、装置及***。
背景技术
随着网络技术的迅速发展,数据中心的规模呈现快速增长的趋势。对数据中心不合理的设计和操作可能导致数据中心温度过高,数据中心温度过高会导致数据中心的服务器出现故障的概率增加。因此,降低数据中心的温度是数据中心要解决的关键问题之一。
目前,通常采用制冷的方式来降低数据中心的温度,但是,该制冷过程中所消耗的能量主要与服务器的最高温度值相关,而目前的数据中心的各个服务器的温度分布不均衡,导致制冷过程中能量消耗较多,因此,目前的制冷方式中存在能量消耗较多的缺陷。
发明内容
本发明实施例提供一种迁移虚拟机的方法、装置及***,用以解决现有技术中在制冷过程中存在的能量损耗较多的问题。
本发明实施例提供的具体技术方案如下:
第一方面,提供一种迁移虚拟机的方法,包括:
获取当前时刻数据中心的每一台服务器的温度值;
从获取的所述数据中心的每一台服务器的温度值中,确定出最高温度值和最低温度值,并计算所述最高温度值与最低温度值的差值;
判定所述差值达到预设门限值时,从当前时刻具有所述最高温度值的服务器中确定出待迁移虚拟机,其中,所述预设门限值大于等于0;
从所述数据中心包括的除当前时刻具有所述最高温度值的服务器之外的其他服务器中,选择目的服务器,其中,选择的目的服务器满足:在将确定出的待迁移虚拟机迁入所述目的服务器后,所述目的服务器的温度值小于所述最高温度值;
将确定出的待迁移虚拟机迁移至所述目的服务器。
结合第一方面,在第一种可能的实现方式中,从当前时刻具有所述最高温度值的服务器中,确定出待迁移虚拟机,具体包括:
计算当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有所述最高温度值的服务器的温度影响值,其中,每一个虚拟机对当前时刻具有所述最高温度值的服务器的温度影响值,为每一个虚拟机在当前时刻具有所述最高温度值的服务器中运行时,所述当前时刻具有最高温度值的服务器的温度值变化量;
在计算得出的每一个虚拟机分别对当前时刻具有所述最高温度值的服务器的温度影响值中,确定出最大温度影响值;
将具有确定出的所述最大温度影响值的虚拟机,作为确定出的所述待迁移虚拟机。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,计算当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有所述最高温度值的服务器的温度影响值,包括:
获取在与所述当前时刻相邻的之前采样时间点,对当前时刻具有所述最高温度值的服务器的出风口进行温度采集得到的第一出风口温度,以及对具有所述最高温度值的服务器的入风口进行温度采集得到的第一入风口温度;
获取在所述当前时刻相邻的之前采样时间点,采集的当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有所述最高温度值的服务器的指定硬件设备的第一使用率,所述指定硬件设备具有产生热量,且所产生的热量随着所述指定硬件设备上的负载的变化而产生变化的属性;
获取在所述当前时刻之前的、且与所述当前时刻相距第一指定时长内的各采样时间点,分别采集的当前时刻具有所述最高温度值的服务器的指定硬件设备的第二使用率;
基于获取的所述第一出风口温度、所述第一入风口温度、所述第一使用率,及所述第二使用率,以及确定的第一出风口温度的权重值、第一入风口温度的权重值、第一使用率的权重值、第二使用率的权重值及环境温度值,采用加权求和方式预测当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别迁出当前时刻具有所述最高温度值的服务器后,当前时刻具有所述最高温度值的服务器的温度值;
针对当前时刻具有所述最高温度值的服务器中的每一个虚拟机按照如下针对第一虚拟机执行的步骤执行,其中,所述第一虚拟机为当前时刻具有所述最高温度值的服务器中的所有虚拟机中的任意一虚拟机:
将预测得到所述第一虚拟机迁出当前时刻具有所述最高温度值的服务器后,当前时刻具有所述最高温度值的服务器的温度值,与获取的所述第一出风口温度之间的温度差值的绝对值,作为所述第一虚拟机对当前时刻具有所述最高温度值的服务器的温度影响值。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,预测当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别迁出当前时刻具有所述最高温度值的服务器后,当前时刻具有所述最高温度值的服务器的温度值,包括:
针对当前时刻具有所述最高温度值的服务器中的每一个虚拟机按照如下针对第一虚拟机执行的步骤执行:
将获取的所述第一出风口温度与确定的所述第一出风口温度的权重值相乘得到第一乘积;
将获取的所述第一入风口温度与确定的饿所述第一入风口温度的权重值相乘得到第二乘积;
将获取的所述第一使用率与确定的所述第一使用率的权重值相乘得到第三乘积;
将获取的所述第二使用率与确定的所述第二使用率的权重值相乘得到第四乘积;
将所述第一乘积、所述第二乘积、所述第三乘积、所述第四乘积,及确定的所述环境温度值相加,将相加得到的和值作为所述第一虚拟机迁出当前时刻具有所述最高温度值的服务器后,所述当前时刻具有所述最高温度值的服务器的温度值。
结合第一方面的第二或者第三种可能的实现方式,在第四种可能的实现方式中,确定出第一风口温度的权重值、第一入风口温度的权重值、第一使用率的权重值、第二使用率的权重值及环境温度值,包括:
获取位于当前时刻之前的一时间段内的各采样时间点,对当前时刻具有所述最高温度值的服务器的出风口进行温度采集得到的第二出风口温度;
获取在与所述各采样时间点分别对应的指定时间点,对当前时刻具有最高温度值的服务器的出风口进行温度采集得到的第三出风口温度;
获取在与所述各采样时间点分别对应的指定时间点,对当前时刻具有所述最高温度值服务器的入风口进行温度采集得到的第二入风口温度;
获取在与所述各采样时间点分别对应的指定时间点,采集的当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有所述最高温度值的服务器的指定硬件设备的第三使用率;
获取与所述各采样时间点分别对应的第二指定时长内,采集的当前时刻具有所述最高温度值的服务器的指定硬件设备的第四使用率;
将获取的第二出风口温度作为因变量,将获取的第三出风口温度、第二入风口温度、第三使用率和第四使用率分别作为自变量,采用加权求和方式确定出第一风口温度的权重值、第一入风口温度的权重值、第一使用率的权重值、第二使用率的权重值及环境温度值;
其中,与任意一采样时间点对应的指定时间点为位于所述任意一采样时间点之前,且与所述任意一采样时间点之间的时长等于所述当前时刻与设定的预测时间点之间的时长;与任意一采样时间点对应的第二指定时长为位于与所述任意一采样时间点对应的指定时间点之前的,且与所述对应的指定时间点相距任意时长的时间段。
结合第一方面的第二或者第四种可能的实现方式,在第五种可能的实现方式中,从所述数据中心包括的除当前时刻具有所述最高温度值的服务器之外的其他服务器中,选择目的服务器,包括:
从所述数据中心包括的除当前时刻具有所述最高温度值的服务器之外的其他服务器中,筛选出不包含与确定出的待迁移虚拟机互斥的虚拟机的服务器,和/或筛选出具备空闲资源满足确定出的待迁移虚拟机对资源的需求的服务器;
分别预测确定出的待迁移虚拟机迁入每一个筛选出的服务器后,每一个筛选出的服务器的温度值;
将所述筛选出的服务器中对应的预测出的温度值小于所述最高温度值的服务器,作为选择出的目的服务器。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,将所述筛选出的服务器中对应的预测出的温度值小于所述最高温度值的服务器,作为选择出的目的服务器,包括:
将所述筛选出的服务器中的温度值小于所述最高温度值的任一服务器,作为选择出的目的服务器。
结合第一方面的第五种可能的实现方式,在第七种可能的实现方式中,将所述筛选出的服务器中对应的预测出的温度值小于所述最高温度值的服务器,作为选择出的目的服务器,包括:
针对所述筛选出的服务器中的每一台服务器执行如下针对第一服务器的执行步骤,其中,所述第一服务器为所述筛选出的服务器中的任一服务器:
预测在确定出的待迁移虚拟机迁入所述第一服务器后,所述第一服务器、以及当前时刻具有所述最高温度值的服务器的温度值;
计算所述第一服务器、当前时刻具有所述最高温度值的服务器分别对应的预测出的温度值、及分别对所述数据中心除所述第一服务器、以及当前时刻具有所述最高温度值的服务器之外的其他服务器进行测量得到的各测量温度值中的最高温度值与最低温度值的差值;
在针对所述筛选出的服务器中的每一台服务器分别对应计算出的差值中,确定最小差值对应的服务器,作为选择出的目的服务器。
结合第一方面的第七种可能的实现方式,在第八种可能的实现方式中,预测在确定出的待迁移虚拟机迁入所述第一服务器后,所述第一服务器的温度值,包括:
获取在与所述当前时刻相邻的之前采样时间点,对所述第一服务器的出风口进行温度采集的第四出风口温度;
获取在与所述当前时刻相邻的之前采样时间点,对所述第一服务器的入风口进行温度采集得到的第三入风口温度;
获取在所述当前时刻相邻的之前采样时间点,采集的确定出的待迁移虚拟机对当前时刻具有所述最高温度值的服务器的指定硬件设备的第一使用率;
获取当前时刻具有所述最高温度值的服务器的第一总存储空间,以及所述第一服务器的第二总存储空间;
获取在所述当前时刻之前的、且与所述当前时刻相距所述第一指定时长内的各采样时间点,分别采集的所述第一服务器的指定硬件设备的第五使用率;
将获取的所述第四出风口温度与确定的所述出第一风口温度的权重值相乘得到第五乘积;
将获取的所述第三入风口温度与确定的所述第一入风口温度的权重值相乘得到第六乘积;
将获取的所述第一使用率与确定的所述第一使用率的权重值乘积,再与所述获取的所述第二总存储空间和所述第一总存储空间的比值进行相乘,得到第七乘积;
将获取的第五使用率与确定的所述第二使用率的权重值相乘得到第八乘积;
将所述第五乘积、所述第六乘积、所述第七乘积、所述第八乘积,及确定的所述环境温度值相加,将相加得到的和值作为预测出的确定的待迁移虚拟机迁入所述第一服务器后,所述第一服务器的温度值。
结合第一方面的第七种可能的实现方式,在第九种可能的实现方式中,预测确定出的待迁移虚拟机从当前时刻具有所述最高温度值的服务器中迁入到所述第一服务器后,当前时刻具有所述最高温度值的服务器的温度值,包括:
获取在与所述当前时刻相邻的之前采样时间点,对当前时刻具有最高温度值的服务器的出风口进行温度采集得到的所述第一出风口温度;
获取在与所述当前时刻相邻的之前采样时间点,对当前时刻具有所述最高温度值的服务器的入风口进行温度采集得到的所述第一入风口温度;
获取在所述当前时刻相邻的之前采样时间点,所采集的确定出的待迁移虚拟机对当前时刻具有所述最高温度值的服务器的指定硬件设备的第一使用率;
获取在所述当前时刻之前的、且与所述当前时刻相距所述第一指定时长内的各采样时间点,分别采集的当前时刻具有所述最高温度值的服务器的指定硬件设备的第二使用率;
将获取的所述第一出风口温度与确定的所述第一出风口温度的权重值相乘得到所述第一乘积;
将获取的所述第一入风口温度与确定的所述第一入风口温度的权重值相乘得到所述第二乘积;
将获取的第一使用用率与确定的第一使用率的权重值相乘得到所述第三乘积;
将获取的所述第二使用率与确定的所述第二使用率的权重值相乘得到第四乘积;
将所述第一乘积、所述第二乘积、所述第三乘积、所述第四乘积及确定的所述环境温度值相加,将所述相加得到的和值作为预测确定出的待迁移虚拟机从当前时刻具有所述最高温度值的服务器中迁入到所述第一服务器后,当前时刻具有所述最高温度值的服务器的温度值。
第二方面,提供一种迁移虚拟机的装置,包括:
获取单元,用于获取当前时刻数据中心的每一台服务器的温度值;
计算单元,用于从获取的所述数据中心的每一台服务器的温度值中,确定出最高温度值和最低温度值,并计算所述最高温度值与最低温度值的差值;
确定单元,用于判定所述差值达到预设门限值时,从当前时刻具有所述最高温度值的服务器中确定出待迁移虚拟机,其中,所述预设门限值大于等于0;
选择单元,用于从所述数据中心包括的除当前时刻具有所述最高温度值的服务器之外的其他服务器中,选择目的服务器,其中,选择的目的服务器满足:在将确定出的待迁移虚拟机迁入所述目的服务器后,所述目的服务器的温度值小于所述最高温度值;
迁移单元,用于将确定出的待迁移虚拟机迁移至所述目的服务器。
结合第二方面,在第一种可能的实现方式中,所述确定单元在从当前时刻具有所述最高温度值的服务器中确定出待迁移虚拟机时,具体用于:
计算当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有所述最高温度值的服务器的温度影响值,其中,每一个虚拟机对当前时刻具有所述最高温度值的服务器的温度影响值,为每一个虚拟机在当前时刻具有所述最高温度值的服务器中运行时,所述当前时刻具有最高温度值的服务器的温度值变化量;
在计算得出的每一个虚拟机分别对当前时刻具有所述最高温度值的服务器的温度影响值中,确定出最大温度影响值;
将具有确定出的所述最大温度影响值的虚拟机,作为确定出的所述待迁移虚拟机。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述确定单元在计算当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有所述最高温度值的服务器的温度影响值时,具体用于:
获取在与所述当前时刻相邻的之前采样时间点,对当前时刻具有所述最高温度值的服务器的出风口进行温度采集得到的第一出风口温度,以及对具有所述最高温度值的服务器的入风口进行温度采集得到的第一入风口温度;
获取在所述当前时刻相邻的之前采样时间点,采集的当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有所述最高温度值的服务器的指定硬件设备的第一使用率,所述指定硬件设备具有产生热量,且所产生的热量随着所述指定硬件设备上的负载的变化而产生变化的属性;
获取在所述当前时刻之前的、且与所述当前时刻相距第一指定时长内的各采样时间点,分别采集的当前时刻具有所述最高温度值的服务器的指定硬件设备的第二使用率;
基于获取的所述第一出风口温度、所述第一入风口温度、所述第一使用率,及所述第二使用率,以及确定的第一出风口温度的权重值、第一入风口温度的权重值、第一使用率的权重值、第二使用率的权重值及环境温度值,采用加权求和方式预测当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别迁出当前时刻具有所述最高温度值的服务器后,当前时刻具有所述最高温度值的服务器的温度值;
针对当前时刻具有所述最高温度值的服务器中的每一个虚拟机按照如下针对第一虚拟机执行的步骤执行,其中,所述第一虚拟机为当前时刻具有所述最高温度值的服务器中的所有虚拟机中的任意一虚拟机:
将预测得到所述第一虚拟机迁出当前时刻具有所述最高温度值的服务器后,当前时刻具有所述最高温度值的服务器的温度值,与获取的所述第一出风口温度之间的温度差值的绝对值,作为所述第一虚拟机对当前时刻具有所述最高温度值的服务器的温度影响值。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述确定单元在采用加权求和方式预测当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别迁出当前时刻具有所述最高温度值的服务器后,当前时刻具有所述最高温度值的服务器的温度值时,具体用于:
针对当前时刻具有所述最高温度值的服务器中的每一个虚拟机按照如下针对第一虚拟机执行的步骤执行:
将获取的所述第一出风口温度与确定的所述第一出风口温度的权重值相乘得到第一乘积;
将获取的所述第一入风口温度与确定的饿所述第一入风口温度的权重值相乘得到第二乘积;
将获取的所述第一使用率与确定的所述第一使用率的权重值相乘得到第三乘积;
将获取的所述第二使用率与确定的所述第二使用率的权重值相乘得到第四乘积;
将所述第一乘积、所述第二乘积、所述第三乘积、所述第四乘积,及确定的所述环境温度值相加,将相加得到的和值作为所述第一虚拟机迁出当前时刻具有所述最高温度值的服务器后,所述当前时刻具有所述最高温度值的服务器的温度值。
结合第二方面的第二或者第三种可能的实现方式,在第四种可能的实现方式中,所述确定单元在确定所述第一出风口温度的权重值、所述第一入风口温度的权重值、所述第一使用率的权重值、所述第二使用率的权重值及所述环境温度值时,具体用于:
获取位于当前时刻之前的一时间段内的各采样时间点,对当前时刻具有所述最高温度值的服务器的出风口进行温度采集得到的第二出风口温度;
获取在与所述各采样时间点分别对应的指定时间点,对当前时刻具有最高温度值的服务器的出风口进行温度采集得到的第三出风口温度;
获取在与所述各采样时间点分别对应的指定时间点,对当前时刻具有所述最高温度值服务器的入风口进行温度采集得到的第二入风口温度;
获取在与所述各采样时间点分别对应的指定时间点,采集的当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有所述最高温度值的服务器的指定硬件设备的第三使用率;
获取与所述各采样时间点分别对应的第二指定时长内,采集的当前时刻具有所述最高温度值的服务器的指定硬件设备的第四使用率;
将获取的第二出风口温度作为因变量,将获取的第三出风口温度、第二入风口温度、第三使用率和第四使用率分别作为自变量,采用加权求和方式确定第一出风口温度的权重值、第一入风口温度的权重值、第一使用率的权重值、第二使用率的权重值及环境温度值;
其中,与任意一采样时间点对应的指定时间点为位于所述任意一采样时间点之前,且与所述任意一采样时间点之间的时长等于所述当前时刻与设定的预测时间点之间的时长;与任意一采样时间点对应的第二指定时长为位于与所述任意一采样时间点对应的指定时间点之前的,且与所述对应的指定时间点相距任意时长的时间段。
结合第二方面的第二或者第四种可能的实现方式,在第五种可能的实现方式中,所述选择单元在从所述数据中心包括的除当前时刻具有所述最高温度值的服务器之外的其他服务器中,选择目的服务器时,具体用于:
从所述数据中心包括的除当前时刻具有所述最高温度值的服务器之外的其他服务器中,筛选出不包含与确定出的待迁移虚拟机互斥的虚拟机的服务器,和/或筛选出具备空闲资源满足确定出的待迁移虚拟机对资源的需求的服务器;
分别预测确定出的待迁移虚拟机迁入每一个筛选出的服务器后,每一个筛选出的服务器的温度值;
将所述筛选出的服务器中对应的预测出的温度值小于所述最高温度值的服务器,作为选择出的目的服务器。
结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述选择单元在将所述筛选出的服务器中对应的预测出的温度值小于所述最高温度值的服务器,作为选择出的目的服务器时,具体用于:
将所述筛选出的服务器中的温度值小于所述最高温度值的任一服务器,作为选择出的目的服务器。
结合第二方面的第五种可能的实现方式,在第七种可能的实现方式中,所述选择单元在将所述筛选出的服务器中对应的预测出的温度值小于所述最高温度值的服务器,作为选择出的目的服务器时,具体用于:
针对所述筛选出的服务器中的每一台服务器执行如下针对第一服务器的执行步骤,其中,所述第一服务器为所述筛选出的服务器中的任一服务器:
预测在确定出的待迁移虚拟机迁入所述第一服务器后,所述第一服务器、以及当前时刻具有所述最高温度值的服务器的温度值;
计算所述第一服务器、当前时刻具有所述最高温度值的服务器分别对应的预测出的温度值、及分别对所述数据中心除所述第一服务器、以及当前时刻具有所述最高温度值的服务器之外的其他服务器进行测量得到的各测量温度值中的最高温度值与最低温度值的差值;
在针对所述筛选出的服务器中的每一台服务器分别对应计算出的差值中,确定最小差值对应的服务器,作为选择出的目的服务器。
结合第二方面的第七种可能的实现方式,在第八种可能的实现方式中,所述选择单元在预测确定出的待迁移虚拟机迁入所述第一服务器后,所述第一服务器的温度值时,具体用于:
获取在与所述当前时刻相邻的之前采样时间点,对所述第一服务器的出风口进行温度采集的第四出风口温度;
获取在与所述当前时刻相邻的之前采样时间点,对所述第一服务器的入风口进行温度采集得到的第三入风口温度;
获取在所述当前时刻相邻的之前采样时间点,采集的确定出的待迁移虚拟机对当前时刻具有所述最高温度值的服务器的指定硬件设备的第一使用率;
获取当前时刻具有所述最高温度值的服务器的第一总存储空间,以及所述第一服务器的第二总存储空间;
获取在所述当前时刻之前的、且与所述当前时刻相距所述第一指定时长内的各采样时间点,分别采集的所述第一服务器的指定硬件设备的第五使用率;
将获取的所述第四出风口温度与确定的所述第一出风口温度的权重值相乘得到第五乘积;
将获取的所述第三入风口温度与确定的所述第一入风口温度的权重值相乘得到第六乘积;
将获取的所述第一使用率与确定的所述第一使用率的权重值乘积,再与所述获取的所述第二总存储空间和所述第一总存储空间的比值进行相乘,得到第七乘积;
将获取的第五使用率与确定的所述第二使用率的权重值相乘得到第八乘积;
将所述第五乘积、所述第六乘积、所述第七乘积、所述第八乘积,及确定的所述环境温度值相加,将相加得到的和值作为预测出的确定的待迁移虚拟机迁入所述第一服务器后,所述第一服务器的温度值。
结合第二方面的第七种可能的实现方式,在第九种可能的实现方式中,所述选择单元在预测待迁移虚拟机从当前时刻具有所述最高温度值的服务器中迁入到所述第一服务器后,当前时刻具有所述最高温度值的服务器的温度值时,具体用于:
获取在与所述当前时刻相邻的之前采样时间点,对当前时刻具有最高温度值的服务器的出风口进行温度采集得到的所述第一出风口温度;
获取在与所述当前时刻相邻的之前采样时间点,对当前时刻具有所述最高温度值的服务器的入风口进行温度采集得到的所述第一入风口温度;
获取在所述当前时刻相邻的之前采样时间点,所采集的确定出的待迁移虚拟机对当前时刻具有所述最高温度值的服务器的指定硬件设备的第一使用率;
获取在所述当前时刻之前的、且与所述当前时刻相距所述第一指定时长内的各采样时间点,分别采集的当前时刻具有所述最高温度值的服务器的指定硬件设备的第二使用率;
将获取的所述第一出风口温度与确定的所述第一出风口温度的权重值相乘得到所述第一乘积;
将获取的所述第一入风口温度与确定的所述第一入风口温度的权重值相乘得到所述第二乘积;
将获取的第一使用用率与确定的第一使用率的权重值相乘得到所述第三乘积;
将获取的所述第二使用率与确定的所述第二使用率的权重值相乘得到第四乘积;
将所述第一乘积、所述第二乘积、所述第三乘积、所述第四乘积及确定的所述环境温度值相加,将所述相加得到的和值作为预测确定出的待迁移虚拟机从当前时刻具有所述最高温度值的服务器中迁入到所述第一服务器后,当前时刻具有所述最高温度值的服务器的温度值。
第三方面,提供一种迁移虚拟机的***,包括数据中心,所述数据中心包括至少一台服务器,所述至少一台服务器中的每一台服务器均包括至少一个虚拟机,还包括如第二方面、第二方面的第一种可能的实现方式至第二方面的第九种可能的实现方式中任一种可能的实现方式所述的迁移虚拟机的装置。
本发明有益效果如下:
现有技术中,在降低数据中心的温度时通常采用制冷方式,而制冷方式所消耗的能量与数据中心服务器的最高温度值密切相关,而目前的数据中心的各个服务器的温度分布不均衡,导致制冷过程中能量消耗较多,因此,目前的制冷方式中存在能量消耗较多的缺陷,本发明实施例中,提出一种迁移虚拟机的方法,在该方案中,从当前时刻具有最高温度值的服务器中确定出待迁移虚拟机,并将该待迁移虚拟机迁移至目的服务器,由于目的服务器迁入待迁移虚拟机后的温度值小于虚拟机从当前时刻具有最高温度值的服务器迁出之前,当前时刻具有最高温度值的服务器具有的最高温度值,因此,数据中心的服务器的最高温度值降低了,而制冷时,最高温度值越高,所消耗的能量越多,最高温度值越低,所消耗的能量越少,因此,本方案降低了制冷过程中所消耗的能量。
附图说明
图1为本发明实施例中迁移虚拟机的详细流程图;
图2为本发明实施例中迁移虚拟机的实施例;
图3为本发明实施例中迁移虚拟机的装置的功能结构示意图;
图4为本发明实施例中迁移虚拟机的***的示意图;
图5为本发明实施例中迁移虚拟机的装置的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本发明实施例中,提出一种迁移虚拟机的方法,在该方案中,从当前时刻具有最高温度值的服务器中确定出待迁移虚拟机,并将该待迁移虚拟机迁移至目的服务器,由于目的服务器迁入待迁移虚拟机后的温度值小于虚拟机从当前时刻具有最高温度值的服务器迁出之前,当前时刻具有最高温度值的服务器具有的最高温度值,因此,数据中心的服务器的最高温度值降低了,而制冷时,最高温度值越高,所消耗的能量越多,最高温度值越低,所消耗的能量越少,因此,本方案降低了制冷过程中所消耗的能量。
下面结合附图对本发明优选的实施方式进行详细说明。
参阅图1所示,本发明实施例中提供一种迁移虚拟机的方法,该方法的具体过程如下:
步骤100:获取当前时刻数据中心的每一台服务器的温度值;
步骤110:从获取的数据中心的每一台服务器的温度值中,确定出最高温度值和最低温度值,并计算最高温度值与最低温度值的差值;
步骤120:判定差值达到预设门限值时,从当前时刻具有最高温度值的服务器中确定出待迁移虚拟机,其中,预设门限值大于等于0;
步骤130:从数据中心包括的除当前时刻具有最高温度值的服务器之外的其他服务器中,选择目的服务器,其中,选择的目的服务器满足:在将确定出的待迁移虚拟机迁入目的服务器后,目的服务器的温度值小于最高温度值;
步骤140:将确定出的待迁移虚拟机迁移至目的服务器。
实施例一
例如:数据中心有10台服务器:服务器1、服务器2、……、服务器10。
步骤一:获取服务器1、服务器2、……、服务器10的温度值,并计算得到最高温度值35℃减去最低温度值25℃的差值为10℃;
在该步骤中,最高温度值35℃的服务器为服务器1。
步骤二:判定差值10℃大于预设门限值4℃,因此,确定服务器1的10个虚拟迁移机中的待迁移虚拟机;
在该步骤中,服务器1中有10个虚拟机,且最终确定出待迁移虚拟机为虚拟机1。
步骤三:从服务器2、服务器3、……、服务器10中选择虚拟机1将要迁至的目的服务器为服务器10;
步骤四:将虚拟机1迁移至服务器10。
本发明实施例中,从当前时刻具有最高温度值的服务器中,确定出待迁移虚拟机的方式有多种,可选的,可以采用如下方式:
计算当前时刻具有最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有最高温度值的服务器的温度影响值,其中,每一个虚拟机对当前时刻具有最高温度值的服务器的温度影响值,为每一个虚拟机在当前时刻具有最高温度值的服务器中运行时,当前时刻具有最高温度值的服务器的温度值变化量;
在计算得出的每一个虚拟机分别对当前时刻具有最高温度值的服务器的温度影响值中,确定出最大温度影响值;
将具有确定出的最大温度影响值的虚拟机,作为确定出的待迁移虚拟机。
仍然以实施例一为例进行说明。
例如:计算服务器1中的10个虚拟机分别对服务器1的温度影响值,若虚拟机1对服务器1的温度影响值最大时,将虚拟机1作为待迁移虚拟机;同理,若虚拟机2对服务器1的温度影响值最大时,将虚拟机2作为待迁移虚拟机。
上述只是从当前时刻具有所述最高温度值的服务器中,确定出待迁移虚拟机的一种方式,在实际应用中,还有多种实现方式,在此不再进行一一详述。
本发明实施例中,计算当前时刻具有最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有最高温度值的服务器的温度影响值的方式有多种,可选的,可以采用如下方式:
获取在与当前时刻相邻的之前采样时间点,对当前时刻具有最高温度值的服务器的出风口进行温度采集得到的第一出风口温度,以及对具有最高温度值的服务器的入风口进行温度采集得到的第一入风口温度;
获取在当前时刻相邻的之前采样时间点,采集的当前时刻具有最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有最高温度值的服务器的指定硬件设备的第一使用率,指定硬件设备具有产生热量,且所产生的热量随着指定硬件设备上的负载的变化而产生变化的属性;
获取在当前时刻之前的、且与当前时刻相距第一指定时长内的各采样时间点,分别采集的当前时刻具有最高温度值的服务器的指定硬件设备的第二使用率;
基于获取的第一出风口温度、第一入风口温度、第一使用率,及第二使用率,以及确定的第一出风口温度的权重值、第一入风口温度的权重值、第一使用率的权重值、第二使用率的权重值及环境温度值,采用加权求和方式预测当前时刻具有最高温度值的服务器中的每一个虚拟机,分别迁出当前时刻具有最高温度值的服务器后,当前时刻具有最高温度值的服务器的温度值;
针对当前时刻具有最高温度值的服务器中的每一个虚拟机按照如下针对第一虚拟机执行的步骤执行,其中,第一虚拟机为当前时刻具有最高温度值的服务器中的所有虚拟机中的任意一虚拟机:
将预测得到第一虚拟机迁出当前时刻具有最高温度值的服务器后,当前时刻具有最高温度值的服务器的温度值,与获取的第一出风口温度之间的温度差值的绝对值,作为第一虚拟机对当前时刻具有最高温度值的服务器的温度影响值。
上述计算当前时刻具有最高温度值的服务器中的每一个虚拟机对当前时刻具有最高温度值的服务器的温度影响值的主要思想为:
获取当前时刻具有最高温度值的服务器的出风口温度T1(即上述虚拟机A迁出当前时刻具有最高温度值的服务器之前,当前时刻具有最高温度值的服务器的温度),预测虚拟机A迁出当前时刻具有最高温度值的服务器之后,当前时刻具有最高温度值的服务器的温度T2,此过程中假设只有虚拟机A迁出当前时刻具有最高温度值的服务器,那么︳T1-T2︳为虚拟机A对当前时刻具有最高温度值的服务器的温度影响值。
其中,当前时刻具有最高温度值的服务器的出风口温度T1是可以采集得到的;虚拟机A迁出当前时刻具有最高温度值的服务器之后,当前时刻具有最高温度值的服务器的温度T2,可以根据采集的出风口温度、入风口温度、第一使用率,及第二使用率预测得到。
本发明实施例中,预测当前时刻具有最高温度值的服务器中的每一个虚拟机,分别迁出当前时刻具有最高温度值的服务器后,当前时刻具有最高温度值的服务器的温度值的方式有多种,可选的,可以采用如下方式:
针对当前时刻具有最高温度值的服务器中的每一个虚拟机按照如下针对第一虚拟机执行的步骤执行:
将获取的第一出风口温度与确定的第一出风口温度的权重值相乘得到第一乘积;
将获取的第一入风口温度与确定的第一入风口温度的权重值相乘得到第二乘积;
将获取的第一使用率与确定的第一使用率的权重值相乘得到第三乘积;
将获取的第二使用率与确定的第二使用率的权重值相乘得到第四乘积;
将第一乘积、第二乘积、第三乘积、第四乘积,及确定的环境温度值相加,将相加得到的和值作为第一虚拟机迁出当前时刻具有最高温度值的服务器后,当前时刻具有最高温度值的服务器的温度值。
例如,预测虚拟机A迁出当前时刻具有所述最高温度值的服务器1之后,当前时刻具有所述最高温度值的服务器的温度T时,具体可以采用公式一进行计算:(若要计算虚拟机1迁出服务器1后,服务器1的温度T)
T=T0+C1×X1+C2×X2++C3×X3+C4×X4(公式一)
其中,T0为环境温度值;X1为在与当前时刻相邻的之前采样时间点,对服务器1的出风口进行温度采集得到的第一出风口温度;X2为在与当前时刻相邻的之前采样时间点,对服务器1的入风口进行温度采集得到的第一入风口温度;X3为在当前时刻相邻的之前采样时间点,采集的虚拟机A对服务器1的指定硬件设备的第一使用率;X4为当前时刻之前的、且与当前时刻相距第一指定时长内的各采样时间点,分别采集的服务器1的指定硬件设备的第二使用率;C1为确定的第一出风口温度的权重值、C2为确定的第一入风口温度的权重值、C3为确定的第一使用率的权重值、C4为确定的第二使用率的权重值。
本发明实施例中,确定第一出风口温度的权重值、第一入风口温度的权重值、第一使用率的权重值、第二使用率的权重值及环境温度值的方式有多种,可选的,可以采用如下方式:
获取位于当前时刻之前的一时间段内的各采样时间点,对当前时刻具有最高温度值的服务器的出风口进行温度采集得到的第二出风口温度;
获取在与各采样时间点分别对应的指定时间点,对当前时刻具有最高温度值的服务器的出风口进行温度采集得到的第三出风口温度;
获取在与各采样时间点分别对应的指定时间点,对当前时刻具有最高温度值服务器的入风口进行温度采集得到的第二入风口温度;
获取在与各采样时间点分别对应的指定时间点,采集的当前时刻具有最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有最高温度值的服务器的指定硬件设备的第三使用率;
获取与各采样时间点分别对应的第二指定时长内,采集的当前时刻具有最高温度值的服务器的指定硬件设备的第四使用率;
将获取的第二出风口温度作为因变量,将获取的第三出风口温度、第二入风口温度、第三使用率和第四使用率分别作为自变量,采用加权求和方式确定第一出风口温度的权重值、第一入风口温度的权重值、第一使用率的权重值、第二使用率的权重值及环境温度值;
其中,与任意一采样时间点对应的指定时间点为位于任意一采样时间点之前,且与任意一采样时间点之间的时长等于当前时刻与设定的预测时间点之间的时长;与任意一采样时间点对应的第二指定时长为位于与任意一采样时间点对应的指定时间点之前的,且与对应的指定时间点相距任意时长的时间段。
上述确定的过程也可以采用公式一来实现,针对位于当前时刻之前的一时间段内的任意一采样时间点,都可以采用公式一来构建方程,具体过程如下(当前时刻具有最高温度值的服务器为服务器1,虚拟机为虚拟机A,采样时间点为采样时间点1,其中,共用10个采样时间点):
T=T0+C1×X5+C2×X6++C3×X7+C4×X8
其中,T0为环境温度值;T为获取的在采样时间点1,对服务器1的出风口进行温度采集得到的第二出风口温度;X5为获取的在与采样时间点1对应的指定时间点,对服务器1的出风口进行温度采集得到的第三出风口温度;X6为获取的在与采样时间点1对应的指定时间点,对服务器1的入风口进行温度采集得到的第二入风口温度;X7为获取的在与采样时间点1对应的指定时间点,采集的服务器1中的虚拟机A,对服务器1的指定硬件设备的第三使用率;X8为获取与采样时间点1对应的第二指定时长内,采集的服务器1的指定硬件设备的第四使用率,C1为第一出风口温度的权重值、C2为第一入风口温度的权重值、C3为第一使用率的权重值、C4为第二使用率的权重值。
上述只是讲述了根据采样时间点1获取的数据构建的方程,同理,可以对采样时间点2-9获取的数据分别构建方程,最后得到10个方程,然后,对由这10个方程组成的方程组求解,得到C1、C2、C3、C4。
本发明实施例中,在对方程组求解时,具体可以采用最小二乘法求解。
本发明实施例中,从数据中心包括的除当前时刻具有最高温度值的服务器之外的其他服务器中,选择目的服务器的方式有多种,可选的,可以采用如下方式:
从数据中心包括的除当前时刻具有最高温度值的服务器之外的其他服务器中,筛选出不包含与确定出的待迁移虚拟机互斥的虚拟机的服务器,和/或筛选出具备空闲资源满足确定出的待迁移虚拟机对资源的需求的服务器;
分别预测确定出的待迁移虚拟机迁入每一个筛选出的服务器后,每一个筛选出的服务器的温度值;
将筛选出的服务器中对应的预测出的温度值小于最高温度值的服务器,作为选择出的目的服务器。
例如:数据中心共有10台服务器,当前时刻具有最高温度值的服务器为服务器1,则从服务器2、服务器3、……、服务器10中筛选出服务器:服务器6、服务器7、服务器8、服务器9、服务器10,然后,再分别预测确定出的待迁移虚拟机分别迁入服务器6、服务器7、服务器8、服务器9、服务器10后,服务器6、服务器7、服务器8、服务器9、服务器10的温度值,将选择出的服务器中对应的预测出的温度值小于最高温度值的服务器,作为选择出的目的服务器。
本发明实施例中,将筛选出的服务器中对应的预测出的温度值小于最高温度值的服务器,作为选择出的目的服务器的方式有多种,可选的,可以采用如下方式:
将筛选出的服务器中温度值小于最高温度值的任一服务器,作为选择出的目的服务器。
例如:数据中心共有10台服务器,当前时刻具有最高温度值的服务器为服务器1,则从服务器2、服务器3、……、服务器10中筛选出服务器:服务器6、服务器7、服务器8、服务器9、服务器10,然后,再分别预测确定出的待迁移虚拟机分别迁入服务器6、服务器7、服务器8、服务器9、服务器10后,服务器6、服务器7、服务器8、服务器9、服务器10的温度值,将选择出的服务器中对应的预测出的温度值小于最高温度值的服务器,作为选择出的目的服务器。
为了减少在均衡数据中心的服务器的温度过程中,迁移虚拟机的次数,减少资源损耗,进一步的,还可以采用如下方式:
针对筛选出的服务器中的每一台服务器执行如下针对第一服务器的执行步骤,其中,第一服务器为筛选出的服务器中的任一服务器:
预测在确定出的待迁移虚拟机迁入第一服务器后,第一服务器、以及当前时刻具有最高温度值的服务器的温度值;
计算第一服务器、当前时刻具有最高温度值的服务器分别对应的预测出的温度值、及分别对数据中心除第一服务器、以及当前时刻具有最高温度值的服务器之外的其他服务器进行测量得到的各测量温度值中的最高温度值与最低温度值的差值;
在针对筛选出的服务器中的每一台服务器分别对应计算出的差值中,确定最小差值对应的服务器,作为选择出的目的服务器。
例如:数据中心有10台服务器,筛选出的服务器有5台:服务器6、服务器7、服务器8、服务器9、服务器10,则分别计算待迁移的虚拟机1假设分别迁入上述5台服务器中的任意一台服务器后,10台服务器中的最高温度值和最低温度值的差值:如:假设虚拟机1迁入服务器6后,10台服务器中的最高温度值和最低温度值的差值为10℃、假设虚拟机1迁入服务器7后,10台服务器中的最高温度值和最低温度值的差值为8℃、假设虚拟机1迁入服务器8后,10台服务器中的最高温度值和最低温度值的差值为4℃、假设虚拟机1迁入服务器9后,10台服务器中的最高温度值和最低温度值的差值为9℃、假设虚拟机1迁入服务器10后,10台服务器中的最高温度值和最低温度值的差值为2℃,其中,最小差值为2℃时,虚拟机1假设迁入的是服务器10,则此时将服务器10作为目的服务器。
本发明实施例中,预测在确定出的待迁移虚拟机迁入第一服务器后,第一服务器的温度值的方式有多种,可选的,可以采用如下方式:
获取在与当前时刻相邻的之前采样时间点,对第一服务器的出风口进行温度采集的第四出风口温度;
获取在与当前时刻相邻的之前采样时间点,对第一服务器的入风口进行温度采集得到的第三入风口温度;
获取在当前时刻相邻的之前采样时间点,采集的确定出的待迁移虚拟机对当前时刻具有最高温度值的服务器的指定硬件设备的第一使用率;
获取当前时刻具有最高温度值的服务器的第一总存储空间,以及第一服务器的第二总存储空间;
获取在当前时刻之前的、且与当前时刻相距第一指定时长内的各采样时间点,分别采集的第一服务器的指定硬件设备的第五使用率;
将获取的第四出风口温度与确定的第一出风口温度的权重值相乘得到第五乘积;
将获取的第三入风口温度与确定的第一入风口温度的权重值相乘得到第六乘积;
将获取的第一使用率与确定的第一使用率的权重值乘积,再与获取的第二总存储空间和第一总存储空间的比值进行相乘,得到第七乘积;
将获取的第五使用率与确定的第二使用率的权重值相乘得到第八乘积;
将第五乘积、第六乘积、第七乘积、第八乘积,及确定的环境温度值相加,将相加得到的和值作为预测出的确定的待迁移虚拟机迁入第一服务器后,第一服务器的温度值。
在实现时具体可以使用公式一来计算,如当前时刻具有所述最高温度值的服务器为服务器1,第一服务器为为服务器2:
T=T0+C1×X9+C2×X10++C3×X11×A1/A2+C4×X12
此时,T0为环境温度值;X9为在与当前时刻相邻的之前采样时间点,对服务器2的出风口进行温度采集的第四出风口温度;X10为在与当前时刻相邻的之前采样时间点,对服务器2的入风口进行温度采集得到的第三入风口温度;X11为在当前时刻相邻的之前采样时间点,采集的确定出的待迁移虚拟机对服务器1的指定硬件设备的第一使用率;X12为在当前时刻之前的、且与当前时刻相距第一指定时长内的各采样时间点,分别采集的服务器2的指定硬件设备的第五使用率;C1为第一出风口温度的权重值、C2为第一入风口温度的权重值、C3为第一使用率的权重值、C4为第二使用率的权重值,A1为服务器2的第二总存储空间,A2为服务器1的第一总存储空间。
本发明实施例中,预测确定出的待迁移虚拟机从当前时刻具有最高温度值的服务器中迁入到第一服务器后,当前时刻具有最高温度值的服务器的温度值的方式有多种,可选的,可以采用如下方式:
获取在与当前时刻相邻的之前采样时间点,对当前时刻具有最高温度值的服务器的出风口进行温度采集得到的第一出风口温度;
获取在与当前时刻相邻的之前采样时间点,对当前时刻具有最高温度值的服务器的入风口进行温度采集得到的第一入风口温度;
获取在当前时刻相邻的之前采样时间点,所采集的确定出的待迁移虚拟机对当前时刻具有最高温度值的服务器的指定硬件设备的第一使用率;
获取在当前时刻之前的、且与当前时刻相距第一指定时长内的各采样时间点,分别采集的当前时刻具有最高温度值的服务器的指定硬件设备的第二使用率;
将获取的第一出风口温度与确定的第一出风口温度的权重值相乘得到第一乘积;
将获取的第一入风口温度与确定的第一入风口温度的权重值相乘得到第二乘积;
将获取的第一使用用率与确定的第一使用率的权重值相乘得到第三乘积;
将获取的第二使用率与确定的第二使用率的权重值相乘得到第四乘积;
将第一乘积、第二乘积、第三乘积、第四乘积及确定的环境温度值相加,将相加得到的和值作为预测确定出的待迁移虚拟机从当前时刻具有最高温度值的服务器中迁入到第一服务器后,当前时刻具有最高温度值的服务器的温度值。
本发明实施例中,硬件设备包括中央处理器、内存、磁盘、网络;同理,硬件设备的第一使用率包括中央处理器的第一使用率、内存的第一使用率、磁盘的第一使用率、网络的第一使用率。
为了更好地理解本发明实施例,以下给出具体应用场景,针对虚拟机的迁移过程,作出进一步详细描述,如图2所示:
数据中心有10台服务器:服务器1、服务器2、……、服务器10。
步骤200:获取服务器1、服务器2、……、服务器10分别的温度值,并计算最高温度值35℃减去最低温度值25℃的差值为10℃;
在该步骤中,最高温度值35℃的服务器为服务器1。
步骤210:判定差值10℃大于预设门限值4℃时,确定服务器1的10个虚拟迁移机中每一个虚拟机对服务器1的温度影响值;
步骤220:确定虚拟机1对服务器1的温度影响值最大,则将虚拟机1作为待迁移的虚拟机;
步骤230:从服务器2、服务器3、……、服务器10中选择出目的服务器为服务器10;
步骤240:将虚拟机1迁移至服务器10。
基于上述技术方案,参阅图3所示,本发明实施例提供一种迁移虚拟机的装置300,该迁移虚拟机的装置300包括获取单元30、计算单元31、确定单元32、选择单元33,及迁移单元34,其中:
获取单元30,用于获取当前时刻数据中心的每一台服务器的温度值;
计算单元31,用于从获取的数据中心的每一台服务器的温度值中,确定出最高温度值和最低温度值,并计算最高温度值与最低温度值的差值;
确定单元32,用于判定差值达到预设门限值时,从当前时刻具有最高温度值的服务器中确定出待迁移虚拟机,其中,预设门限值大于或等于0;
选择单元33,用于从数据中心包括的除当前时刻具有最高温度值的服务器之外的其他服务器中,选择目的服务器,其中,选择的目的服务器满足:在将确定出的待迁移虚拟机迁入目的服务器后,目的服务器的温度值小于最高温度值;
迁移单元34,用于将确定出的待迁移虚拟机迁移至目的服务器。
本发明实施例中,可选的,确定单元32在从当前时刻具有最高温度值的服务器中确定出待迁移虚拟机时,具体用于:
计算当前时刻具有最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有最高温度值的服务器的温度影响值,其中,每一个虚拟机对当前时刻具有最高温度值的服务器的温度影响值,为每一个虚拟机在当前时刻具有最高温度值的服务器中运行时,当前时刻具有最高温度值的服务器的温度值变化量;
在计算得出的每一个虚拟机分别对当前时刻具有最高温度值的服务器的温度影响值中,确定出最大温度影响值;
将具有确定出的最大温度影响值的虚拟机,作为确定出的待迁移虚拟机。
本发明实施例中,可选的,确定单元32在计算当前时刻具有最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有最高温度值的服务器的温度影响值时,具体用于:
获取在与当前时刻相邻的之前采样时间点,对当前时刻具有最高温度值的服务器的出风口进行温度采集得到的第一出风口温度,以及对具有最高温度值的服务器的入风口进行温度采集得到的第一入风口温度;
获取在当前时刻相邻的之前采样时间点,采集的当前时刻具有最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有最高温度值的服务器的指定硬件设备的第一使用率,指定硬件设备具有产生热量,且所产生的热量随着指定硬件设备上的负载的变化而产生变化的属性;
获取在当前时刻之前的、且与当前时刻相距第一指定时长内的各采样时间点,分别采集的当前时刻具有最高温度值的服务器的指定硬件设备的第二使用率;
基于获取的第一出风口温度、第一入风口温度、第一使用率,及第二使用率,以及确定的第一出风口温度的权重值、第一入风口温度的权重值、第一使用率的权重值、第二使用率的权重值及环境温度值,采用加权求和方式预测当前时刻具有最高温度值的服务器中的每一个虚拟机,分别迁出当前时刻具有最高温度值的服务器后,当前时刻具有最高温度值的服务器的温度值;
针对当前时刻具有最高温度值的服务器中的每一个虚拟机按照如下针对第一虚拟机执行的步骤执行,其中,第一虚拟机为当前时刻具有最高温度值的服务器中的所有虚拟机中的任意一虚拟机:
将预测得到第一虚拟机迁出当前时刻具有最高温度值的服务器后,当前时刻具有最高温度值的服务器的温度值,与获取的第一出风口温度之间的温度差值的绝对值,作为第一虚拟机对当前时刻具有最高温度值的服务器的温度影响值。
本发明实施例中,可选的,确定单元32在采用加权求和方式预测当前时刻具有最高温度值的服务器中的每一个虚拟机,分别迁出当前时刻具有最高温度值的服务器后,当前时刻具有最高温度值的服务器的温度值时,具体用于:
针对当前时刻具有最高温度值的服务器中的每一个虚拟机按照如下针对第一虚拟机执行的步骤执行:
将获取的第一出风口温度与确定的第一出风口温度的权重值相乘得到第一乘积;
将获取的第一入风口温度与确定的第一入风口温度的权重值相乘得到第二乘积;
将获取的第一使用率与确定的第一使用率的权重值相乘得到第三乘积;
将获取的第二使用率与确定的第二使用率的权重值相乘得到第四乘积;
将第一乘积、第二乘积、第三乘积、第四乘积,及确定的环境温度值相加,将相加得到的和值作为第一虚拟机迁出当前时刻具有最高温度值的服务器后,当前时刻具有最高温度值的服务器的温度值。
本发明实施例中,可选的,确定单元32在确定第一风口温度的权重值、第一入风口温度的权重值、第一使用率的权重值、第二使用率的权重值及环境温度值时,具体用于:
获取位于当前时刻之前的一时间段内的各采样时间点,对当前时刻具有最高温度值的服务器的出风口进行温度采集得到的第二出风口温度;
获取在与各采样时间点分别对应的指定时间点,对当前时刻具有最高温度值的服务器的出风口进行温度采集得到的第三出风口温度;
获取在与各采样时间点分别对应的指定时间点,对当前时刻具有最高温度值服务器的入风口进行温度采集得到的第二入风口温度;
获取在与各采样时间点分别对应的指定时间点,采集的当前时刻具有最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有最高温度值的服务器的指定硬件设备的第三使用率;
获取与各采样时间点分别对应的第二指定时长内,采集的当前时刻具有最高温度值的服务器的指定硬件设备的第四使用率;
将获取的第二出风口温度作为因变量,将获取的第三出风口温度、第二入风口温度、第三使用率和第四使用率分别作为自变量,采用加权求和方式确定第一出风口温度的权重值、第一入风口温度的权重值、第一使用率的权重值、第二使用率的权重值及环境温度值;
其中,与任意一采样时间点对应的指定时间点为位于任意一采样时间点之前,且与任意一采样时间点之间的时长等于当前时刻与设定的预测时间点之间的时长;与任意一采样时间点对应的第二指定时长为位于与任意一采样时间点对应的指定时间点之前的,且与对应的指定时间点相距任意时长的时间段。
本发明实施例中,可选的,选择单元33在从数据中心包括的除当前时刻具有最高温度值的服务器之外的其他服务器中,选择目的服务器时,具体用于:
从数据中心包括的除当前时刻具有最高温度值的服务器之外的其他服务器中,筛选出不包含与确定出的待迁移虚拟机互斥的虚拟机的服务器,和/或筛选出具备空闲资源满足确定出的待迁移虚拟机对资源的需求的服务器;
分别预测确定出的待迁移虚拟机迁入每一个筛选出的服务器后,每一个筛选出的服务器的温度值;
将筛选出的服务器中对应的预测出的温度值小于最高温度值的服务器,作为选择出的目的服务器。
本发明实施例中,可选的,选择单元33在将筛选出的服务器中对应的预测出的温度值小于最高温度值的服务器,作为选择出的目的服务器时,具体用于:
将筛选出的服务器中温度值小于最高温度值的任一服务器,作为选择出的目的服务器。
本发明实施例中,可选的,选择单元33在将筛选出的服务器中对应的预测出的温度值小于最高温度值的服务器,作为选择出的目的服务器时,具体用于:
针对筛选出的服务器中的每一台服务器执行如下针对第一服务器的执行步骤,其中,第一服务器为筛选出的服务器中的任一服务器:
预测在确定出的待迁移虚拟机迁入第一服务器后,第一服务器、以及当前时刻具有最高温度值的服务器的温度值;
计算第一服务器、当前时刻具有最高温度值的服务器分别对应的预测出的温度值、及分别对数据中心除第一服务器、以及当前时刻具有最高温度值的服务器之外的其他服务器进行测量得到的各测量温度值中的最高温度值与最低温度值的差值;
在针对筛选出的服务器中的每一台服务器分别对应计算出的差值中,确定最小差值对应的服务器,作为选择出的目的服务器。
本发明实施例中,可选的,选择单元33在预测在确定出的待迁移虚拟机迁入第一服务器后,第一服务器的温度值时,具体用于:
获取在与当前时刻相邻的之前采样时间点,对第一服务器的出风口进行温度采集的第四出风口温度;
获取在与当前时刻相邻的之前采样时间点,对第一服务器的入风口进行温度采集得到的第三入风口温度;
获取在当前时刻相邻的之前采样时间点,采集的确定出的待迁移虚拟机对当前时刻具有最高温度值的服务器的指定硬件设备的第一使用率;
获取当前时刻具有最高温度值的服务器的第一总存储空间,以及第一服务器的第二总存储空间;
获取在当前时刻之前的、且与当前时刻相距第一指定时长内的各采样时间点,分别采集的第一服务器的指定硬件设备的第五使用率;
将获取的第四出风口温度与确定的第一出风口温度的权重值相乘得到第五乘积;
将获取的第三入风口温度与确定的第一入风口温度的权重值相乘得到第六乘积;
将获取的第一使用率与确定的第一使用率的权重值乘积,再与获取的第二总存储空间和第一总存储空间的比值进行相乘,得到第七乘积;
将获取的第五使用率与确定的第二使用率的权重值相乘得到第八乘积;
将第五乘积、第六乘积、第七乘积、第八乘积,及确定的环境温度值相加,将相加得到的和值作为预测出的确定的待迁移虚拟机迁入第一服务器后,第一服务器的温度值。
本发明实施例中,可选的,选择单元33在预测确定出的待迁移虚拟机从当前时刻具有最高温度值的服务器中迁入到第一服务器后,当前时刻具有最高温度值的服务器的温度值时,具体用于:
获取在与当前时刻相邻的之前采样时间点,对当前时刻具有最高温度值的服务器的出风口进行温度采集得到的第一出风口温度;
获取在与当前时刻相邻的之前采样时间点,对当前时刻具有最高温度值的服务器的入风口进行温度采集得到的第一入风口温度;
获取在当前时刻相邻的之前采样时间点,所采集的确定出的待迁移虚拟机对当前时刻具有最高温度值的服务器的指定硬件设备的第一使用率;
获取在当前时刻之前的、且与当前时刻相距第一指定时长内的各采样时间点,分别采集的当前时刻具有最高温度值的服务器的指定硬件设备的第二使用率;
将获取的第一出风口温度与确定的第一出风口温度的权重值相乘得到第一乘积;
将获取的第一入风口温度与确定的第一入风口温度的权重值相乘得到第二乘积;
将获取的第一使用用率与确定的第一使用率的权重值相乘得到第三乘积;
将获取的第二使用率与确定的第二使用率的权重值相乘得到第四乘积;
将第一乘积、第二乘积、第三乘积、第四乘积及确定的环境温度值相加,将相加得到的和值作为预测确定出的待迁移虚拟机从当前时刻具有最高温度值的服务器中迁入到第一服务器后,当前时刻具有最高温度值的服务器的温度值。
基于上述技术方案,参阅图4所示,本发明实施例提供一种迁移虚拟机的***400,包括数据中心310,其中数据中心310包括至少一台服务器3100,其中至少一台服务器3100中的每一台服务器3100均包括至少一个虚拟机3110,还包括图3所示的迁移虚拟机的装置300,其中,每一台服务器3100中的不同虚拟机3110为从逻辑上对服务器3100中的处理资源进行划分,分别得到的用于处理不同线程的虚拟处理单元,当一个服务器3100中包括多个虚拟机3110时,不同虚拟机3110可以分别处理不同的线程,从而实现服务器3110进行多线程处理。
如图5所示,为本发明实施例提供的迁移虚拟机的装置的实体图,迁移虚拟机的装置包括至少一个处理器501,通信总线502,存储器503以及至少一个通信接口504。
其中,通信总线502用于实现上述组件之间的连接并通信,通信接口504用于与外部设备连接并通信。
其中,存储器503用于存储需要执行的程序代码,处理器501可以通过通信总线502调用存储器503中存储的具有迁移虚拟机功能的程序代码,当处理器501调用存储器503中存储的程序代码时,将执行如下操作:
获取当前时刻数据中心的每一台服务器的温度值;
从获取的数据中心的每一台服务器的温度值中,确定出最高温度值和最低温度值,并计算最高温度值与最低温度值的差值;
判定差值达到预设门限值时,从当前时刻具有最高温度值的服务器中确定出待迁移虚拟机,其中,预设门限值大于等于0;
从数据中心包括的除当前时刻具有最高温度值的服务器之外的其他服务器中,选择目的服务器,其中,选择的目的服务器满足:在将确定出的待迁移虚拟机迁入目的服务器后,目的服务器的温度值小于最高温度值;
将确定出的待迁移虚拟机迁移至目的服务器。
当处理器501调用存储器503中存储的程序代码时,还可以执行如下操作:
计算当前时刻具有最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有最高温度值的服务器的温度影响值,其中,每一个虚拟机对当前时刻具有最高温度值的服务器的温度影响值,为每一个虚拟机在当前时刻具有最高温度值的服务器中运行时,当前时刻具有最高温度值的服务器的温度值变化量;
在计算得出的每一个虚拟机分别对当前时刻具有最高温度值的服务器的温度影响值中,确定出最大温度影响值;
将具有确定出的最大温度影响值的虚拟机,作为确定出的待迁移虚拟机。
当处理器501调用存储器503中存储的程序代码时,还可以执行如下操作:
从数据中心包括的除当前时刻具有最高温度值的服务器之外的其他服务器中,筛选出不包含与确定出的待迁移虚拟机互斥的虚拟机的服务器,和/或筛选出具备空闲资源满足确定出的待迁移虚拟机对资源的需求的服务器;
分别预测确定出的待迁移虚拟机迁入每一个筛选出的服务器后,每一个筛选出的服务器的温度值;
将筛选出的服务器中对应的预测出的温度值小于最高温度值的服务器,作为选择出的目的服务器。
综上所述,本发明实施例中,提供一种迁移虚拟机的方法,该方法中:获取当前时刻数据中心的每一台服务器的温度值;从获取的数据中心的每一台服务器的温度值中,确定出最高温度值和最低温度值,并计算最高温度值与最低温度值的差值;判定差值达到预设门限值时,从当前时刻具有最高温度值的服务器中确定出待迁移虚拟机,其中,预设门限值大于等于0;从数据中心包括的除当前时刻具有最高温度值的服务器之外的其他服务器中,选择目的服务器,其中,选择的目的服务器满足:在将确定出的待迁移虚拟机迁入目的服务器后,目的服务器的温度值小于最高温度值;将确定出的待迁移虚拟机迁移至目的服务器,在该方案中,从当前时刻具有最高温度值的服务器中确定出待迁移虚拟机,并将该待迁移虚拟机迁移至目的服务器,由于目的服务器迁入待迁移虚拟机后的温度值小于虚拟机从当前时刻具有最高温度值的服务器迁出之前,当前时刻具有最高温度值的服务器具有的最高温度值,因此,数据中心的服务器的最高温度值降低了,而制冷时,最高温度值越高,所消耗的能量越多,最高温度值越低,所消耗的能量越少,因此,本方案降低了制冷过程中所消耗的能量。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (21)

1.一种迁移虚拟机的方法,其特征在于,包括:
获取当前时刻数据中心的每一台服务器的温度值;
从获取的所述数据中心的每一台服务器的温度值中,确定出最高温度值和最低温度值,并计算所述最高温度值与最低温度值的差值;
判定所述差值达到预设门限值时,从当前时刻具有所述最高温度值的服务器中确定出待迁移虚拟机,其中,所述预设门限值大于或等于0;
从所述数据中心包括的除当前时刻具有所述最高温度值的服务器之外的其他服务器中,选择目的服务器,其中,选择的目的服务器满足:在将确定出的待迁移虚拟机迁入所述目的服务器后,所述目的服务器的温度值小于所述最高温度值;
将确定出的待迁移虚拟机迁移至所述目的服务器。
2.如权利要求1所述的方法,其特征在于,从当前时刻具有所述最高温度值的服务器中,确定出待迁移虚拟机,具体包括:
计算当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有所述最高温度值的服务器的温度影响值,其中,每一个虚拟机对当前时刻具有所述最高温度值的服务器的温度影响值,为每一个虚拟机在当前时刻具有所述最高温度值的服务器中运行时,所述当前时刻具有最高温度值的服务器的温度值变化量;
在计算得出的每一个虚拟机分别对当前时刻具有所述最高温度值的服务器的温度影响值中,确定出最大温度影响值;
将具有确定出的所述最大温度影响值的虚拟机,作为确定出的所述待迁移虚拟机。
3.如权利要求2所述的方法,其特征在于,计算当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有所述最高温度值的服务器的温度影响值,包括:
获取在与所述当前时刻相邻的之前采样时间点,对当前时刻具有所述最高温度值的服务器的出风口进行温度采集得到的第一出风口温度,以及对具有所述最高温度值的服务器的入风口进行温度采集得到的第一入风口温度;
获取在所述当前时刻相邻的之前采样时间点,采集的当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有所述最高温度值的服务器的指定硬件设备的第一使用率,所述指定硬件设备具有产生热量,且所产生的热量随着所述指定硬件设备上的负载的变化而产生变化的属性;
获取在所述当前时刻之前的、且与所述当前时刻相距第一指定时长内的各采样时间点,分别采集的当前时刻具有所述最高温度值的服务器的指定硬件设备的第二使用率;
基于获取的所述第一出风口温度、所述第一入风口温度、所述第一使用率,及所述第二使用率,以及确定的第一出风口温度的权重值、第一入风口温度的权重值、第一使用率的权重值、第二使用率的权重值及环境温度值,采用加权求和方式预测当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别迁出当前时刻具有所述最高温度值的服务器后,当前时刻具有所述最高温度值的服务器的温度值;
针对当前时刻具有所述最高温度值的服务器中的每一个虚拟机按照如下针对第一虚拟机执行的步骤执行,其中,所述第一虚拟机为当前时刻具有所述最高温度值的服务器中的所有虚拟机中的任意一虚拟机:
将预测得到所述第一虚拟机迁出当前时刻具有所述最高温度值的服务器后,当前时刻具有所述最高温度值的服务器的温度值,与获取的所述第一出风口温度之间的温度差值的绝对值,作为所述第一虚拟机对当前时刻具有所述最高温度值的服务器的温度影响值。
4.如权利要求3所述的方法,其特征在于,所述采用加权求和方式预测当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别迁出当前时刻具有所述最高温度值的服务器后,当前时刻具有所述最高温度值的服务器的温度值,包括:
针对当前时刻具有所述最高温度值的服务器中的每一个虚拟机按照如下针对第一虚拟机执行的步骤执行:
将获取的所述第一出风口温度与确定的所述第一出风口温度的权重值相乘得到第一乘积;
将获取的所述第一入风口温度与确定的饿所述第一入风口温度的权重值相乘得到第二乘积;
将获取的所述第一使用率与确定的所述第一使用率的权重值相乘得到第三乘积;
将获取的所述第二使用率与确定的所述第二使用率的权重值相乘得到第四乘积;
将所述第一乘积、所述第二乘积、所述第三乘积、所述第四乘积,及确定的所述环境温度值相加,将相加得到的和值作为所述第一虚拟机迁出当前时刻具有所述最高温度值的服务器后,所述当前时刻具有所述最高温度值的服务器的温度值。
5.如权利要求3或4所述的方法,其特征在于,确定所述第一出风口温度的权重值、所述第一入风口温度的权重值、所述第一使用率的权重值、所述第二使用率的权重值及环境温度值,包括:
获取位于当前时刻之前的一时间段内的各采样时间点,对当前时刻具有所述最高温度值的服务器的出风口进行温度采集得到的第二出风口温度;
获取在与所述各采样时间点分别对应的指定时间点,对当前时刻具有最高温度值的服务器的出风口进行温度采集得到的第三出风口温度;
获取在与所述各采样时间点分别对应的指定时间点,对当前时刻具有所述最高温度值服务器的入风口进行温度采集得到的第二入风口温度;
获取在与所述各采样时间点分别对应的指定时间点,采集的当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有所述最高温度值的服务器的指定硬件设备的第三使用率;
获取与所述各采样时间点分别对应的第二指定时长内,采集的当前时刻具有所述最高温度值的服务器的指定硬件设备的第四使用率;
将获取的所述第二出风口温度作为因变量,将获取的所述第三出风口温度、所述第二入风口温度、所述第三使用率和所述第四使用率分别作为自变量,采用加权求和方式确定出所述第一出风口温度的权重值、所述第一入风口温度的权重值、所述第一使用率的权重值、所述第二使用率的权重值及环境温度值;
其中,与任意一采样时间点对应的指定时间点为位于所述任意一采样时间点之前,且与所述任意一采样时间点之间的时长等于所述当前时刻与设定的预测时间点之间的时长;与任意一采样时间点对应的第二指定时长为位于与所述任意一采样时间点对应的指定时间点之前的,且与所述对应的指定时间点相距任意时长的时间段。
6.如权利要求1-5任一项所述的方法,其特征在于,从所述数据中心包括的除当前时刻具有所述最高温度值的服务器之外的其他服务器中,选择目的服务器,包括:
从所述数据中心包括的除当前时刻具有所述最高温度值的服务器之外的其他服务器中,筛选出不包含与确定出的待迁移虚拟机互斥的虚拟机的服务器,和/或筛选出具备空闲资源且满足确定出的待迁移虚拟机对资源的需求的服务器;
分别预测确定出的待迁移虚拟机迁入每一个筛选出的服务器后,每一个筛选出的服务器的温度值;
将所述筛选出的服务器中对应的预测出的温度值小于所述最高温度值的服务器,作为选择出的目的服务器。
7.如权利要求6所述的方法,其特征在于,将所述筛选出的服务器中对应的预测出的温度值小于所述最高温度值的服务器,作为选择出的目的服务器,包括:
将所述筛选出的服务器中的温度值小于所述最高温度值的任一服务器,作为选择出的目的服务器。
8.如权利要求6所述的方法,其特征在于,所述分别预测确定出的待迁移虚拟机迁入每一个筛选出的服务器后,每一个筛选出的服务器的温度值,将所述筛选出的服务器中对应的预测出的温度值小于所述最高温度值的服务器,作为选择出的目的服务器,包括:
针对所述筛选出的服务器中的每一台服务器执行如下针对第一服务器的执行步骤,其中,所述第一服务器为所述筛选出的服务器中的任一服务器:
预测在确定出的待迁移虚拟机迁入所述第一服务器后,所述第一服务器、以及当前时刻具有所述最高温度值的服务器的温度值;
计算以下各温度值中,最高温度值与最低温度值的差值:所述预测的在确定出的待迁移虚拟机迁入所述第一服务器后,所述第一服务器的温度值、当前时刻具有所述最高温度值的服务器的温度值、以及分别对所述数据中心除所述第一服务器、以及当前时刻具有所述最高温度值的服务器之外的其他服务器进行测量得到的各测量温度值;
在针对所述筛选出的服务器中的每一台服务器分别对应计算出的所述差值中,确定最小差值对应的服务器,作为选择出的目的服务器。
9.如权利要求8所述的方法,其特征在于,预测在确定出的待迁移虚拟机迁入所述第一服务器后,所述第一服务器的温度值,包括:
获取在与所述当前时刻相邻的之前采样时间点,对所述第一服务器的出风口进行温度采集的第四出风口温度;
获取在与所述当前时刻相邻的之前采样时间点,对所述第一服务器的入风口进行温度采集得到的第三入风口温度;
获取在所述当前时刻相邻的之前采样时间点,采集的确定出的待迁移虚拟机对当前时刻具有所述最高温度值的服务器的指定硬件设备的第一使用率;
获取当前时刻具有所述最高温度值的服务器的第一总存储空间,以及所述第一服务器的第二总存储空间;
获取在所述当前时刻之前的、且与所述当前时刻相距所述第一指定时长内的各采样时间点,分别采集的所述第一服务器的指定硬件设备的第五使用率;
将获取的所述第四出风口温度与确定的所述第一出风口温度的权重值相乘得到第五乘积;
将获取的所述第三入风口温度与确定的所述第一入风口温度的权重值相乘得到第六乘积;
将获取的所述第一使用率与确定的所述第一使用率的权重值乘积,再与所述获取的所述第二总存储空间和所述第一总存储空间的比值进行相乘,得到第七乘积;
将获取的第五使用率与确定的所述第二使用率的权重值相乘得到第八乘积;
将所述第五乘积、所述第六乘积、所述第七乘积、所述第八乘积,及确定的所述环境温度值相加,将相加得到的和值作为预测出的确定的待迁移虚拟机迁入所述第一服务器后,所述第一服务器的温度值。
10.如权利要求8所述的方法,其特征在于,预测在确定出的待迁移虚拟机迁入到所述第一服务器后,当前时刻具有所述最高温度值的服务器的温度值,包括:
获取在与所述当前时刻相邻的之前采样时间点,对当前时刻具有最高温度值的服务器的出风口进行温度采集得到的所述第一出风口温度;
获取在与所述当前时刻相邻的之前采样时间点,对当前时刻具有所述最高温度值的服务器的入风口进行温度采集得到的所述第一入风口温度;
获取在所述当前时刻相邻的之前采样时间点,所采集的确定出的待迁移虚拟机对当前时刻具有所述最高温度值的服务器的指定硬件设备的第一使用率;
获取在所述当前时刻之前的、且与所述当前时刻相距所述第一指定时长内的各采样时间点,分别采集的当前时刻具有所述最高温度值的服务器的指定硬件设备的第二使用率;
将获取的所述第一出风口温度与所述第一出风口温度的权重值相乘得到所述第一乘积;
将获取的所述第一入风口温度与所述第一入风口温度权的重值相乘得到所述第二乘积;
将获取的第一使用用率与所述第一使用率的权重值相乘得到所述第三乘积;
将获取的所述第二使用率与所述第二使用率的权重值相乘得到第四乘积;
将所述第一乘积、所述第二乘积、所述第三乘积、所述第四乘积及环境温度值相加,将所述相加得到的和值作为预测确定出的待迁移虚拟机从当前时刻具有所述最高温度值的服务器中迁入到所述第一服务器后,当前时刻具有所述最高温度值的服务器温度值。
11.一种迁移虚拟机的装置,其特征在于,包括:
获取单元,用于获取当前时刻数据中心的每一台服务器的温度值;
计算单元,用于从获取的所述数据中心的每一台服务器的温度值中,确定出最高温度值和最低温度值,并计算所述最高温度值与最低温度值的差值;
确定单元,用于判定所述差值达到预设门限值时,从当前时刻具有所述最高温度值的服务器中确定出待迁移虚拟机,其中,所述预设门限值大于或等于0;
选择单元,用于从所述数据中心包括的除当前时刻具有所述最高温度值的服务器之外的其他服务器中,选择目的服务器,其中,选择的目的服务器满足:在将确定出的待迁移虚拟机迁入所述目的服务器后,所述目的服务器的温度值小于所述最高温度值;
迁移单元,用于将确定出的待迁移虚拟机迁移至所述目的服务器。
12.如权利要求11所述的装置,其特征在于,所述确定单元在从当前时刻具有所述最高温度值的服务器中确定出待迁移虚拟机时,具体用于:
计算当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有所述最高温度值的服务器的温度影响值,其中,每一个虚拟机对当前时刻具有所述最高温度值的服务器的温度影响值,为每一个虚拟机在当前时刻具有所述最高温度值的服务器中运行时,所述当前时刻具有最高温度值的服务器的温度值变化量;
在计算得出的每一个虚拟机分别对当前时刻具有所述最高温度值的服务器的温度影响值中,确定出最大温度影响值;
将具有确定出的所述最大温度影响值的虚拟机,作为确定出的所述待迁移虚拟机。
13.如权利要求12所述的装置,其特征在于,所述确定单元在计算当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有所述最高温度值的服务器的温度影响值时,具体用于:
获取在与所述当前时刻相邻的之前采样时间点,对当前时刻具有所述最高温度值的服务器的出风口进行温度采集得到的第一出风口温度,以及对具有所述最高温度值的服务器的入风口进行温度采集得到的第一入风口温度;
获取在所述当前时刻相邻的之前采样时间点,采集的当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有所述最高温度值的服务器的指定硬件设备的第一使用率,所述指定硬件设备具有产生热量,且所产生的热量随着所述指定硬件设备上的负载的变化而产生变化的属性;
获取在所述当前时刻之前的、且与所述当前时刻相距第一指定时长内的各采样时间点,分别采集的当前时刻具有所述最高温度值的服务器的指定硬件设备的第二使用率;
基于获取的所述第一出风口温度、所述第一入风口温度、所述第一使用率,及所述第二使用率,以及确定的第一出风口温度的权重值、第一入风口温度的权重值、第一使用率的权重值、第二使用率的权重值及环境温度值,采用加权求和方式预测当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别迁出当前时刻具有所述最高温度值的服务器后,当前时刻具有所述最高温度值的服务器的温度值;
针对当前时刻具有所述最高温度值的服务器中的每一个虚拟机按照如下针对第一虚拟机执行的步骤执行,其中,所述第一虚拟机为当前时刻具有所述最高温度值的服务器中的所有虚拟机中的任意一虚拟机:
将预测得到所述第一虚拟机迁出当前时刻具有所述最高温度值的服务器后,当前时刻具有所述最高温度值的服务器的温度值,与获取的所述第一出风口温度之间的温度差值的绝对值,作为所述第一虚拟机对当前时刻具有所述最高温度值的服务器的温度影响值。
14.如权利要求13所述的装置,其特征在于,所述确定单元在采用加权求和方式预测当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别迁出当前时刻具有所述最高温度值的服务器后,当前时刻具有所述最高温度值的服务器的温度值时,具体用于:
针对当前时刻具有所述最高温度值的服务器中的每一个虚拟机按照如下针对第一虚拟机执行的步骤执行:
将获取的所述第一出风口温度与确定的所述第一出风口温度的权重值相乘得到第一乘积;
将获取的所述第一入风口温度与确定的所述第一入风口温度的权重值相乘得到第二乘积;
将获取的所述第一使用率与确定的所述第一使用率权的重值相乘得到第三乘积;
将获取的所述第二使用率与确定的所述第二使用率的权重值相乘得到第四乘积;
将所述第一乘积、所述第二乘积、所述第三乘积、所述第四乘积,及确定的所述环境温度值相加,将相加得到的和值作为所述第一虚拟机迁出当前时刻具有所述最高温度值的服务器后,所述当前时刻具有所述最高温度值的服务器的温度值。
15.如权利要求13或14所述的装置,其特征在于,所述确定单元在确定所述第一风口温度的权重值、所述第一入风口温度的权重值、所述第一使用率的权重值、所述第二使用率的权重值及所述环境温度值时,具体用于:
获取位于当前时刻之前的一时间段内的各采样时间点,对当前时刻具有所述最高温度值的服务器的出风口进行温度采集得到的第二出风口温度;
获取在与所述各采样时间点分别对应的指定时间点,对当前时刻具有最高温度值的服务器的出风口进行温度采集得到的第三出风口温度;
获取在与所述各采样时间点分别对应的指定时间点,对当前时刻具有所述最高温度值服务器的入风口进行温度采集得到的第二入风口温度;
获取在与所述各采样时间点分别对应的指定时间点,采集的当前时刻具有所述最高温度值的服务器中的每一个虚拟机,分别对当前时刻具有所述最高温度值的服务器的指定硬件设备的第三使用率;
获取与所述各采样时间点分别对应的第二指定时长内,采集的当前时刻具有所述最高温度值的服务器的指定硬件设备的第四使用率;
将获取的第二出风口温度作为因变量,将获取的所述第三出风口温度、所述第二入风口温度、所述第三使用率和所述第四使用率分别作为自变量,采用加权求和方式确定出所述第一出风口温度的权重值、所述第一入风口温度的权重值、所述第一使用率的权重值、所述第二使用率的权重值及环境温度值;
其中,与任意一采样时间点对应的指定时间点为位于所述任意一采样时间点之前,且与所述任意一采样时间点之间的时长等于所述当前时刻与设定的预测时间点之间的时长;与任意一采样时间点对应的第二指定时长为位于与所述任意一采样时间点对应的指定时间点之前的,且与所述对应的指定时间点相距任意时长的时间段。
16.如权利要求11-15任一项所述的装置,其特征在于,所述选择单元在从所述数据中心包括的除当前时刻具有所述最高温度值的服务器之外的其他服务器中,选择目的服务器时,具体用于:
从所述数据中心包括的除当前时刻具有所述最高温度值的服务器之外的其他服务器中,筛选出不包含与确定出的待迁移虚拟机互斥的虚拟机的服务器,和/或筛选出具备空闲资源且满足确定出的待迁移虚拟机对资源的需求的服务器;
分别预测确定出的待迁移虚拟机迁入每一个筛选出的服务器后,每一个筛选出的服务器的温度值;
将所述筛选出的服务器中对应的预测出的温度值小于所述最高温度值的服务器,作为选择出的目的服务器。
17.如权利要求16所述的装置,其特征在于,所述选择单元在将所述筛选出的服务器中对应的预测出的温度值小于所述最高温度值的服务器,作为选择出的目的服务器时,具体用于:
将所述筛选出的服务器中的温度值小于所述最高温度值的任一服务器,作为选择出的目的服务器。
18.如权利要求16所述的装置,其特征在于,所述选择单元在将所述筛选出的服务器中对应的预测出的温度值小于所述最高温度值的服务器,作为选择出的目的服务器时,具体用于:
针对所述筛选出的服务器中的每一台服务器执行如下针对第一服务器的执行步骤,其中,所述第一服务器为所述筛选出的服务器中的任一服务器:
预测在确定出的待迁移虚拟机迁入所述第一服务器后,所述第一服务器、以及当前时刻具有所述最高温度值的服务器的温度值;
计算以下各温度值中,最高温度值与最低温度值的差值:所述预测的在确定出的待迁移虚拟机迁入所述第一服务器后,所述第一服务器的温度值、当前时刻具有所述最高温度值的服务器的温度值、以及分别对所述数据中心除所述第一服务器、以及当前时刻具有所述最高温度值的服务器之外的其他服务器进行测量得到的各测量温度值;
在针对所述筛选出的服务器中的每一台服务器分别对应计算出的所述差值中,确定最小差值对应的服务器,作为选择出的目的服务器。
19.如权利要求18所述的装置,其特征在于,所述选择单元在预测出待迁移虚拟机迁入所述第一服务器后,所述第一服务器的温度值时,具体用于:
获取在与所述当前时刻相邻的之前采样时间点,对所述第一服务器的出风口进行温度采集的第四出风口温度;
获取在与所述当前时刻相邻的之前采样时间点,对所述第一服务器的入风口进行温度采集得到的第三入风口温度;
获取在所述当前时刻相邻的之前采样时间点,采集的确定出的待迁移虚拟机对当前时刻具有所述最高温度值的服务器的指定硬件设备的第一使用率;
获取当前时刻具有所述最高温度值的服务器的第一总存储空间,以及所述第一服务器的第二总存储空间;
获取在所述当前时刻之前的、且与所述当前时刻相距所述第一指定时长内的各采样时间点,分别采集的所述第一服务器的指定硬件设备的第五使用率;
将获取的所述第四出风口温度与确定的所述第一出风口温度的权重值相乘得到第五乘积;
将获取的所述第三入风口温度与确定的所述第一入风口温度的权重值相乘得到第六乘积;
将获取的所述第一使用率与确定的所述第一使用率的权重值乘积,再与所述获取的所述第二总存储空间和所述第一总存储空间的比值进行相乘,得到第七乘积;
将获取的第五使用率与确定的所述第二使用率的权重值相乘得到第八乘积;
将所述第五乘积、所述第六乘积、所述第七乘积、所述第八乘积,及确定的所述环境温度值相加,将相加得到的和值作为预测出的确定的待迁移虚拟机迁入所述第一服务器后,所述第一服务器的温度值。
20.如权利要求18所述的装置,其特征在于,所述选择单元在预测在确定出的待迁移虚拟机迁入到所述第一服务器后,当前时刻具有所述最高温度值的服务器的温度值时,具体用于:
获取在与所述当前时刻相邻的之前采样时间点,对当前时刻具有最高温度值的服务器的出风口进行温度采集得到的所述第一出风口温度;
获取在与所述当前时刻相邻的之前采样时间点,对当前时刻具有所述最高温度值的服务器的入风口进行温度采集得到的所述第一入风口温度;
获取在所述当前时刻相邻的之前采样时间点,所采集的确定出的待迁移虚拟机对当前时刻具有所述最高温度值的服务器的指定硬件设备的第一使用率;
获取在所述当前时刻之前的、且与所述当前时刻相距所述第一指定时长内的各采样时间点,分别采集的当前时刻具有所述最高温度值的服务器的指定硬件设备的第二使用率;
将获取的所述第一出风口温度与所述第一出风口温度的权重值相乘得到所述第一乘积;
将获取的所述第一入风口温度与所述第一入风口温度的权重值相乘得到所述第二乘积;
将获取的第一使用用率与所述第一使用率的权重值相乘得到所述第三乘积;
将获取的所述第二使用率与确定的所述第二使用率的权重值相乘得到第四乘积;
将所述第一乘积、所述第二乘积、所述第三乘积、所述第四乘积及环境温度值相加,将所述相加得到的和值作为预测确定出的待迁移虚拟机从当前时刻具有所述最高温度值的服务器中迁入到所述第一服务器后,当前时刻具有所述最高温度值的服务器的温度值。
21.一种迁移虚拟机的***,包括数据中心,所述数据中心包括至少一台服务器,所述至少一台服务器中的每一台服务器均包括至少一个虚拟机,其特征在于,还包括如权利要求11-20任一权利要求所述的迁移虚拟机的装置。
CN201410240277.1A 2014-05-30 2014-05-30 一种迁移虚拟机的方法、装置及*** Active CN105224381B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410240277.1A CN105224381B (zh) 2014-05-30 2014-05-30 一种迁移虚拟机的方法、装置及***
US14/725,057 US20150347174A1 (en) 2014-05-30 2015-05-29 Method, Apparatus, and System for Migrating Virtual Machine
EP15169839.6A EP2950213B1 (en) 2014-05-30 2015-05-29 Method, apparatus, and system for migrating virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410240277.1A CN105224381B (zh) 2014-05-30 2014-05-30 一种迁移虚拟机的方法、装置及***

Publications (2)

Publication Number Publication Date
CN105224381A true CN105224381A (zh) 2016-01-06
CN105224381B CN105224381B (zh) 2018-10-09

Family

ID=53483658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410240277.1A Active CN105224381B (zh) 2014-05-30 2014-05-30 一种迁移虚拟机的方法、装置及***

Country Status (3)

Country Link
US (1) US20150347174A1 (zh)
EP (1) EP2950213B1 (zh)
CN (1) CN105224381B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10200501B1 (en) * 2015-12-16 2019-02-05 Amazon Technologies, Inc. Program code allocation based on processor features
US10346201B2 (en) * 2016-06-15 2019-07-09 International Business Machines Corporation Guided virtual machine migration
JP6724635B2 (ja) * 2016-07-28 2020-07-15 富士通株式会社 プログラム、管理方法、管理装置および情報処理システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100217454A1 (en) * 2009-02-23 2010-08-26 Spiers Adam Z Dynamic thermal load balancing
US20120003912A1 (en) * 2010-07-01 2012-01-05 Christopher Edward Hoover Provisioning of cooling resources through a delivery apparatus
WO2012071702A1 (zh) * 2010-11-29 2012-06-07 华为技术有限公司 实现多物理服务器之间温度均衡的方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009244999A (ja) * 2008-03-28 2009-10-22 Fujitsu Ltd 仮想マシン管理プログラム及び管理サーバ装置
CN102057367A (zh) * 2008-04-10 2011-05-11 惠普开发有限公司 依照环境数据的虚拟机迁移
US8397088B1 (en) * 2009-07-21 2013-03-12 The Research Foundation Of State University Of New York Apparatus and method for efficient estimation of the energy dissipation of processor based systems
JP5652477B2 (ja) * 2010-10-22 2015-01-14 富士通株式会社 データセンタ、情報処理システム、情報処理装置、情報処理装置の制御方法および制御プログラム
US8549519B2 (en) * 2011-08-19 2013-10-01 Hitachi, Ltd. Method and apparatus to improve efficiency in the use of resources in data center
US20130174145A1 (en) * 2011-12-28 2013-07-04 Ming-chiang Chen Virtual resources management methods

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100217454A1 (en) * 2009-02-23 2010-08-26 Spiers Adam Z Dynamic thermal load balancing
US20120003912A1 (en) * 2010-07-01 2012-01-05 Christopher Edward Hoover Provisioning of cooling resources through a delivery apparatus
WO2012071702A1 (zh) * 2010-11-29 2012-06-07 华为技术有限公司 实现多物理服务器之间温度均衡的方法及装置
CN102696257A (zh) * 2010-11-29 2012-09-26 华为技术有限公司 实现多物理服务器之间温度均衡的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SUPRIYA KINGER等: "Prediction Based Proactive Thermal Virtual Machine Scheduling in Green Clouds", 《THE SCIENTIFIC WORLD JOURNAL》 *

Also Published As

Publication number Publication date
EP2950213B1 (en) 2019-05-29
US20150347174A1 (en) 2015-12-03
CN105224381B (zh) 2018-10-09
EP2950213A1 (en) 2015-12-02

Similar Documents

Publication Publication Date Title
CN108777666A (zh) 链路聚合的分流方法及相关设备
CN107274472A (zh) 一种提高vr播放帧率的方法和装置
CN105279023A (zh) 一种虚拟机迁移方法和装置
CN114330699A (zh) 神经网络结构搜索方法及装置
CN107729143B (zh) 应用控制方法、装置、存储介质及电子设备
CN106991095B (zh) 机器异常的处理方法、学习速率的调整方法及装置
CN104901989A (zh) 一种现场服务提供***及方法
CN106095532A (zh) 一种云环境中虚拟机负载均衡安全调度方法
CN109754084B (zh) 网络结构的处理方法、装置及相关产品
US10452402B2 (en) Operation instruction response control method and terminal for human-machine interface
CN105471663A (zh) 网络异常的检测方法、装置、通信网络检测装置及***
CN105224381A (zh) 一种迁移虚拟机的方法、装置及***
CN109587072A (zh) 分布式***全局限速***及方法
CN108696929A (zh) 一种动态调整cca能量检测阈值的方法与装置
CN113222118A (zh) 神经网络训练方法、装置、电子设备、介质和程序产品
CN113242304B (zh) 边缘侧多能源数据采集调度控制方法、装置、设备和介质
CN105335267A (zh) 一种服务器温度预测方法、装置及***
CN109587806A (zh) 一种调度请求发送方法及终端设备
CN106162668A (zh) 确定网络参数的方法和装置
CN116938953A (zh) 基于区块链的数据处理方法、装置、电子设备及存储介质
CN110009100B (zh) 自定义算子的计算方法及相关产品
CN114143836B (zh) 基于边缘计算网关的负荷均衡方法、装置及终端
CN107577530A (zh) 均衡板卡内存利用率的板卡、方法和***
CN115525394A (zh) 容器数量的调整方法及装置
CN111092755B (zh) 一种基于资源占用的边缘服务迁移仿真方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant