虚拟数据中心节能调度方法和设备转让专利

申请号 : CN201210466046.3

文献号 : CN103823541B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 沃天宇耿昊李建欣杨任宇

申请人 : 北京航空航天大学

摘要 :

本发明提供的一种虚拟数据中心节能调度方法和设备。方法包括:获取数据中心中各物理节点的能耗数据和各物理节点的系统信息,根据各物理节点的能耗数据和各物理节点的系统信息,得到各物理节点中各耗能器件的使用率与能耗之间的映射关系,根据各物理节点中各耗能器件的使用率与能耗之间的映射关系以及各物理节点上部署的虚拟机的可用资源,生成节能调度算法,根据该算法对部署在物理节点上虚拟机进行迁移处理,以减小数据中心的总能耗。本发明通过采集每个物理节点的能耗数据和系统信息,得到上述映射关系,以制定节能调度算法对物理节点中的虚拟机进行迁移处理,使部署有虚拟机的物理节点的资源利用率达到最大化,以降低数据中心的能耗。

权利要求 :

1.一种虚拟数据中心节能调度方法,其特征在于,包括:

获取数据中心中每个物理节点的能耗数据和每个物理节点的系统信息,每个物理节点的系统信息包括每个物理节点中每个耗能器件的使用状态;

根据每个物理节点的能耗数据和每个物理节点的系统信息,统计获取每个物理节点中每个耗能器件的使用率与每个耗能器件的能耗之间的映射关系;

根据每个物理节点中每个耗能器件的使用率与能耗之间的映射关系以及部署有虚拟机的物理节点的可用资源,生成用于对部署在物理节点上的虚拟机进行迁移处理的节能调度算法;

根据所述节能调度算法对部署在物理节点上的虚拟机进行迁移处理,以减小所述数据中心的总能耗;

其中,所述根据所述节能调度算法对部署在各物理节点上的虚拟机进行迁移处理,以减小所述数据中心的总能耗包括:当有新虚拟机创建时,获取所述新虚拟机的所需资源;

如果所述新虚拟机的所需资源大于预设资源下限且小于预设资源上限且所有部署有虚拟机的物理节点的可用资源均小于所述新虚拟机的所需资源,对每个部署有虚拟机的物理节点上的所需资源小于所述新虚拟机的所需资源的虚拟机进行迁移处理,从所有部署有虚拟机的物理节点中选择可以部署所述新虚拟机且使所述数据中心的总能耗最小的目标物理节点;

将所述新虚拟机部署在所述目标物理节点上。

2.根据权利要求1所述的虚拟数据中心节能调度方法,其特征在于,所述获取数据中心中每个物理节点的能耗数据包括:获取每个物理节点的电压或电流数据,对每个物理节点的电压或电流数据进行功率转换处理,得到每个物理节点的能耗数据;其中,每个物理节点的电压或电流数据是由每个物理节点上的传感器对每个物理节点的电压或电流进行采集得到的。

3.根据权利要求2所述的虚拟数据中心节能调度方法,其特征在于,所述对每个物理节点的电压或电流数据进行功率转换处理,得到每个物理节点的能耗数据包括:判断每个物理节点的电压或电流数据是否在每个物理节点对应的阈值范围内;

如果判断结果为是,对每个物理节点的电压或电流数据进行功率转换处理,得到每个物理节点的能耗数据。

4.根据权利要求1所述的虚拟数据中心节能调度方法,其特征在于,所述对每个部署有虚拟机的物理节点上的所需资源小于所述新虚拟机的所需资源的虚拟机进行迁移处理,从所有部署有虚拟机的物理节点中选择可以部署所述新虚拟机且使所述数据中心的总能耗最小的目标物理节点包括:将每个部署有虚拟机的物理节点上的所需资源小于所述新虚拟机的所需资源的虚拟机迁出;

从所述迁出虚拟机的物理节点中选择所述目标物理节点,将所述新虚拟机部署在所述目标物理节点上;

将从所述迁出虚拟机的物理节点中除所述目标物理节点之外的其他物理节点上迁出的虚拟机重新迁入到所述其他物理节点中;

按照所需资源由小到大的顺序,逐次将从所述目标物理节点上迁出的虚拟机重新向所述目标物理节点迁入;在所述逐次将从所述目标物理节点中迁出的虚拟机重新向所述目标物理节点迁入的过程中,如果待迁入虚拟机的所需资源大于所述目标物理节点的可用资源,将所述待迁入虚拟机作为新虚拟机并重新执行所述如果所述新虚拟机的所需资源大于预设资源下限且小于预设的资源上限且所有部署有虚拟机的物理节点的可用资源均小于所述新虚拟机的所需资源,对每个部署有虚拟机的物理节点上的所需资源小于所述新虚拟机的所需资源的虚拟机进行迁移处理,从所有部署有虚拟机的物理节点中选择可以部署所述新虚拟机且使所述数据中心的总能耗最小的目标物理节点。

5.根据权利要求1或4所述的虚拟数据中心节能调度方法,其特征在于,还包括:

如果所述新虚拟机的所需资源小于或等于预设资源下限,按照最佳适配算法从所有部署有虚拟机的物理节点中选取目标物理节点,将所述新虚拟机迁入到所述目标物理节点中。

