CN102316136A - 一种双控制器系统的负载均衡方法 - Google Patents
一种双控制器系统的负载均衡方法 Download PDFInfo
- Publication number
- CN102316136A CN102316136A CN2010102200057A CN201010220005A CN102316136A CN 102316136 A CN102316136 A CN 102316136A CN 2010102200057 A CN2010102200057 A CN 2010102200057A CN 201010220005 A CN201010220005 A CN 201010220005A CN 102316136 A CN102316136 A CN 102316136A
- Authority
- CN
- China
- Prior art keywords
- controller
- double
- cpu
- controller system
- local network
- 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.)
- Pending
Links
Images
Abstract
本发明公开了一种双控制器系统的负载均衡方法,特别是公开了一种使用公用IP地址的双控制器系统的负载均衡方法,该方法由于通过先比较两个控制器上的负载状况,然后进行负载均衡处理并同步信息,因此既可以解决现有技术的双控制器系统中不同MAC地址、相同IP地址形成冲突的问题,还能够根据网络对单个控制器的CPU占用率及CPU空闲率,部分地进行失效备援,从而实现了双控制器系统的高能效虚拟化服务。
Description
技术领域
本发明涉及一种双控制器系统的负载均衡方法,特别是涉及一种使用公用IP地址的双控制器系统的负载均衡方法。
背景技术
计算机集群简称集群(Cluster),是一起运作以提供高可用性资源的许多服务器的集合。就像冗余部件可以使用户免于硬件故障一样,集群技术则可以使用户免于整个系统的瘫痪以及操作系统和应用层次的故障。一个服务器集群包含多台拥有共享数据存储空间的服务器,每台服务器通常被称为节点(node),各服务器之间通过局域网进行互相连接;当其中一台服务器发生故障时,它所运行的应用程序将交由与之相连的服务器自动接管。集群技术不仅仅能够提供更长的运行时间,它在尽可能地减少与既定停机有关的停机时间方面同样有着重要意义。例如,如果使用集群,用户可以在关闭一台服务器的同时,不必与用户断开即可进行应用、硬件、操作系统的“流动升级”。集群系统通过功能整合和故障过渡技术实现了系统的高可用性和高可靠性并且集群技术还能够提供相对低廉的总体拥有成本和强大灵活的系统扩充能力。
目前在计算机虚拟化集群中,双控制器(dual controller)系统作为一个从(slave)节点,统一由主(master)节点来分配负载以达到负载均衡(loadbalancing);在一个从节点的双控制器,各自又把自己本地的网卡(NetworkInterface Card,简称NIC)绑定(bonding)。上述两种方法,均提供了高可用性、高能效的虚拟化服务。
在双控制器节点中,两个控制器彼此的网卡相对独立,每个控制器的网络设备至少有一个IP地址,以供用户分别访问,当其中一个控制器发生故障时,另一个控制器可提供失效备援(failover),失效备援为系统备援能力的一种,当系统中一项设备失效而无法运行时,另一项设备可自动接替原失效设备所执行的工作。如此便实现了高可用性的虚拟化服务。但是,现有技术中当用户访问系统并发出任务请求时,主节点根据特定的算法,选择承担该任务的控制器,同一节点上的两个控制器之间仅存在失效备援的关系。当所有用户都访问双控制器节点中的某一个控制器时,该控制器满负载而另一个控制器却空闲,这样会导致负载失衡,出现热点。
此外,理论上,不同MAC(英文全称:Media Access Control,中文名称:介质访问控制)地址(MAC地址,或称为硬件地址,用来定义网络设备的位置。一个主机会有一个IP地址,而每个网络设备会有一个专属于它的MAC地址,MAC地址是烧录在网卡内的)、相同IP地址,会形成冲突,致使TCP/IP网络无法通讯。因为,当某客户端主机想访问某IP地址却发现ARP(英文全称:Address Resolution Protocol,中文名称:地址解析协议,数据包在节点之间的移动都是由ARP负责将IP地址映射到MAC地址上来完成的)缓存表中没有对应的MAC地址时,会进行广播问询:这个IP地址的MAC地址是什么?而其将得到来自不同主机的不同MAC地址的答复,因此客户端主机将无所适从,无法通讯。
发明内容
为了解决上述现有技术中所存在的问题,本发明的目的在于提供一种使用公用IP地址的双控制器系统的负载均衡方法,该方法能够使一个使用公用IP地址的双控制器系统节点上的不同控制器之间的负载均衡,并解决不同MAC地址、相同IP地址的冲突问题,从而实现了双控制器系统的高能效虚拟化服务。
本发明所提供的一种双控制器系统的负载均衡方法,包括以下步骤:
当双控制器系统接收到访问者对控制器MAC地址的ARP问询时,采集同一双控节点的两个控制器的CPU占用率;
指定CPU占用率较小的一个控制器响应ARP问询并进行登记,而另一控制器对ARP问询不予响应;
当双控制器系统接收到访问者的IP数据包时,判断本地网络连接的数量是否唯一,若连接数量唯一,则不移转至另一控制器而直接处理数据包,若连接数量不唯一,则判断本地网络的控制器的CPU占用率是否超过一个预定阈值,如果未超过该阈值,则直接处理数据包;
如果本地网络的控制器的CPU占用率超过该阈值时,则检测另一控制器的CPU空闲率是否低于一个预定阈值,如果未低于该阈值,则通过本地网络的控制器直接处理数据包;
如果另一控制器的CPU空闲率低于该阈值,则令本地网络的控制器对当前访问者的IP数据包不再应答,并通知另一控制器查验(ping)访问者;
当访问者接收到另一控制器的查验(ping)包后,将其ARP缓存表中与公用IP地址相对应的MAC地址更新为另一控制器的MAC地址。
上述本发明所提供的双控制器系统的负载均衡方法,由于先比较两个控制器上的负载状况,然后进行负载均衡处理并同步信息,因此既可以解决现有技术的双控制器系统中不同MAC地址、相同IP地址形成冲突的问题,还能够根据网络对单个控制器的CPU占用率及CPU空闲率,部分地进行失效备援,从而实现了双控制器系统的高能效虚拟化服务。
附图说明
图1为本发明的双控制器系统的负载均衡方法所运行的双控制器系统的系统架构示意图;
图2为本发明的双控制器系统的负载均衡方法的步骤流程图。
具体实施方式
请参考图1,图1为本发明的双控制器系统的负载均衡方法所运行的双控制器系统的系统架构示意图。如图1所示,由于本发明在同一双控制器节点的两个控制器C0、C1之间加入了流量统计模块10、负载分配模块20和通信模块30,因此,当接受任务时,系统会先比较两个控制器C0、C1上的负载状况,然后进行负载均衡处理并同步信息。
在双控制器系统中,控制器C0、C1都有自己的MAC地址,即便在同一个控制器的单独控制下,由于绑定模式的不同,也允许有一个以上MAC地址存在的情况。因此,本发明的目的之一是首先要解决不同MAC地址、相同IP地址的冲突问题。
网络通讯双方是MAC地址找MAC地址,IP地址只是抽象的名字。通讯双方的ARP缓存表中,MAC地址与IP地址是一一对应的。也就是说,每一个双控制器系统的访问者,在同一时刻,只知道双控制器系统的一个控制器的网络设备的MAC地址,此MAC地址直到有网络设备发生更新时才会变化,其与公用IP地址是相对应的。
那么,当访问者最初通过ARP缓存表问询MAC地址时,先让双控制器系统根据两个控制器的CPU占用程度的比较结果,指定CPU占用程度较少的一方控制器响应ARP问询,而另一控制器对ARP问询不予理睬,从而避免了不同MAC地址、相同IP地址的冲突。
图2为本发明的双控制器系统的负载均衡方法的步骤流程图。如图2中所示的步骤流程图可知,本发明所提供的一种双控制器系统的负载均衡方法,包括以下步骤:
当双控制器系统接收到访问者对控制器MAC地址的ARP问询时,采集同一双控节点的两个控制器C0、C1的CPU占用率(步骤200);
指定CPU占用率较小的一个控制器C0响应ARP问询并进行登记,而另一控制器C1对ARP问询不予响应(步骤201);
当双控制器系统接收到访问者的IP数据包时(步骤202),判断本地网络连接的数量是否唯一(步骤203),若连接数量唯一,则不移转至另一控制器C1而直接处理数据包(步骤205),若连接数量不唯一,则判断本地网络的控制器C0的CPU占用率是否超过一个预定阈值(步骤204),如果未超过该阈值,则直接处理数据包(步骤205);
如果本地网络的控制器C0的CPU占用率超过该阈值时,则检测另一控制器C1的CPU空闲率是否低于一个预定阈值(步骤206),如果未低于该阈值,则通过本地网络的控制器C0直接处理数据包(步骤205);
如果另一控制器C1的CPU空闲率低于该阈值,则令本地网络的控制器C0对当前访问者的IP数据包不再应答,并通知另一控制器C1查验(ping)访问者(步骤207);
当访问者接收到另一控制器C1的查验(ping)包后,将其ARP缓存表中与公用IP地址相对应的MAC地址更新为另一控制器C1的MAC地址(步骤208)。
通过上述本发明的双控制器系统的负载均衡方法,系统管理员可设定一个网络的单个控制器C0的CPU占用率阈值,例如为80%,并可再设定另一控制器C1的CPU空闲率阈值,例如为30%。此外,还须确认是否是同一个连接(即,来自同一个端的请求)造成,也就是判断本地网络连接的数量是否唯一,若连接数量大于1,则可能需要进一步检测另一控制器C1的CPU空闲率是否低于一个预定阈值,若连接数量等于1,则不必移转至另一控制器C1,从而避免了现有技术的双控制器系统中不同MAC地址、相同IP地址形成冲突的问题。
当单个控制器C0的CPU占用率超过阈值时,便去检测另一控制器C1的CPU空闲率是否低于阈值。如果控制器C1的CPU空闲率低于阈值,则控制器C0对当前的一部分访问者的IP数据包将不再应答,并通知控制器C1查验(ping)这些访问者。如此,当访问者收到控制器C1的查验(ping)包时,它的ARP缓存表中与公用IP地址相对应的MAC地址会被更新为控制器C1的MAC地址。以后访问者会自动与单个控制器C1通讯,它的服务将由控制器C1来承担。即,能够根据网络对单个控制器的CPU占用率及CPU空闲率,部分地进行失效备援,从而实现了双控制器系统的高能效虚拟化服务。
以上所述仅为本发明其中的较佳实施例而已,并非用来限定本发明的实施范围;即凡依本发明权利要求所作的均等变化与修改,皆为本发明专利范围所涵盖。
Claims (3)
1.一种双控制器系统的负载均衡方法,其特征在于,所述方法包括以下步骤:
当双控制器系统接收到访问者对控制器MAC地址的ARP问询时,采集同一双控节点的两个控制器的CPU占用率;
指定CPU占用率较小的一个控制器响应所述ARP问询并进行登记,而另一控制器对所述ARP问询不予响应;
当所述双控制器系统接收到访问者的IP数据包时,判断本地网络连接的数量是否唯一,若连接数量唯一,则不移转至另一控制器而直接处理数据包,若连接数量不唯一,则判断本地网络的控制器的CPU占用率是否超过一个预定阈值,如果未超过该阈值,则直接处理数据包;
如果本地网络的控制器的CPU占用率超过该阈值时,则检测另一控制器的CPU空闲率是否低于一个预定阈值,如果未低于该阈值,则通过本地网络的控制器直接处理数据包;
如果另一控制器的CPU空闲率低于该阈值,则令本地网络的控制器对当前访问者的IP数据包不再应答,并通知另一控制器查验所述访问者;
当所述访问者接收到另一控制器的查验包后,将其ARP缓存表中与公用IP地址相对应的MAC地址更新为另一控制器的MAC地址。
2.如权利要求1所述的方法,其特征在于,所述CPU占用率的预定阈值设定为80%。
3.如权利要求1所述的方法,其特征在于,所述CPU空闲率的预定阈值设定为30%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102200057A CN102316136A (zh) | 2010-07-01 | 2010-07-01 | 一种双控制器系统的负载均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102200057A CN102316136A (zh) | 2010-07-01 | 2010-07-01 | 一种双控制器系统的负载均衡方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102316136A true CN102316136A (zh) | 2012-01-11 |
Family
ID=45428948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102200057A Pending CN102316136A (zh) | 2010-07-01 | 2010-07-01 | 一种双控制器系统的负载均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102316136A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079486A (zh) * | 2013-03-28 | 2014-10-01 | 国际商业机器公司 | 一种网关及其传送数据的方法 |
CN104811398A (zh) * | 2015-04-17 | 2015-07-29 | 北京奇艺世纪科技有限公司 | 一种负载均衡的方法及装置 |
CN110069330A (zh) * | 2019-04-23 | 2019-07-30 | 苏州浪潮智能科技有限公司 | 一种基于系统负载的数据销毁方法、装置以及设备 |
-
2010
- 2010-07-01 CN CN2010102200057A patent/CN102316136A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079486A (zh) * | 2013-03-28 | 2014-10-01 | 国际商业机器公司 | 一种网关及其传送数据的方法 |
WO2014154087A1 (en) * | 2013-03-28 | 2014-10-02 | International Business Machines Corporation | A gateway and its method of transfering data |
US9887905B2 (en) | 2013-03-28 | 2018-02-06 | International Business Machines Corporation | Transferring data in a gateway |
US10129137B2 (en) | 2013-03-28 | 2018-11-13 | International Business Machines Corporation | Transferring data in a gateway |
US10135717B2 (en) | 2013-03-28 | 2018-11-20 | International Business Machines Corporation | Transferring data in a gateway |
CN104811398A (zh) * | 2015-04-17 | 2015-07-29 | 北京奇艺世纪科技有限公司 | 一种负载均衡的方法及装置 |
CN110069330A (zh) * | 2019-04-23 | 2019-07-30 | 苏州浪潮智能科技有限公司 | 一种基于系统负载的数据销毁方法、装置以及设备 |
CN110069330B (zh) * | 2019-04-23 | 2020-05-29 | 苏州浪潮智能科技有限公司 | 一种基于系统负载的数据销毁方法、装置以及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5131239B2 (ja) | Ipアドレス割当制御プログラム、ipアドレス割当制御装置およびipアドレス割当制御方法 | |
CN105024855B (zh) | 分布式集群管理系统和方法 | |
CN112671882B (zh) | 一种基于微服务的同城双活系统和方法 | |
CN102404390B (zh) | 高速实时数据库的智能化动态负载均衡方法 | |
US8549120B2 (en) | System and method for location based address assignment in the distribution of traffic in a virtual gateway | |
JP5381998B2 (ja) | クラスタ制御システム、クラスタ制御方法、及びプログラム | |
CN102075556B (zh) | 一种具备大规模负载能力的服务架构设计方法 | |
CN102231682B (zh) | 一种堆叠冲突的处理方法和设备 | |
CN102025630A (zh) | 负载均衡方法及负载均衡系统 | |
JP2011507426A (ja) | 複数のアダプタにわたり複数の仮想ipアドレスを同時にサポートしているホストにおけるフェイルオーバのための方法、システム、およびプログラム | |
US20150113313A1 (en) | Method of operating a server system with high availability | |
US11349706B2 (en) | Two-channel-based high-availability | |
CN111131445B (zh) | Dhcp集群的调度方法和dhcp集群系统 | |
CN111970362A (zh) | 基于lvs的车联网网关集群方法及系统 | |
CN103532764A (zh) | 多机热备份方法及系统 | |
CN103618634A (zh) | 集群中自动发现节点的方法 | |
CN102316136A (zh) | 一种双控制器系统的负载均衡方法 | |
JP5483029B2 (ja) | クラスタシステムの結線作業の煩雑さを軽減するシステム及び方法 | |
JP2002344450A (ja) | 高可用性処理方法及びその実施システム並びにその処理プログラム | |
CN107948002B (zh) | Ap接入控制方法和装置 | |
CN105847143A (zh) | 基于vrrp的负载均衡方法及系统 | |
CN114124803B (zh) | 设备管理方法、装置、电子设备及存储介质 | |
JP2003348093A (ja) | 通信処理装置およびネットワークインタフェース切り替え方法 | |
CN101227378B (zh) | 基于网络存储的通信业务建立方法及存储设备 | |
CN109257435B (zh) | 基于消息中间件的多实例多子系统应用的通信系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120111 |