[发明专利]一种基于容器的服务器资源供给方法在审
申请号: | 201510707729.7 | 申请日: | 2015-10-27 |
公开(公告)号: | CN105245617A | 公开(公告)日: | 2016-01-13 |
发明(设计)人: | 张斌;陈咏秋;顾永生 | 申请(专利权)人: | 江苏电力信息技术有限公司;江苏省电力公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/24 |
代理公司: | 南京汇盛专利商标事务所(普通合伙) 32238 | 代理人: | 陈扬 |
地址: | 210024 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 容器 服务器 资源 供给 方法 | ||
1.一种基于容器的服务器资源供给方法,其特征在于:该方法首先通过性能异常检测对服务器的性能进行诊断评估,找出空闲服务节点和性能异常节点,然后通过侦测、反馈、控制实现自适应调整;具体如下:
在全局应用运行平台中有一个主控节点,每台服务器上设有一个节点管理器,负责与主控节点交互;节点管理器负责收集每个服务器以及其上面运行的容器实例的运行时性能参数,并计算服务时间;主控节点周期性收集这些信息做出调整决策,并发回节点管理器执行,实现资源调整;
主控节点根据收集的信息,对容器实例和服务器的状态进行判定,构建下面四个操作:
check_idleappInstance:判断容器实例即集群节点是否空闲,通过预设资源空闲阀值的方式实现;
check_idleserver:判断服务器是否空闲,保证资源使用没有超过预定空闲阀值,并且运行在server中的每个集群节点都为空闲态;
check_bottleneckappInstance:判断容器实例是否出现瓶颈,可为逻辑资源瓶颈或物理资源瓶颈,造成物理资源的原因在于底层服务器的过载;
check_bottleneckserver:判断服务器是否出现瓶颈,如果运行在server上的任意一个容器实例出现物理资源瓶颈时,则断言,server出现了性能瓶颈;
根据check_idle和check_bottleneck操作,主控节点将集群节点和服务器划分为三个状态:空闲状态、正常状态和瓶颈状态;
主控节点周期性的通过节点管理器收集性能评估参数,并根据上述的四种操作,将每个容器实例和服务器划分到的空闲、正常和瓶颈三种状态中,并基于当前集群中每个节点的状态,主控节点供给集群资源和回收集群资源。
2.根据权利要求1所述的基于容器的服务器资源供给方法,其特征在于:主控节点通过下面的方法供给集群资源和回收集群资源:
为了方便对应用运行平台和集群进行描述,给出以下定义:
定义1:S1、S2、…、Sn为应用运行平台中的n台服务器,ssize(Si)服务器Si上运行的容器实例数量,Sij表示在第i个服务器上运行的第j个服务;
定义2:C1、C2、…、Cm为应用运行平台中平台的m个集群,ssize(Ci)表示集群Ci的容器实例数目,Cij表示集群i的第j个容器实例。使用server(Cij)表示Cij所在服务器;
1)供给集群资源
主控节点根据check_bottleneckappInstance,将集群Ci中出现了瓶颈的节点按照瓶颈类别划入到逻辑资源瓶颈集合或物理资源瓶颈集合,描述如下:
逻辑资源瓶颈集合LgBtnkSet={Ci,x1,Ci,x2,...,Ci,xr};
物理资源瓶颈集合PhBtnkSet={Ci,y1,Ci,y2,...,Ci,ys};
(1)如果那么调节该集合中集群节点的逻辑资源数量,将逻辑资源的数目提高一定的比例或者固定数目大小,容器支持动态调整逻辑资源池的大小;通过这种方式,提高集群响应能力;通过负载均衡功能,将更多的请求转移到这些新调整的节点中,降低具有物理资源瓶颈节点的负载,实现不改变集群拓扑结构的前提下提高集群负载能力;
(2)如果且此时分配给集群的资源无法承受当前负载,在宿主平台中为集群运行一个新的容器实例;首先,主控节点在应用运行平台资源池中选择合适的服务器,然后将为集群启动节点的命令发送给相应的节点管理器,节点管理器运行容器实例,完成集群应用部署,通过负载均衡将负载分配到新加入节点中,从而降低该集群每个节点负载,消除物理资源瓶颈;服务器的选择方法如下:
(21)找出平台中空闲的服务器S,并且服务器中运行的服务数量ssize(S)最小的服务器,如果存在,那么返回S;最大限度的利用已经使用的服务器资源,并减少可能出现瓶颈服务器的可能性;
(22)否则,找出平台中没有运行任何容器实例的服务器S,如果存在,返回S;此时为应用运行平台添加了新物理服务器,增加了平台的可用资源的数量,同时也提高了能源的消耗;
(23)否则,返回NULL,即平台不能提供更多的服务器资源,导致平台不足以支持新的资源请求,此时,整个平台处于过载状态;
(3)如果且此时集群的各个节点都处于正常状态,不存在物理资源或者逻辑资源的瓶颈,不需要增加资源,但是有可能需要使用下面的子元素收缩方法减少资源应用的资源消耗。
上述的调整方法以容器集群为调整的单位,进行资源分配时考虑到整个应用运行平台,从全局的角度进行资源的分配,将应用较为均匀的分配到每个服务节点上;但是在需要资源时,并不是直接添加新的物理服务器,而是使用现有的空闲的物理服务器,只有当平台达到资源饱和时,才需要提供新的服务器资源来容纳新的集群节点,从而减少服务器使用量,降低能源消耗;
2)回收集群资源
为集群Ci中每个集群节点应用check_idleappInstance操作,将所有空闲的集群节点放入到集合:
空闲集群节点集合IdleSet={Ci,j1,Ci,j2,...,Ci,js}
当一个容器集群的空闲节点超过一定比例时,触发资源收缩动作,关闭部分空闲节点,通过负载均衡的作用,将负载转发给同集群其它节点;因此若一次关掉过多节点,可能导致集群又出现性能瓶颈,简单的,采用逐个关闭空闲节点的策略,通过多次集群收缩到达正常状态;
收缩节点选择算法如下:
假设Ci,q是任意一个属于IdleSet的元素,它所在服务器server(Ci,q)可以为任何一种状态,根据其状态采取不同的选择方法:
(1)如果server(Ci,q)出现了资源瓶颈,那么通过主控节点关闭集群节点Ci,q,减少server(Ci,q)上的资源消耗,使其可以逐步进入正常状态;
(2)如果所有server(Ci,q)都未出现性能瓶颈,那么找出所有处于空闲状态的server(Ci,q)),它们服务器构成集合M,然后在M中找出服务器m,其中ssize(m)最小,那么通过主控节点关闭m中属于集群Ci的空闲节点;从而逐步减少平台使用的服务器数量,降低能源消耗;
(3)若所有Ci,q所在服务器都正常运行,那么选择服务器m,使ssize(m)最大,通过主控节点关闭运行在m上属于Ci,空闲节点,减少该服务器中集群节点数目,降低出现性能瓶颈的可能性;
3)通过上述资源调整算法,使应用运行平台中各集群尽量利用已使用服务器,减少对服务器需求,实现平台资源的“按需供给”,以合适的资源集合完成用户请求处理;在对集群进行调整之后使用自适应的负载均衡动负载分布进行自适应的调整。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏电力信息技术有限公司;江苏省电力公司,未经江苏电力信息技术有限公司;江苏省电力公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510707729.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:适用于法兰盘双枪同时焊接的辅助装置
- 下一篇:一种机架结构的焊接装置