一种数据中心综合管理系统云资源调度方法与流程

文档序号:14950516发布日期:2018-07-17 22:26阅读:232来源:国知局

本发明涉及计算机领域,特别涉及一种数据中心综合管理系统云资源调度系统及方法。



背景技术:

模块化数据中心(moduledatacenter,mdc)是基于云计算的新一代数据中心部署形式,为了应对云计算、虚拟化、集中化、高密化等服务器发展的趋势,其采用模块化设计理念,最大程度的降低基础设施对机房环境的耦合。集成了供配电、制冷、机柜、气流遏制、综合布线、动环监控等子系统,提高数据中心的整体运营效率,实现快速部署、弹性扩展和绿色节能

随着大数据信息行业的飞速发展,数据中心的发展也进入到一个新的阶段。管理系统是数据中心内部配置的重要组成部分。传统的管理系统主要已动环监控为主,具备多种数据接口,可接入ups、配电柜、精密空调、门禁、温湿度传感器、烟雾探测器、温感探测器、漏水传感器、翻转天窗及网络摄像机等多种监控对象。

当前,随着云计算、大数据和互联网的快速发展,信息化的基础设施发生了根本转变,监控管理的需求从一些单独的系统要求转化为整体平台化、统一平台、统一管理的系统要求。各项应用服务器不再是单独的计算模块,而是通过云计算、大数据等平台将计算、存储资源统一起来,跨越数据中心范围形成规模庞大、统一监控与管理的资源池,因此需要能够监控大规模、分布式、跨地域的虚拟资源与物理资源的统一监控系统。

数据中心基础设施是云计算架构的核心,它提供给用户对包括cpu、内存、存储、网络等计算资源的使用,有效减轻了it运维的成本和复杂性。云计算架构具有分布式、跨网络、资源种类多的特点,随之而来为资源管理方面带来了前所未有的挑战,相比于传统服务器集群架构,除了对web服务器、应用服务器等物理资源的管理,还需要对cpu、内存、存储、网络、虚拟机等虚拟资源的统一管理。

云计算对于用户来讲,具有如下特征

(1)按需自服务(on-demandself-service):云计算能够为用户快速提供服务、资源,并且用户能够根据自身需求来使用、部署、交回云资源,服务云供应商可以根据用户需求调度、回收各类资源;

(2)资源池(resourcepooling):云计算中的iaas层维护所有资源虚拟化后组成的资源池,通过多租户形式根据需求将各类资源分配给用户,是虚拟化层上的又一层抽象;

(3)网络访问(networkaccess):云计算中所有的服务都是通过internet提供,用户无需关心资源部署形式、位置就可以通过网络方便获取所需资源;

(4)快速弹性(rapidelasticity):云计算的服务供应商能够根据用户需求快速弹性地部署、释放、回收资源和服务,根据需求动态地调度资源,对用户而言,资源是无限的,任何需求都可以随时得到满足;

(5)可计量服务(measuredservice):按需自服务的必然要求就是按需计费,云计算服务提供商能够依照用户资源和服务的使用情况按需计费,当然这些都是抽象的资源,如带宽、存储、cpu等。

根据云计算提供服务的类型,将云计算的架构分为三层(iaas、paas、saas),iaas(infrastructureasaservice)层,基础设施即服务。

iaas层的核心技术是虚拟化,它屏蔽底层的物理资源,在虚拟化技术的基础上为paas层提供虚拟机服务。该层能够通过使用大量廉价的计算机的集群提供高可靠、高性能的大规模计算能力。该层是整个云计算系统的基础,所有的上层服务都是基于iaas层的虚拟化来开展的,该层也是云计算系统中最难实现的部分。

paas(platformasaservice)层,平台即服务。paas层核心技术是并行计算,它能够为用户提供软件开发平台和工具,如java、python、.net,在该层开发的应用程序部署到iaas层,以saas层的应用程序模式提交给用户。

saas(softwareasaservice)层,软件即服务。saas层给用户提供租用形式的软件服务,用户无需购买软件即可使用部署在iaas层上的应用程序。用户无需关心相关的网络、操作系统、存储等,即可获得软件系统。

