一种OpenStack云平台中负载均衡器的高可用的实现方法技术

技术编号:17366185 阅读:203 留言:0更新日期:2018-02-28 18:08
一种OpenStack云平台中负载均衡器的高可用的实现方法,包括:在OpenStack云平台中划分出两个以上的可用域,在每个可用域中设置两个以上的节点,在一个可用域中,创建至少一种负载均衡器,该种负载均衡器针对不同节点的lbaas‑agent分别创建一个,不同节点之间的同种负载均衡器相互建立通信;每个负载均衡器均设有为QR端口和HA端口,HA端口负责可用域的内部通信,用于监视本体负载均衡器和该可用域内其它LB节点上的同种负载均衡器的工作状态;QR端口负责向该可用域外的对外通信。本发明专利技术方法通过多个负载均衡器执行同一业务服务,可减少单个负载均衡器对整个业务的影响,降低风险,且通过划分可用域实现隔离,提高了通信系统安全性和可靠性,以及能降低系统的维护难度。

A high available implementation method for load equalizer in OpenStack cloud platform

【技术实现步骤摘要】
一种OpenStack云平台中负载均衡器的高可用的实现方法
本专利技术属于通信
,具体涉及一种OpenStack云平台中负载均衡器的高可用的实现方法。
技术介绍
为了满足日益增长的业务需求量,通信服务商减少成本,往往会对同一种业务搭建多台服务器,当大量客户端向服务端发送请求时,可以通过负载均衡器将流量平均分发至每台服务器,对于客户端来说是直接访问负载均衡器,因此只需要获取负载均衡器的VIP(virtualIP,虚拟IP地址),并不需要获取所有服务器的IP地址,而负载均衡器则需要获取所有服务器的IP地址。这种方式的优势在于当服务器的数量发生变化或服务器需要进行变更时,不需要中断业务,另外由于同一时间多台服务器出错概率远远小于单台服务器出错概率,因此也提高了业务的健壮性。由于所有的流量需要通过负载均衡器,因此对负载均衡器的要求比较高,负载均衡器的高可用对整个业务的起到至关重要的作用。OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack云平台中的负载均衡器(LbaaSv2),其完整的负载均衡器结构图框架如图1所示,其中:1)LoadBalancer(负载均衡器):起到分发流量的作用,正常工作的负载均衡器会有一个VIP,客户端可通过VIP访问相应的业务;2)Listener(监听器):用来监听负载均衡器的端口,因此同一个负载均衡器不同的监听器的端口号不能发生重复;3)Pool(资源池):是多个Member的集合;4)Member(成员):其作用是记录单个服务器的IP地址,如果服务器IP地址发生变化,需要调整相应的Member;5)HealthMonitor(健康检查器):其作用是定期对Member所对应的服务器进行健康检查,对出现问题的服务器反馈给Pool,负载均衡器对出现问题的Member不进行流量的分发。在原生态的OpenStack云平台中,节点、lbaas-agent(负载均衡服务代理)、负载均衡器之间的关系如图2所示,lbaas-agent提供管理负载均衡器的服务,而一个节点中往往只有一种lbaas-agent服务。另外,不同节点的lbaas-agent互不影响,其各自lbaas-agent所创建的负载均衡器也不一样。从上述的关系图可以看出,一种服务只通过单个负载均衡器进行流量的分发,并且由于不同的lbaas-agent没有“标签”,对于云平台来讲无法区别,这种方式服务运行的过程中会造成如下的问题:1)单个负载均衡器一旦出现问题,整个业务无法继续使用;2)如果云平台出现问题,而需要调试的节点中存在运行的负载均衡器,则由于无法停止该负载均衡器的工作状态,对问题的查找会具有一定的困难性;3)在创建一个需要高性能的负载均衡器和低性能的负载均衡器的时候,由于云平台无法区分不同类型的lbaas-agent,会造成比较严重的资源浪;4)对于不同安全级别的负载均衡器,由于在创建的时候无法指定将负载均衡器创建在哪个lbaas-agent中,因此在安全方面存在隐患。
技术实现思路
针对现有技术中存在的问题,本专利技术的技术目的是提供针对OpenStack云平台的负载均衡服务(Loadbalanceasaservice,LBass),提供一种高可用的实现方法,其技术方案为:一种OpenStack云平台中负载均衡器的高可用的实现方法,其特征在于,包括:在OpenStack云平台中划分出两个以上的可用域,按照所需安全级别或性能标准的划分,将待创建的负载均衡器部署在不同的可用域中;在每个可用域中设置两个以上的可启动lbaas-agent的节点,即每个可用域中包括两个以上的lbaas-agent;设承担同一个业务的为同一种负载均衡器,在一个可用域中,创建至少一种负载均衡器,该种负载均衡器针对不同节点的lbaas-agent分别创建一个,即在该可用域中不同节点之间,有多个负载均衡器承担同一个业务,且不同节点之间的同种负载均衡器相互建立通信;每个负载均衡器设有两个连接网络的端口,为QR端口和HA端口,所述HA端口自带IP,为负责可用域内部通信的端口,用于监视本体负载均衡器和该可用域内其它LB节点上的同种负载均衡器的工作状态;所述QR端口的IP为本体负载均衡器的VIP,为负责可用域对外通信的端口。在上述方案的基础上,进一步改进或优选的方案还包括:在所有的lbaas-agent中安装Keepalived,HA端口通过keepalivedconntracked服务了解其它负载均衡器和本体负载均衡器的工作状态。每个可用域中,只允许一个节点启动lbaas-agent提供服务时,只有启动lbaas-agent节点的负载均衡器的QR端口显示该负载均衡器的VIP;当该节点的负载均衡器出现故障后,关闭故障负载均衡器的QA端口,启动另一个节点的lbaas-agent,并将该节点与故障负载均衡器同种的负载均衡器的QR端口的IP设置成故障负载均衡器的VIP地址。同一负载均衡器上的HA端口和QR端口使用同一张物理网卡;同一可用域中的QR端口和HA端口使用共同的外部的SWITCH交换机进行转发。在可用域中,创建负载均衡器的过程为:1)判断负载均衡服务集群中是否存在HA网络,是则进入步骤2),否则创建HA网络后,再进入步骤2);2)获取lbaas-agent的列表agents;3)根据列表agents,针对每个需要创建的负载均衡器先分别创建HA端口,并将HA端口与HA网络进行关联;4)针对每种需要创建的负载均衡器分别分配一个vr_id,vr_id是用于识别不同节点中的负载均衡器是否为承担同一业务负载均衡器的标识,并将HA端口与vr_id进行关联;5)在每个lbaas-agent中,创建负载均衡器,并将负载均衡器与对应的HA端口和vr_id进行关联,QR端口在创建负载均衡器时自动产生;6)对创建完毕的负载均衡器关联和启动Keepalive服务。有益效果:1)多个负载均衡器执行同一业务服务,可以减少单个负载均衡器对整个业务的影响,降低风险,提高通信系统的可靠性;2)多个agent中的负载均衡器做了高可用,可对单个节点进行调试或者服务的重启等操作,降低维护难度;3)通过可用域的划分可以对不同的agent进行特定的划分,例如高性能的agent创建高性能的负载均衡器,且可以实现隔离,提高通信系统安全性。附图说明图1为OpenStack云平台创建负载均衡器的结构图;图2为原生态OpenStack云平台中,节点、lbaas-agent、负载均衡器之间的关系示意图;图3为实施例1中对负载均衡器进行高可用配置之后其位置关系图;图4为实施例2中负载均衡器实现高可用的工作原理图;图5为创建高可用的负载均衡器的流程图。具体实施方式为了进一步阐明本专利技术的技术方案和工作原理,下面结合附图与具体实施例对本专利技术做进一步的介绍。如图1至图5所示,在构建负载均衡服务集群时,为了提高安全性和做到流量分散,通过划分可用域的方式可为不同的agent放上对应的标签,可用域AZ(availablezone)为OpenStack提供一种划分区域进行管理的机制,在提高负载均衡器高可用方面,可以通过创建多个负载均衡器共同承担同一个业务的方式进行,具体设本文档来自技高网
...
一种OpenStack云平台中负载均衡器的高可用的实现方法