6.根据权利要求1-3任一项所述的虚拟数据中心节能调度方法,其特征 在于,根据所述节能调度算法对各物理节点上部署的虚拟机进行迁移处理,以减小所述数据中心的总能耗包括:根据预先设置的基于时间序列预测的差分自回归移动平均模型ARIMA模型,判断当前时刻是否处于可迁移时间段;

如果判断结果为当前时刻处于所述可迁移时间段,则根据所述节能调度算法对部署在各物理节点上的虚拟机进行迁移处理,以减小所述数据中心的总能耗。

7.一种虚拟数据中心节能调度设备,其特征在于,包括:

获取模块,用于获取数据中心中每个物理节点的能耗数据和每个物理节点的系统信息,每个物理节点的系统信息包括每个物理节点中每个耗能器件的使用状态;

统计模块,用于根据每个物理节点的能耗数据和每个物理节点的系统信息,统计获取每个物理节点中每个耗能器件的使用率与能耗之间的映射关系;

生成模块,用于根据每个物理节点中每个耗能器件的使用率与能耗之间的映射关系以及部署有虚拟机的物理节点的可用资源,生成用于对部署在各物理节点上的虚拟机进行迁移处理的节能调度算法;

处理模块,用于根据所述节能调度算法对部署在物理节点上的虚拟机进行迁移处理,以减小所述数据中心的总能耗;

其中,其中,所述处理模块包括:

获取单元,用于当有新虚拟机创建时,获取所述新虚拟机的所需资源信息;

处理单元,用于如果所述新虚拟机的所需资源信息大于预设资源信息下限且小于预设的资源信息上限,对每个物理节点上部署的所需资源信息小于所述新虚拟机的所需资源信息的虚拟机进行迁移处理,从所有物理节点中选择可以部署所述新虚拟机且使所述数据中心的总能耗最小的目标物理节点;将所述新虚拟机部署在所述目标物理节点上。

8.根据权利要求7所述的虚拟数据中心节能调度设备,其特征在于,所述处理单元具体用于:将每个部署有虚拟机的物理节点上的所需资源小于所述新虚拟机的所需资源的虚拟机迁出;

从所述迁出虚拟机的物理节点中选择所述目标物理节点,将所述新虚拟机部署在所述目标物理节点上;

将从所述迁出虚拟机的物理节点中除所述目标物理节点之外的其他物理节点上迁出的虚拟机重新迁入到所述其他物理节点中;

按照所需资源由小到大的顺序,逐次将从所述目标物理节点上迁出的虚拟机重新向所述目标物理节点迁入;在所述逐次将从所述目标物理节点中迁出的虚拟机重新向所述目标物理节点迁入的过程中,如果待迁入虚拟机的所需资源大于所述目标物理节点的可用资源,将所述待迁入虚拟机作为新虚拟机并重新执行所述如果所述新虚拟机的所需资源大于预设资源下限且小于预设的资源上限且所有部署有虚拟机的物理节点的可用资源均小于所述新虚拟机的所需资源,对每个部署有虚拟机的物理节点上的所需资源小于所述新虚拟机的所需资源的虚拟机进行迁移处理,从所有部署有虚拟机的物理节点中选择可以部署所述新虚拟机且使所述数据中心的总能耗最小的目标物理节点。

说明书 :

虚拟数据中心节能调度方法和设备

技术领域

[0001] 本发明涉及通信技术,尤其涉及一种虚拟数据中心节能调度方法和设备。

背景技术

[0002] 随着信息时代的发展,数据中心的数量以及规模越来越大,数据中心的能耗也随之递增。目前,将虚拟机技术引入到数据中心,将不同的应用封装在不同的虚拟机中,通过虚拟机的迁移实现不同应用的聚合,从而多个异构的应用可以在同一个物理机运行。但是,目前绝大多数企业的重要应用仍然直接部署在物理机上,由于虚拟数据中心重要应用的种类越来越多,这些重要应用需要的物理机数量也越来越多,不同物理机需要采用单独的节能调度算法,这就使得数据中心的资源占用率较高,导致数据中心的能耗较大。

发明内容

[0003] 本发明提供一种虚拟数据中心节能调度方法和设备,用以解决现有技术中虚拟数据中心资源利用率低、能耗较大的问题。
[0004] 为了实现上述目的,本发明提供一种虚拟数据中心节能调度方法,包括:
[0005] 获取数据中心中每个物理节点的能耗数据和每个物理节点的系统信息,每个物理节点的系统信息包括每个物理节点中每个耗能器件的使用状态;
[0006] 根据每个物理节点的能耗数据和每个物理节点的系统信息,统计获取每个物理节点中每个耗能器件的使用率与能耗之间的映射关系;
[0007] 根据每个物理节点中每个耗能器件的使用率与能耗之间的映射关系以及部署有虚拟机的物理节点的可用资源,生成用于对部署在物理节点上的虚拟机进行迁移处理的节能调度算法;
[0008] 根据所述节能调度算法对部署在物理节点上的虚拟机进行迁移处理,以减小所述数据中心的总能耗。
[0009] 为了实现上述目的,本发明提供一种虚拟数据中心节能调度设备,包括:
[0010] 获取模块,用于获取数据中心中每个物理节点的能耗数据和每个物理节点的系统信息,每个物理节点的系统信息包括每个物理节点中每个耗能器件的使用状态;
[0011] 统计模块,用于根据每个物理节点的能耗数据和每个物理节点的系统信息,统计获取每个物理节点中每个耗能器件的使用率与能耗之间的映射关系;
[0012] 生成模块,用于根据每个物理节点中每个耗能器件的使用率与能耗之间的映射关系以及部署有虚拟机的物理节点的可用资源,生成用于对部署在各物理节点上的虚拟机进行迁移处理的节能调度算法;
[0013] 处理模块,用于根据所述节能调度算法对部署在物理节点上的虚拟机进行迁移处理,以减小所述数据中心的总能耗。
[0014] 本发明提供的虚拟数据中心节能调度方法和设备,实时采集每个物理节点的能耗数据和系统信息,得到个物理节点中各耗能器件的使用率与能耗之间的映射关系,获取部署有虚拟机的物理节点的可用资源,根据该映射关系和该可用资源,对部署在物理节点中的虚拟机进行迁移处理,使数据中心中的所有虚拟机尽可能集中的部署在物理节点上,使数据中心中开启的物理节点的数量最小化。也就是说,可以对部署有较少虚拟机的部分物理节点进行迁移处理,使得该部分物理节点处于空闲状态,这样就可以关闭该部分物理节点,从而使得数据中心中开启的物理节点数量最少化,达到降低数据中心总能耗的目的。