虚拟化(virtualization)技术为iaas层的关键技术,同时是整个云计算系统核心的组成部分,是云计算系统的基础。对于虚拟化,可以理解为资源的抽象。通过虚拟化技术,可以屏蔽资源属性之间差异,用统一的接口使用、维护虚拟后的资源。其实质就是一种隔离了软件和硬件中间件技术,屏蔽下层差异,为上层提供统一接口服务。

服务器虚拟化是将一台服务器虚拟化成为多个来使用,因此,服务器虚拟化技术是iaas层的基础。通常在一台物理主机上可运行多台虚拟机,通过虚拟化得到的多台虚拟机之间具有独立性,与其他虚拟机完全隔离,保证虚拟机的安全及可靠,服务器虚拟化主要是针对物理服务器的cpu、memory、disk、设备与i/o等资源进行抽象。其中,cpu虚拟化将物理cpu抽象成为数个虚拟cpu,多台虚拟cpu可以提高物理cpu的使用率;内存虚拟化将物理内存抽象成多个虚拟内存供多台虚拟机共享,每台虚拟机彼此独立,拥有隔离的内存空间;设备与i/o虚拟化将物理主机真实设备抽象为多个虚拟设备,用于多台虚拟机i/o请求与设备的访问。

在服务器虚拟化的环境中,如果服务器出现了故障或者系统维护需要服务器停止服务一段时间,如何保证虚拟机的工作呢?虚拟机的迁移技术完美的解决了上述问题。在某台服务器发生故障的情况下,及时将其上运行的虚拟机迁移到其他服务器上,提高系统的容错能力;当系统服务器不能满足需求,需要更新换代新的服务器时,将虚拟机迁移到新的服务器上,能够提高系统的负载均衡能力同时提升用户的体验,减少了系统升级的困难。因此,虚拟机迁移技术是虚拟化技术中关键的一环。

衡量虚拟机迁移的主要指标有三个:迁移时间、停机时间、对应用程序的影响。其中,迁移时间指的是从迁移开始,到迁移结束所用的时间。停机时间指的是在迁移的过程中,参与的所有主机同时不能使用的时间。对应用程序的影响指的是被迁移对象上运行的应用程序受此次迁移的影响程度。在迁移的过程中,用户体验会比较差,因此迁移时间和停机时间的长短是衡量一个迁移工具性能的重要指标。

虽然在技术方面讲,云计算日益成熟,而且云计算模式给用户带来便利、给企业带来收益,但随着云基础设施的不断增加,由于资源利用不合理等原因导致数据中心过度的能源消耗、二氧化碳排放量过高等问题也突显出来。过度的能耗意味着云供应商利润的降低,而二氧化碳导致的环境问题也不容小觑。

因此,如今云计算目前面临的主要问题之一就是如何实现云计算中资源的高效利用和能源的有效节约。其中很关键的技术就是如何进行资源的调度,在需求量增加的情况时动态调度,保证服务的质量,同时在需求减少的情况下动态调度,关闭闲置的物理机器,节省能耗。

云计算的迅速发展,促使了云计算资源的调度算法取得很大突破。但大多数策略都是为了提高云数据中心资源的利用率、减少数据中心的能量消耗、维持系统的稳定性。分析开源云平台openstack现有的调度策略,发现了其中的不足,并针对虚拟机调度,提出了一种动态的调度策略,提高云平台的资源利用率并达到节能的目的。

在使用openstack搭建的云环境中,资源池中分布着很多计算节点,当有用户请求创建实例的时候,就会面临将虚拟机实例创建在那个计算节点上的问题。在openstack中,nova-scheduler(调度器)负责在资源池中选择合适的节点创建虚拟机实例。

目前,nova中实现了chancescheduler(随机调度器)、filterscheduler(过滤调度器)、cachingscheduler(缓存调度器)。不同的调度器不能共存,需要在nova的配置文件中指定scheduler_driver选项,默认的是filterscheduler。

为了适应集群的工作环境,openstack中引入了动态的资源调度策略,支持两种虚拟机迁移策略:冷迁移和热迁移。

冷迁移即静态迁移,指的是在虚拟机关机的状态下,将虚拟机从一个计算节点简单的搬运到另外一个节点上,适用于用户对可用性要求不高的情况。

热迁移即动态迁移,是指在保证虚拟机上的服务可用情况下,将虚拟机从一个计算节点迁移到另外的节点上,迁移过程中的停机时间十分短暂,用户感觉不到服务的中断。