【技术保护点】
一种OpenStack云平台中负载均衡器的高可用的实现方法,其特征在于,包括:在OpenStack云平台中划分出两个以上的可用域,按照对所需安全级别或性能标准的划分,将待创建的负载均衡器部署在不同的可用域中;在每个可用域中设置两个以上的可启动lbaas‑agent的节点,即每个可用域中包括两个以上的lbaas‑agent;设承担同一个业务的为同一种负载均衡器,在一个可用域中,创建至少一种负载均衡器,该种负载均衡器针对不同节点的lbaas‑agent分别创建一个,即在该可用域中不同节点之间,有多个负载均衡器承担同一个业务,且不同节点之间的同种负载均衡器相互建立通信;每个负载均衡器设有两个连接网络的端口,为QR端口和HA端口,所述HA端口自带IP,为负责可用域内部通信的端口,用于监视本体负载均衡器和该可用域内其它LB节点上的同种负载均衡器的工作状态 ;所述QR端口的IP为本体负载均衡器的VIP,为负责该可用域对外通信的端口。

【技术特征摘要】
1.一种OpenStack云平台中负载均衡器的高可用的实现方法,其特征在于,包括:在OpenStack云平台中划分出两个以上的可用域,按照对所需安全级别或性能标准的划分,将待创建的负载均衡器部署在不同的可用域中;在每个可用域中设置两个以上的可启动lbaas-agent的节点,即每个可用域中包括两个以上的lbaas-agent;设承担同一个业务的为同一种负载均衡器,在一个可用域中,创建至少一种负载均衡器,该种负载均衡器针对不同节点的lbaas-agent分别创建一个,即在该可用域中不同节点之间,有多个负载均衡器承担同一个业务,且不同节点之间的同种负载均衡器相互建立通信;每个负载均衡器设有两个连接网络的端口,为QR端口和HA端口,所述HA端口自带IP,为负责可用域内部通信的端口,用于监视本体负载均衡器和该可用域内其它LB节点上的同种负载均衡器的工作状态;所述QR端口的IP为本体负载均衡器的VIP,为负责该可用域对外通信的端口。2.根据权利要求1所述的一种OpenStack云平台中负载均衡器的高可用的实现方法,其特征在于:在所有的lbaas-agent中安装Keepalived,HA端口通过keepalivedconntracked服务了解其它负载均衡器和本体负载均衡器的工作状态。3.根据权利要求1所述的一种OpenStack云平台中负载均衡器的高可用的实现方法,其特征在于:每个可用域中,只允许一个节点启动lbaas-agent提供服务时,只有启动...

【专利技术属性】
技术研发人员:李阳徐超超于治国巨枫王嵘
申请(专利权)人:南京易捷思达软件科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1