附图说明

[0015] 图1为本发明实施例提供的一种虚拟数据中心节能调度方法示意图;
[0016] 图2为本发明实施例提供的一种虚拟数据中心节能调度设备结构示意图。

具体实施方式

[0017] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
[0018] 图1为本发明实施例提供的一种虚拟数据中心节能调度方法示意图。在本实施例中,该虚拟数据中心节能调度方法的执行主体为节能调度设备,如图1所示,该方法包括以下步骤:
[0019] 101、获取数据中心中每个物理节点的能耗数据和每个物理节点的系统信息,每个物理节点的系统信息包括每个物理节点中每个耗能器件的使用状态。
[0020] 节能调度设备可以实时的监测每个物理节点的运行情况,获取每个物理节点的系统信息,其中,该系统信息中可以包括物理节点中每个耗能器件的使用状态信息,如,CPU使用情况、磁盘使用情况、内存使用情况等。具体地,节能调度设备可以通过直接查询或解析物理节点的操作系统中的系统文件来获取物理节点的系统信息。例如,物理节点操作系统为Linux系统时,Linux系统下proc文件系统中的特定文件可以记录物理节点的系统信息。节能调度设备可以直接查询该proc文件系统中的特定文件,获取物理节点的系统信息。在proc文件系统中可以获取每个物理节点上的进程信息、CPU使用情况、磁盘的输入输出I/O情况、内存使用情况等,进一步地,从proc文件系统中可以获取部署在物理节点上的虚拟机的负载情况,也可以从proc文件系统读取内核的执行情况,也可以从proc/stat文件中获取CPU空闲时间、CPU系统时间、CPU用户时间等信息。Linux系统下的proc文件系统中这些记录物理节点的系统信息的特定文件夹可以存储在磁盘中,也可以存储在内存中的虚拟文件系统中。本实施例中,节能调度设备在Linux操作系统下获取物理节点的系统信息的方法仅是作为示例来进行说明,本发明不仅限于此。
[0021] 本实施例中,在获取每个物理节点的系统信息时,节能调度设备同步地获取每个物理节点的能耗数据。节能调度设备获取每个物理节点的电压或电流数据,对每个物理节点的电压或电流数据进行功率转换处理,得到每个物理节点的能耗数据。在物理节点中主要的耗能器件为中央处理器(Central Processing Unit,简称为CPU)、内存、磁盘、主板和网络等。具体地,每个物理节点上的传感器采集每个物理节点中的各耗能器件的电压或电流数据,将采集到的电压或电流数据传输给节能调度设备,节能调度设备对物理节点上的各耗能器件的电压和电流数据进行功率转换处理,得到物理节点上的各耗能器件的能耗数据。本实施例中,传感器可以通过智能型平台管理接口(Intelligent Platform Management Interface,简称为IPMI)或高级配置与电源接口(Advanced Configuration and Power Interface,简称ACPI)将采集到的电压或电流数据传输给节能调度设备。
[0022] 可选地,在节能调度设备对每个物理节点的电压或电流数据进行功率转换处理之前,节能调度设备将每个物理节点的电压或电流数据与预设的每个物理节点对应的阈值范围进行比较,当物理节点的电压或电流数据在物理节点对应的阈值范围内时,节能调度设备将物理节点的电压或电流数据转换为功率,得到物理节点的能耗数据。本实施例中,物理节点的标准参数存储在数据中心,物理节点的阈值范围可以根据物理节点的标准参数预先进行设置。当节能调度设备对获取到物理节点的电压或电流数据后,查询数据中心中相应的物理节点阈值范围,将物理节点的电压或电流数据与预设的物理节点的阈值范围进行比较,当物理节点的电压或电流数据在相应的阈值范围内时,节能调度设备对该电压或电流数据进行转换,得到能耗数据。本实施例通过将电压或电流数据在进行转换功率之前,与预设的相应的阈值范围进行比较,可以避免因传感器发生故障而导致获取到错误的能耗数据。
[0023] 102、根据每个物理节点的能耗数据和每个物理节点的系统信息,统计获取每个物理节点中每个耗能器件的使用率与能耗之间的映射关系。
[0024] 节能调度设备可以从物理节点的系统信息中获取到物理节点中的各耗能器件的使用情况,根据各耗能器件的使用情况,得到各耗能器件的使用率。节能调度设备从物理节点的能耗数据获取物理节点中各能耗器件的能耗数据,节能调度设备可以根据各耗能器件的使用率以及各耗能器件的能耗数据得到各耗能器件的使用率与能耗之间的映射关系。
[0025] 进一步地,节能调度设备可以根据获取到的物理节点中的各耗能器件的能耗数据,得到物理节点中各耗能器件之间的能耗比例关系。表1为本实施例提供的某物理节点中各耗能器件的能耗数据表。如表1所示,得到该物理节点各耗能器件之间的能耗比例关系:CPU:内存:硬盘:主板=4:4:1:1,从表1可以,CPU和内存的能耗占物理节点总能耗的绝大部分。
[0026] 表1某物理节点中各耗能器件的能耗数据表
[0027]部件名称 单位功耗(W) 数量 总功耗(W) 百分比(%)
CPU 80 2 160 42
内存 12 12 144 38
硬盘 12 3 36 10
主板 37 1 37 10
[0028] 103、根据每个物理节点中每个耗能器件的使用率与能耗之间的映射关系以及部署有虚拟机的各物理节点的可用资源,生成用于对部署在物理节点上的虚拟机进行迁移处理的节能调度算法。
[0029] 节能调度设备在获取了每个物理节点中每个耗能器件的使用率与能耗之间的映射关系之后,节能调度设备从数据中心获取部署在物理节点上的虚拟机的所需资源,即部署在物理节点上各虚拟机占用所在物理节点的资源。节能调度设备根据部署在物理节点上各虚拟机的所需资源,计算得出部署有虚拟机的各物理节点的可用资源即部署有虚拟机的各物理节点的剩余资源。节能调度设备根据每个耗能器件的使用率与能耗之间的映射关系以及部署有虚拟机的各物理节点的可用资源,生成节能调度算法,该节能调度算法用于对部署在物理节点上的虚拟机进行迁移处理。在实际应用中,内存的能耗与CPU的能耗存在正向关联的关系,即当CPU利用率提高时,内存的能耗也同时提高,而且CPU的使用率不同时,CPU的能耗也是不同的。在步骤102中,节能调度设备可以根据物理节点的CPU的使用率以及CPU的能耗,获得物理节点CPU的使用率与能耗之间的映射关系。具体地,当CPU的使用率比较低时,CPU的能耗仍占CPU处于满载状态时的70%以上。这样节能调度设备就可以将部署有较少虚拟机的物理节点上的虚拟机,迁移到一些可以部署这些虚拟机的物理节点上,使得部署有较少虚拟机的这些物理节点处于空闲状态,这样就可以将这些物理节点关闭,通过迁移虚拟机的处理,数据中心中已开启物理节点的资源利用率达到了最大化,而且减少数据中心总资源的浪费,降低数据中心的总能耗。
[0030] 104、根据所述节能调度算法对部署在物理节点上的虚拟机进行迁移处理,以减小所述数据中心的总能耗。
[0031] 具体地,当有新虚拟机创建时即新的工作负载进入数据中心时,节能调度设备获取该新虚拟机的所需资源。节能调度设备将新虚拟机的所需资源与预设资源下限和预设资源上限进行比较:当节能调度设备判断出该新虚拟机的所需资源大于或等于该预设资源上限时,节能调度设备开启一个新物理节点,将该新虚拟机部署在开启新物理节点上。
[0032] 当节能调度设备判断出新虚拟机的所需资源大于预设资源下限且小于预设资源上限时,节能调度设备将该新虚拟机的所需资源与部署有虚拟机的各物理节点的可用资源进行比较,当判断出该新虚拟机的所需资源小于或等于部署有虚拟机的物理节点中的至少一个物理节点的可用资源,节能调度设备从部署有虚拟机的物理节点的可用资源大于新虚拟机的所需资源的部署有虚拟机物理节点中利用最佳适配算法选取一个物理节点作为目标物理节点,将该新虚拟机部署该目标物理节点上;而当节能调度设备判断出所有部署虚拟机的物理节点的可用资源均小于该新虚拟机的所需资源时,节能调度设备将每个部署有虚拟机的物理节点上的所需资源小于新虚拟机的所需资源的虚拟机进行迁移处理,从所有部署有虚拟机的物理节点中选择可以部署所述新虚拟机且使所述数据中心的总能耗最小的目标物理节点。
[0033] 具体地,节能调度设备将每个部署有虚拟机的物理节点上的所需资源小于新虚拟机的所需资源的虚拟机迁出所在的物理节点。此处,为了更好地表达出该发明的节能调度算法,假设节能调度设备将每个部署有虚拟机的物理节点上的所需资源小于新虚拟机的所需资源的虚拟机迁出所在物理节点,在本在本实施例中,该迁出过程并不是节能调度设备执行的实际操作,该迁出过程实际上是一个运算过程:即将每个部署有虚拟机的物理节点上的所需资源小于新虚拟机所需资源的虚拟机的所需资源进行相加求和计算过程,通过该求迁出的运算过程,节能调度设备可以获取到每个部署有虚拟机的物理节点的可用资源,即假设将每个部署有虚拟机的物理节点上的所需资源小于新虚拟机的所需资源的虚拟机迁出后,每个部署有虚拟机的物理节点的剩余资源。节能调度设备采用最佳适配算法从迁出虚拟机的物理节点中选择可以部署新虚拟机的目标物理节点,并将该新虚拟机部署在该目标物理节点上。此处,节能调度设备是假设将该新虚拟机部署在该目标物理节点上,节能调度设备实际上是将该新虚拟机的所需资源与目标物理节点上未迁出的虚拟机进行求和计算的过程,然后计算出该目标物理节点在假设部署了该新虚拟机后的可用资源。
[0034] 节能调度设备将从迁出虚拟机的物理节点中除了目标物理节点之外的其他物理节点上迁出的虚拟机重新迁入到其他物理节点中。进一步地,节能调度设备将目标物理节点上的迁出的虚拟机的所需资源按照从小到大的顺序,逐次将从目标物理节点上迁出的虚拟机重新向该目标物理节点迁入。本实施例中,与上面的迁出过程类似,该重新迁入过程实际上是也一个运算过程,并不真正对部署在物理节点上的虚拟机进行实际重新迁入操作。实际上,节能调度设备将目标物理节点上的迁出的虚拟机的所需资源按照从小到大的顺序,逐次将与目标物理节点上未迁出的虚拟机的所需资源以及新虚拟机的所需资源进行叠加求和的计算过程。在节能调度设备逐次将从目标物理节点中迁出的虚拟机重新向所述目标物理节点迁入的过程中,当待迁入虚拟机所需的资源大于目标物理节点的可用资源时,即如果将该待迁入虚拟机再部署在该目标物理节点中,会使得该目标物理节点处于超载的状态。进一步地,节能调度设备将该待迁入虚拟机作为一个新虚拟机,节能调度设备并重新执行将每个部署有虚拟机的物理节点上的所需资源小于新虚拟机的所需资源的虚拟机进行迁移处理,从所有部署有虚拟机的物理节点中选择可以部署所述新虚拟机且使所述数据中心的总能耗最小的目标物理节点的过程,直到被节能调度设备作为新虚拟机的待迁入虚拟机的所需资源小于或等于预设资源下限,节能调度设备按照最佳适配算法从所有部署有虚拟机的物理节点中选取一个物理节点作为目标物理节点,将该新虚拟机部署到该目标物理节点中。
[0035] 在本实施例中,节能调度设备对部署在物理节点上的虚拟机并不进行实际的迁出和重新迁入的过程,当节能调度设备在上述运算中得到的待迁入虚拟机的所需资源小于或等于预设资源下限时,该节能调度设备停止算法的迭代过程。节能调度设备得到最终的调度结果,节能调度设备根据该调度结果,对部署在物理节点上的虚拟机进行真正的迁移处理。其中,该调度结果可以指示出需要迁移的虚拟机的标识以及指示出需要迁移虚拟机待部署的物理节点的标识。在实际的虚拟机的迁移过程中,节能调度设备对虚拟机的迁移处理的顺序是与上述算法运算的过程逆向的。也就是说,节能调度设备在运算过程首先是对新虚拟机进行的假设性的迁移处理,而在实际的迁移处理中,节能调度设备会最后将新虚拟机部署在目标物理节点上。
[0036] 本实施例提供的虚拟数据中心节能调度方法,获取数据中心中每个物理节点的能耗数据和每个物理节点的系统信息,根据每个物理节点的能耗数据和每个物理节点的系统信息,得到每个物理节点中各耗能器件的使用率与能耗之间的映射关系,根据每个物理节点中各耗能器件的使用率与能耗之间的映射关系以及部署有虚拟机的各物理节点的可用资源,生成节能调度算法,根据该节能调度算法对部署在物理节点上虚拟机进行迁移处理,以减小数据中心的总能耗。本实施例实时采集每个物理节点的能耗数据和系统信息,得到个物理节点中各耗能器件的使用率与能耗之间的映射关系,获取部署有虚拟机的物理节点的可用资源,根据该映射关系和该可用资源,对部署在物理节点中的虚拟机进行迁移处理,使数据中心中的所有虚拟机尽可能集中的部署在物理节点上,使数据中心中开启的物理节点的数量最小化。也就是说,可以对部署有较少虚拟机的部分物理节点进行迁移处理,使得该部分物理节点处于空闲状态,这样就可以关闭该部分物理节点,从而使得数据中心中开启的物理节点数量最少化,达到降低数据中心总能耗的目的。
[0037] 可选地,节能调度设备还可以获取一个基于时间序列预测的模型,对虚拟机的迁移时机进行预测。例如,节能调度设备可以采用差分自回归移动平均模型(Autoregressive Integrated Moving Average Model,简称为ARIMA)。该ARIMA模型可以从数据中心获取各虚拟机的状态信息,如,请求虚拟机的速率,该ARIMA根据新虚拟机相应的状态信息可以对该新虚拟机的迁移时机进行预测,判断新虚拟机的到来的当前时刻是否处于可迁移时间段,如果判断结果为当前时刻处于可迁移时间段,节能调度设备根据节能调度算法对部署在各物理节点上的虚拟机进行迁移处理,以减小数据中心的总能耗。例如,存储在数据中心中的企业级应用,如web应用一般在时间上呈现某种规律,一天中,在中午12点到2点以及晚上8点到10点的web页面请求速率会达到峰值,而在凌晨0点到7点的web页面请求速率持续很低。一周中,工作日的每天的情况基本相同。该ARIMA模型可以根据该web应用的请求速率,对该web应用的请求速率进行预测。该ARIMA模型在对web应用的请求速率进行预测后,得到预测结果,该预测结果可以指示出该web应用在请求速率较低的情况下,如,凌晨0到7点,可以对web应用进行迁移。该基于时间序列进行预测的模型同样适用于其他应用本发明不仅限于web应用。本实施例中,在对部署在物理节点上的虚拟机进行迁移处理时,通过基于时间预测的ARIMA模型对待迁移的虚拟机进行预测,可以获取到待迁移虚拟机的迁移时机,节能调度设备可以根据ARIMA模型得出的预测结果,在合适的迁移时机对待迁移虚拟机进行迁移,避免因为在不合适的迁移时机迁移虚拟机,造成物理节点的负担或者导致虚拟机中封装的应用无法正常进行。
[0038] 图2为本发明实施例提供的一种虚拟数据中心节能调度设备结构示意图。如图2所示,该节能调度设备包括:获取模块21、统计模块22、生成模块23和处理模块24。其中,获取模块21用于获取数据中心中每个物理节点的能耗数据和每个物理节点的系统信息,每个物理节点的系统信息包括每个物理节点中每个耗能器件的使用状态。统计模块22用于根据每个物理节点的能耗数据和每个物理节点的系统信息,统计获取每个物理节点中每个耗能器件的使用率与能耗之间的映射关系。生成模块23用于根据每个物理节点中每个耗能器件的使用率与能耗之间的映射关系以及部署有虚拟机的物理节点的可用资源,生成用于对部署在各物理节点上的虚拟机进行迁移处理的节能调度算法。处理模块24用于根据节能调度算法对部署在物理节点上的虚拟机进行迁移处理,以减小所述数据中心的总能耗。
[0039] 具体地,获取模块21的一种实现结构方式可以包括检测单元211和采集单元212。该检测单元211可以实时的监测每个物理节点的运行情况,获取每个物理节点的系统信息,其中,该系统信息中可以包括物理节点中每个耗能器件的使用状态信息,如,CPU使用情况、磁盘使用情况、内存使用情况等。具体地,节能调度设备可以通过直接查询或解析物理节点的操作系统中的系统文件来获取物理节点的系统信息。例如,物理节点的操作系统为Linux系统时,Linux系统下proc文件系统中的特定文件可以记录物理节点的系统信息。检测单元
211可以直接查询该proc文件系统中的特定文件,获取物理节点的系统信息。在proc文件系统中可以获取每个物理节点上的进程信息、CPU使用情况、磁盘的输入输出I/O情况、内存使用情况等,进一步地,从proc文件系统中可以获取部署在物理节点上的虚拟机的负载情况,也可以从proc文件系统读取内核的执行情况,也可以从proc/stat文件中获取CPU空闲时间、CPU系统时间、CPU用户时间等信息。在实际应用中,Linux系统下的proc文件系统中这些记录物理节点的系统信息的特定文件夹可以存储在磁盘中,也可以存储在内存中的虚拟文件系统中。本实施例中,检测单元211在Linux操作系统下获取物理节点的系统信息的方法仅是作为示例来进行说明,本发明不仅限于此。
[0040] 采集单元212在检测单元211获取每个物理节点的系统信息时,同步地获取每个物理节点能耗数据。采集单元212通过获取每个物理节点的电压或电流数据,对每个物理节点的电压或电流数据进行功率转换处理,得到每个物理节点的能耗数据。在物理节点中主要的耗能器件为CPU、内存、磁盘、主板和网络等。具体地,采集单元212的一种实现结构方式可以包括:转换子单元和判断子单元。转换子单元接收物理节点上的传感器采集的物理节点中的各耗能器件的电压或电流数据,转换子单元对物理节点上的各耗能器件的电压和电流数据进行功率转换处理,得到物理节点上的各耗能器件的能耗数据。本实施例中,传感器可以通过IPMI接口或ACPI接口将采集到的电压或电流数据传输给转换子单元。
[0041] 在转换子单元对对物理节点的电压或电流数据进行功率转换处理之前,判断子单元对接收到的每个物理节点的电压或电流数据与预设的每个物理节点对应的阈值范围进行比较,当判断子单元判断出每个物理节点的电压或电流数据在每个物理节点对应的阈值范围内时,转换子单元将每个物理节点的电压或电流数据转换功率,得到每个物理节点的能耗数据。本实施例中,物理节点的标准参数存储在数据中心,物理节点的阈值范围可以根据物理节点的标准参数预先进行设置。当转换子单元获取到物理节点的电压或电流数据后,判断子单元查询数据中心中相应的物理节点的标准参数或阈值范围,将物理节点的电压或电流数据与预设的物理节点的阈值范围进行比较,当物理节点的电压或电流数据在相应的阈值范围内时,转换子单元对该电压或电流数据进行转换,得到能耗数据。本实施例通过将电压或电流数据在进行功率转换之前,与预设的相应的阈值范围进行比较,可以避免因传感器发生故障,而导致获取到错误的能耗数据。
[0042] 获取模块21可以从物理节点的系统信息中获取到物理节点中的各耗能器件的使用情况,将各耗能器件的使用情况,发送给统计模块22,统计模块根据各耗能器件的使用情况,得到各耗能器件的使用率。统计模块22可以从物理节点的能耗数据获取物理节点中各能耗器件的能耗数据。进一步地,统计模块22可以根据各耗能器件的使用率以及各耗能器件的能耗数据得到各耗能器件的使用率与能耗之间的映射关系。
[0043] 进一步地,统计模块22还可以根据获取到的物理节点中的各耗能器件的能耗数据,得到物理节点中各耗能器件之间的能耗比例关系。
[0044] 统计模块22在获取了每个物理节点中各耗能器件的使用率与能耗之间的映射关系之后,生成模块23从数据中心获取部署在物理节点上的虚拟机的所需资源,即部署在物理节点上各虚拟机占用所在物理节点的资源。生成模块23根据部署在物理节点上各虚拟机的所需资源,计算得出部署有虚拟机的各物理节点的可用资源,该各物理节点的可用资源也就是部署有虚拟机的各物理节点的剩余资源。生成模块23根据各耗能器件的使用率与能耗之间的映射关系以及部署有虚拟机的各物理节点的可用资源,生成节能调度算法。该节能调度算法用于对部署在物理节点上的虚拟机进行迁移处理,处理模块24根据该节能调度算法对部署在物理节点上的虚拟机进行迁移处理,以使数据中心中的所有虚拟机尽可能集中的部署在物理节点上,使数据中心中开启的物理节点的数量最小化,降低数据中心的总能耗。
[0045] 在实际应用中,内存的能耗与CPU的能耗存在正向关联的关系,即当CPU利用率提高时,内存的能耗也同时提高,而且CPU的使用率不同时,CPU的能耗也是不同。在步骤102中,节能调度设备可以根据物理节点的CPU的使用率以及CPU的能耗,获得物理节点CPU的使用率与能耗之间的映射关系。具体地,当CPU的使用率比较低时,CPU的能耗仍占CPU处于满载状态时的70%以上。这样节能调度设备就可以将部署有较少虚拟机的物理节点上的虚拟机,迁移到一些可以部署这些虚拟机的物理节点上,使得部署有较少虚拟机的这些物理节点处于空闲状态,这样就可以将这些物理节点关闭,通过迁移虚拟机的处理,数据中心中已开启物理节点的资源利用率达到了最大化,而且减少数据中心总资源的浪费,降低数据中心的总能耗。
[0046] 本实施例中,处理模块24的一种实现结构方式包括:获取单元241和处理单元242。当有新虚拟机创建时即新的工作负载进入数据中心时,获取单元241获取该新虚拟机的所需资源。处理单元242将新虚拟机的所需资源与预设资源下限和预设资源上限进行比较:当该新虚拟机的所需资源大于或等于该预设资源上限时,处理单元242开启一个新物理节点,将该新虚拟机部署在该新物理节点上。
[0047] 当新虚拟机的所需资源大于预设资源下限且小于预设资源上限时,处理单元242将该新虚拟机的所需资源与部署有虚拟机的各物理节点的可用资源进行比较,当该新虚拟机的所需资源小于或等于部署有虚拟机的物理节点中的至少一个物理节点的可用资源时,处理设备242利用最佳适配算法,从部署有虚拟机的物理节点的可用资源大于新虚拟机的所需资源的部署有虚拟机物理节点中选取一个物理节点作为目标物理节点,将该新虚拟机部署该目标物理节点上;而当处理单元242判断出所有部署虚拟机的物理节点的可用资源均小于该新虚拟机的所需资源时,处理单元242将每个部署有虚拟机的物理节点上的所需资源小于新虚拟机的所需资源的虚拟机进行迁移处理,从所有部署有虚拟机的物理节点中选择可以部署所述新虚拟机且使所述数据中心的总能耗最小的目标物理节点。其中,部署在物理节点上的各虚拟机的所需资源可以通过获取模块21可以得到。
[0048] 具体地,处理单元242将每个部署有虚拟机的物理节点上的所需资源小于新虚拟机的所需资源的虚拟机迁出所在的物理节点。此处,为了更好地表达出该发明的节能调度算法,假设处理单元242将每个部署有虚拟机的物理节点上的所需资源小于新虚拟机的所需资源的虚拟机迁出所在物理节点,在本在本实施例中,该迁出过程并不是处理单元242执行的实际操作,该迁出过程实际上是一个运算过程:即将每个部署有虚拟机的物理节点上的所需资源小于新虚拟机所需资源的虚拟机的所需资源进行相加求和计算过程,通过该求迁出的运算过程,处理单元242可以获取到每个部署有虚拟机的物理节点的可用资源,即假设将每个部署有虚拟机的物理节点上的所需资源小于新虚拟机的所需资源的虚拟机迁出后,每个部署有虚拟机的物理节点的剩余资源。处理单元242采用最佳适配算法从迁出虚拟机的物理节点中选择可以部署新虚拟机的目标物理节点,并将该新虚拟机部署在该目标物理节点上。此处,处理单元242是假设将该新虚拟机部署在该目标物理节点上,处理单元242实际上是将该新虚拟机的所需资源与目标物理节点上未迁出的虚拟机进行求和计算的过程,然后计算出该目标物理节点在假设部署了该新虚拟机后的可用资源。
[0049] 处理单元242将从迁出虚拟机的物理节点中除了目标物理节点之外的其他物理节点上迁出的虚拟机重新迁入到其他物理节点中。进一步地,处理单元242将目标物理节点上的迁出的虚拟机的所需资源按照从小到大的顺序,逐次将从目标物理节点上迁出的虚拟机重新向该目标物理节点迁入。本实施例中,与上面的迁出过程类似,该重新迁入过程实际上是也一个运算过程,并不真正对部署在物理节点上的虚拟机进行实际重新迁入操作。实际上,处理单元242将目标物理节点上的迁出的虚拟机的所需资源按照从小到大的顺序,逐次将与目标物理节点上未迁出的虚拟机的所需资源以及新虚拟机的所需资源进行叠加求和的计算过程。在处理单元242逐次将从目标物理节点中迁出的虚拟机重新向所述目标物理节点迁入的过程中,当待迁入虚拟机所需的资源大于目标物理节点的可用资源时,即如果将该待迁入虚拟机再部署在该目标物理节点中,会使得该目标物理节点处于超载的状态。进一步地,处理单元242将该待迁入虚拟机作为一个新虚拟机,处理单元242并重新执行将每个部署有虚拟机的物理节点上的所需资源小于新虚拟机的所需资源的虚拟机进行迁移处理,从所有部署有虚拟机的物理节点中选择可以部署所述新虚拟机且使所述数据中心的总能耗最小的目标物理节点的过程,直到被处理单元242作为新虚拟机的待迁入虚拟机的所需资源小于或等于预设资源下限,处理单元242按照最佳适配算法从所有部署有虚拟机的物理节点中选取一个物理节点作为目标物理节点,将该新虚拟机部署到该目标物理节点中。
[0050] 在本实施例中,处理单元242对部署在物理节点上的虚拟机并不进行实际的迁出和重新迁入的过程,当处理单元242在上述运算中得到的待迁入虚拟机的所需资源小于或等于预设资源下限时,该处理单元242停止算法的迭代过程。处理单元242得到最终的调度结果,处理单元242根据该调度结果,对部署在物理节点上的虚拟机进行真正的迁移处理。其中,该调度结果可以指示出需要迁移的虚拟机的标识以及指示出需要迁移虚拟机待部署的物理节点的标识。在实际的虚拟机的迁移过程中,处理单元242对虚拟机的迁移处理的顺序是与上述算法运算的过程逆向的。也就是说,处理单元242在运算过程首先是对新虚拟机进行的假设性的迁移处理,而在实际的迁移处理中,处理单元242会最后将新虚拟机部署在目标物理节点上。
[0051] 本实施例提供的虚拟数据中心节能调度设备,获取数据中心中每个物理节点的能耗数据和每个物理节点的系统信息,根据每个物理节点的能耗数据和每个物理节点的系统信息,得到每个物理节点中各耗能器件的使用率与能耗之间的映射关系,根据每个物理节点中各耗能器件的使用率与能耗之间的映射关系以及部署有虚拟机的物理节点的可用资源,生成用于对部署在物理节点上的虚拟机进行迁移处理的节能调度算法,根据该节能调度算法对部署在物理节点上虚拟机进行迁移处理,以减小数据中心的总能耗。本实施例实时采集每个物理节点的能耗数据和系统信息,得到个物理节点中各耗能器件的使用率与能耗之间的映射关系,获取部署有虚拟机的物理节点的可用资源,根据该映射关系和该可用资源,对部署在物理节点中的虚拟机进行迁移处理,使数据中心中的所有虚拟机尽可能集中的部署在物理节点上,使数据中心中开启的物理节点的数量最小化。也就是说,可以对部署有较少虚拟机的部分物理节点进行迁移处理,使得该部分物理节点处于空闲状态,这样就可以关闭该部分物理节点,从而使得数据中心中开启的物理节点数量最少化,达到降低数据中心总能耗的目的。
[0052] 可选地,节能调度设备还可以包括一个预测模块,该预测模块为一个基于时间序列预测的模型,可以对虚拟机的迁移时机进行预测。例如,预测模块可以ARIMA模型。该ARIMA模型可以从数据中心获取各虚拟机的状态信息,如,请求虚拟机的速率,该ARIMA根据新虚拟机相应的状态信息可以对该新虚拟机的迁移时机进行预测,判断新虚拟机的到来的当前时刻是否处于可迁移时间段,如果判断结果为当前时刻处于可迁移时间段,节能调度设备根据节能调度算法对部署在各物理节点上的虚拟机进行迁移处理,以减小所述数据中心的总能耗。例如,存储在数据中心中的企业级应用,如web应用一般在时间上呈现某种规律,一天中,在中午12点到2点以及晚上8点到10点的web页面请求速率会达到峰值,而在凌晨0点到7点的web页面请求速率持续很低。一周中,工作日的每天的情况基本相同。该ARIMA模型可以根据该web应用的请求速率,对该web应用的请求速率进行预测。该ARIMA模型在对web应用的请求速率进行预测后,得到预测结果,该预测结果可以指示出该web应用在请求速率较低的情况下,如,凌晨0到7点,可以对web应用进行迁移。该基于时间序列进行预测的模型同样适用于其他应用本发明不仅限于web应用。本实施例中,在对部署在物理节点上的虚拟机进行迁移处理时,通过基于时间预测的ARIMA模型对待迁移的虚拟机进行预测,可以获取到待迁移虚拟机的迁移时机,节能调度设备可以根据ARIMA模型得出的预测结果,在合适的迁移时机对待迁移虚拟机进行迁移,避免因为在不合适的迁移时机迁移虚拟机,造成物理节点的负担或者虚拟机中封装的应用无法正常进行。
[0053] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。