虽然openstack中引入了虚拟机迁移策略,但是该策略只有在人工触发条件下才会使用。也就是说,openstack云环境的管理员要时刻关注数据中心中各个计算节点的运行情况,依据工作经验,手动的触发虚拟机的迁移工作。显然这种调度方式并不能满足系统的需求。而且,选择哪一台虚拟机迁出,该虚拟机迁往何处,可以根据管理员的判断来决定,对系统整体的运行影响也未可知。因此,需要一种完善的动态调度机制来确定自动识别调度的时机、调度的策略,保证系统的正常服务。



技术实现要素:

本发明是通过如下技术方案实现的,本发明提出了一种数据中心综合管理系统云资源调度系统,具体包括监控预测模块、调度模块、迁移模块、调度控制器,监控预测模块、调度模块和迁移模块通过调度控制器来协调,与openstack组件一起工作,共同完成系统的动态调度。

优选的,监控预测模块包括周期性监控数据收集器(datacollector)和预测器(predictor),所述周期性数据收集器主要用于对openstack集群环境中物理主机的资源使用情况做周期性的收集,预测器对资源使用情况进行分析、预测,进而选择合适时机触发虚拟机的迁移。

优选的,所述调度模块由两个模块构成:目标虚拟机选择器(vmselector)、调度服务模块(nova-scheduler)。

本发明还提供一种针对数据中心综合管理系统云资源的调度方法,包括如下步骤:

(1)dynamicscheduler服务启动,schedulercontroller开始周期性的向datacollector请求资源使用情况的数据;

(2)datacollector收到请求,响应请求获取系统中物理主机资源使用的历史数据,并将数据返回;

(3)schedulercontroller得到历史数据,向predictor请求数据分析和预测;

(4)predictor收到schedulercontroller请求,分析数据并返回预测结果;

(5)schedulercontroller得到预测结果,如果不需要进行虚拟机迁移,本周期内的调度工作结束,schedulercontroller回到最初状态,等待下一周期的动态调度;

如果需要进行虚拟机迁移,将超载或者欠载物理主机的信息发送给vmselector,请求选择物理主机上的一台或所有虚拟机作为目标虚拟机;

(6)vmselector收到请求,分析物理主机和主机上虚拟机的资源使用情况,根据物理主机的超出阈值类型,进行目标虚拟机的选择,并将决策的目标虚拟机vm返回给schedulercontroller;

(7)schedulercontroller获得目标虚拟机vm集合,依次将每一台vm信息发送给migrationtrigger,请求开始调度;

(8)migrationtrigger收到schedulercontroller触发迁移的命令,调用虚拟机迁移接口;

(9)通过nova-scheduler过滤器和称重环节,选择目的主机,调用nova-compute模块完成一次虚拟机迁移动作,并将结果返回给schedulercontroller;

如果在(4)中得到的分析结果包含了多台物理主机,则重复(5)到(9)环节,直到所有的需要调度的物理主机迁移动作的完成。

由此可见,本发明定义了数据中心综合管理系统云资源调度方法,定义了一个云资源调度框架,定义了调度控制器功能模块,定义了云资源系统监控预测功能模块;定义了数据中心云资源调度功能模块,定义了数据中心综合管理系统迁移功能模块,实现了一种数据中心综合管理云资源调度的方法。

附图说明

图1本发明一实施例提供的数据中心综合管理系统云资源调度系统框图

具体实施方式

下面结合附图对本发明的较佳实施例进行详细阐述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

一种数据中心综合管理系统云资源调度方法的框架如附图1所示。

框架的具体实施过程如下:首先,定义说明如下,

cpuusage:cpu利用率;

memusage:内存的利用率;

bandusage:带宽的利用率。

数据中心综合管理系统云资源需要关注的资源主要有cpu利用率、内存利用率、带宽利用率、电量消耗。电量消耗主要取决于cpu的使用情况,cpu利用率越高,其运转频率会上涨,电量消耗也越多;反之,cpu利用率越低,其运转频率会下降,电量消耗也越少。因此,电量消耗可以归结到cpu利用率上。最终需要监控的资源为cpu利用率、内存利用率和带宽利用率。

数据中心综合管理系统云资源调度方法对以上的监控的资源设置上下的门限值。当的物理主机的cpuusage上限为80%,下限为15%。也就是说,当集群中某台物理主机的cpuusage高于80%的时候,物理主机的cpu负载过高,要从该物理主机上选择一部分虚拟机迁出,减小物理主机cpuusage,防止违背sla的情况发生;反之,当集群中某台物理主机的cpuusage低于15%,物理主机的cpu负载过低,就需要将该物理主机中所有虚拟机迁出,并将让主机进入睡眠模式,以减少能耗。

由于在物理主机上的所有虚拟机共享物理资源,其工作负载是动态的,可能会导致物理主机的cpuusage瞬时峰值或者瞬时低谷,这样就有可能超出预先设定的阈值,触发了不必要的虚拟机迁移。因此,不能简单的以一次监控值来作为是否触。

针对数据中心综合管理系统云资源调度方法的设计方案如下:

系统的动态调度(dynamicscheduler)服务也在该层工作,dynamicscheduler作为nova的子模块,通过与openstack已有的服务交互,达到动态调度的目的。为了实现动态调度,dynamicscheduler又包含了三个模块:监控预测模块、调度模块、迁移模块。这三个模块通过调度控制器(schedulercontroller)来协调,与openstack组件一起工作,共同完成系统的动态调度。

由于系统的动态调度是基于历史数据的分析结果的,系统必须能够周期性的获取物理主机资源使用的数据,

因此,系统中集成了监控预测模块,该模块又分为两个小模块:周期性监控数据收集器(datacollector)和预测器(predictor)。

周期性数据收集器主要用于对openstack集群环境中物理主机的资源使用情况做周期性的收集。获得了这些历史数据,预测器就可以对资源使用情况进行分析、预测,进而选择合适时机触发虚拟机的迁移。

调度模块的主要功能就是调度环节中目标虚拟机、目的主机的选取。因此,调度模块也是有两个模块构成:目标虚拟机选择器(vmselector)、调度服务(nova-scheduler)。

对于迁移模块,就是对调度模块决策的迁移策略进行执行,该模块由迁移触发器(migrationtrigger)开始虚拟机的迁移工作。

三个模块相互独立,在调度控制器的协调下完成动态迁移,schedulercontroller控制整个动态调度的生命周期,具体流程如下:

(1)dynamicscheduler服务启动,schedulercontroller开始周期性的向datacollector请求资源使用情况的数据;

(2)datacollector收到请求,响应请求获取系统中物理主机资源使用的历史数

据,并将数据返回;

(3)schedulercontroller得到历史数据,向predictor请求数据分析和预测;

(4)predictor收到schedulercontroller请求,分析数据并返回预测结果;

(5)schedulercontroller得到预测结果,如果不需要进行虚拟机迁移,本周期内的调度工作结束,schedulercontroller回到最初状态,等待下一周期的动态调度;

如果需要进行虚拟机迁移,将超载或者欠载物理主机的信息发送给vmselector,请求选择物理主机上的一台或所有虚拟机作为目标虚拟机;

(6)vmselector收到请求,分析物理主机和主机上虚拟机的资源使用情况,根据物理主机的超出阈值类型,进行目标虚拟机的选择,并将决策的目标虚拟机vm返回给schedulercontroller;

(7)schedulercontroller获得目标虚拟机vm集合,依次将每一台vm信息发送给migrationtrigger,请求开始调度;

(8)migrationtrigger收到schedulercontroller触发迁移的命令,调用虚拟机迁移接口;

(9)通过nova-scheduler过滤器和称重环节,选择目的主机,调用nova-compute模块完成一次虚拟机迁移动作,并将结果返回给schedulercontroller。

如果在(4)中得到的分析结果包含了多台物理主机,则重复(5)到(9)环节,直到所有的需要调度的物理主机迁移动作的完成。至此,一次动态调度工作完成。

本发明是对数据中心综合管理系统云资源调度平台管理和开发技术的深入研究和分析,设计了基于数据中心综合管理系统云资源调度平台。在open-stack平台基本管理操作的基础上,设计开发了云资源调度功能模块。通过相关测试,验证了数据中心综合管理系统云资源调度平台在资源管理、资源迁移功能方面具有一定的先进性和应用价值。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1