一种实现浮动ip地址自动漂移的方法和系统的制作方法

文档序号:9330673阅读:442来源:国知局
一种实现浮动ip地址自动漂移的方法和系统的制作方法
【技术领域】
[0001]本发明涉及计算机通信领域,特别涉及一种实现浮动IP地址自动漂移的方法和系统。
【背景技术】
[0002]服务器集群通过将相同功能的服务部署在多台主机上,一方面能够把服务压力平均分摊,一方面能够在一个主机的服务异常后,对应服务能力能被另外一台正常主机所替代。但是服务对外提供的形式一般为IP地址和端口号,于是服务主机异常后即使被正常主机接替,如果IP地址不切换,集群对外的服务依然是不可用的。所以一般会对一个集群的一个应用配置一个浮动IP地址,用此IP对外暴露服务。当一台主机对外提供服务时,浮动IP地址就需要绑定在此主机,而当此主机异常并被其他主机替代时,浮动IP也要转移到替代的主机上。

【发明内容】

[0003]本发明所要解决的技术问题是提供一种实现浮动IP地址自动漂移的方法和系统。
[0004]本发明解决上述技术问题的技术方案如下:一种实现浮动IP地址自动漂移的方法,
[0005]步骤1,在服务器集群中的每台服务器上安装守护进程;
[0006]步骤2,所述服务器集群中所有服务器的守护进程同时启动,守护进程在Zooke印er上竞争创建以浮动IP地址命名的动态节点;
[0007]步骤3,成功创建以浮动IP地址命名的动态节点的守护进程在其所属服务器的网卡上绑定浮动IP地址,执行步骤4 ;未成功创建以浮动IP地址命名的动态节点的守护进程检测当前服务器的网卡上是否已经绑定浮动IP,如果是执行步骤5 ;如果否则直接执行步骤6 ;
[0008]步骤4,守护进程检测当前服务器运作是否正常,如果是,则重复步骤4,如果否,则删除已经绑定的浮动IP地址,并执行步骤6 ;
[0009]步骤5,删除已经绑定的浮动IP地址,执行步骤6 ;
[0010]步骤6,守护进程退出,等待下次启动。
[0011]本发明的有益效果是:本发明通过在集群服务器上安装后台守护进程,并由守护进程通过集成Zookeeper形成对唯一资源(Zookeeper上以IP地址命名的动态节点)竞争过程,保证集群软件服务所用浮动IP地址在异常服务器主机和正常服务器主机间自动漂移,从而实现集群软件服务的高可用性。
[0012]本发明还提供一种实现浮动IP地址自动漂移的系统,包括守护进程模块;守护进程模块安装于服务器集群中的每台服务器上;守护进程模块,用于在Zookeeper上竞争创建以浮动IP地址命名的动态节点,在成功创建以浮动IP地址命名的动态节点的服务器的网卡上绑定浮动IP地址,并检测当前服务器运作是否正常,如果是,则继续检测服务器运作是否正常,如果否,则删除已经绑定的浮动IP地址,守护进程退出,等待下次启动;在未成功创建以浮动IP地址命名的动态节点的服务器上,检测当前服务器的网卡上是否已经绑定浮动IP,如果是,则删除已经绑定的浮动IP地址;如果否,则守护进程退出,等待下次启动。
【附图说明】
[0013]图1为本发明一种实现浮动IP地址自动漂移的方法流程图;
[0014]图2为本发明一种实现浮动IP地址自动漂移的系统模块关系示意图。
【具体实施方式】
[0015]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0016]本发明在应用层实现主机集群浮动IP地址的主动漂移,以达到集群对外服务高可用的目的。目前集群内的主机都有自己独立IP地址,但对外服务提供只能提供一个固定的IP地址做服务IP,因此此服务IP需要能够自动在集群内主机间自动漂移,以做到一旦一台主机宕机异常后,集群提供服务对外的表现是可用的。
[0017]如图1所示,本发明提供了一种实现浮动IP地址自动漂移的方法,
[0018]步骤1,在服务器集群中的每台服务器上安装守护进程;
[0019]步骤2,所述服务器集群中所有服务器的守护进程同时启动,守护进程在Zooke印er上竞争创建以浮动IP地址命名的动态节点;
[0020]步骤3,成功创建以浮动IP地址命名的动态节点的守护进程在其所属服务器的网卡上绑定浮动IP地址,执行步骤4 ;未成功创建以浮动IP地址命名的动态节点的守护进程检测当前服务器的网卡上是否已经绑定浮动IP,如果是执行步骤5 ;如果否则直接执行步骤6 ;
[0021]步骤4,守护进程检测当前服务器运作是否正常,如果是,则重复步骤4,如果否,则删除已经绑定的浮动IP地址,并执行步骤6 ;
[0022]步骤5,删除已经绑定的浮动IP地址,执行步骤6 ;
[0023]步骤6,守护进程退出,等待下次启动。
[0024]本发明所述方法利用Zookeeper的数值唯一"性特点,在其上无法建立同名节点,从而通过多台主机同时由守护进程创建同名节点,保证浮动IP被绑定的主机的唯一性。本发明所述方法还利用Zookeeper动态节点与进程的依赖特性,当守护进程发现集群当前服务主机的服务不可用,或当前服务主机宕机时,守护进程会主动退出,从而在Zooke^eri的动态节点被Zookeeper自动释放,以及时通知其他主机立刻绑定浮动IP地址接替失效的服务主机。另外,通过利用Zookeeper上动态节点自动删除特性,可以在集群范围内及时获知服务主机异常,并由集群内备用主机及时替换,从而保证集群服务的高可用性。
[0025]在步骤I之前还包括,搭建独立的Zookeeper服务器集群,并且在Zookeeper上根据服务器集群和服务器名称建立固定路径,比如/clusterOl/serviceA。Zookeeper集群的高可用性由Zookeeper自身保证。
[0026]步骤I还包括,在服务器集群中的每台服务器上安装监听进程,监听进程每隔预定时间调度守护进程。
[0027]如图2所示,一种实现浮动IP地址自动漂移的系统,包括守护进程模块;守护进程模块安装于服务器集群中的每台服务器上;守护进程模块,用于在Zookeeper上竞争创建以浮动IP地址命名的动态节点,在成功创建以浮动IP地址命名的动态节点的服务器的网卡上绑定浮动IP地址,并检测当前服务器运作是否正常,如果是,则继续检测服务器运作是否正常,如果否,则删除已经绑定的浮动IP地址,守护进程退出,等待下次启动;在未成功创建以浮动IP地址命名的动态节点的服务器上,检测当前服务器的网卡上是否已经绑定浮动IP,如果是,则删除已经绑定的浮动IP地址;如果否,则守护进程退出,等待下次启动。
[0028]一种实现浮动IP地址自动漂移的系统,服务器集群为Zook^per服务器集群,Zookeeper上根据服务器集群和服务器名称建立有固定路径。
[0029]一种实现浮动IP地址自动漂移的系统,还包括监听进程模块,监听进程模块安装于服务器集群中的每台服务器上,监听进程模块每隔预定时间调度守护进程模块。
[0030]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种实现浮动IP地址自动漂移的方法,其特征在于, 步骤1,在服务器集群中的每台服务器上安装守护进程; 步骤2,所述服务器集群中所有服务器的守护进程同时启动,守护进程在Zookeeper上竞争创建以浮动IP地址命名的动态节点; 步骤3,成功创建以浮动IP地址命名的动态节点的守护进程在其所属服务器的网卡上绑定浮动IP地址,执行步骤4 ;未成功创建以浮动IP地址命名的动态节点的守护进程检测当前服务器的网卡上是否已经绑定浮动IP,如果是执行步骤5 ;如果否则直接执行步骤6 ; 步骤4,守护进程检测当前服务器运作是否正常,如果是,则重复步骤4,如果否,则删除已经绑定的浮动IP地址,并执行步骤6 ; 步骤5,删除已经绑定的浮动IP地址,执行步骤6 ; 步骤6,守护进程退出,等待下次启动。2.根据权利要求1所述一种实现浮动IP地址自动漂移的方法,其特征在于,在步骤I之前还包括,搭建独立的Zooke^er服务器集群,并且在Zooke^er上根据服务器集群和服务器名称建立固定路径。3.根据权利要求1所述一种实现浮动IP地址自动漂移的方法,其特征在于,步骤I还包括,在所述服务器集群中的每台服务器上安装监听进程,所述监听进程每隔预定时间调度守护进程。4.一种实现浮动IP地址自动漂移的系统,其特征在于,包括守护进程模块;所述守护进程模块安装于服务器集群中的每台服务器上; 所述守护进程模块,用于在Zookeeper上竞争创建以浮动IP地址命名的动态节点,在成功创建以浮动IP地址命名的动态节点的服务器的网卡上绑定浮动IP地址,并检测当前服务器运作是否正常,如果是,则继续检测服务器运作是否正常,如果否,则删除已经绑定的浮动IP地址,守护进程退出,等待下次启动;在未成功创建以浮动IP地址命名的动态节点的服务器上,检测当前服务器的网卡上是否已经绑定浮动IP,如果是,则删除已经绑定的浮动IP地址;如果否,则守护进程退出,等待下次启动。5.根据权利要求4所述一种实现浮动IP地址自动漂移的系统,其特征在于,所述服务器集群为Zooke^er服务器集群,所述Zooke^er上根据服务器集群和服务器名称建立有固定路径。6.根据权利要求4所述一种实现浮动IP地址自动漂移的系统,其特征在于,还包括监听进程模块,所述监听进程模块安装于服务器集群中的每台服务器上,所述监听进程模块每隔预定时间调度守护进程模块。
【专利摘要】本发明涉及一种实现浮动IP地址自动漂移的方法,S1,在服务器集群中的每台服务器上安装守护进程;S2,多个守护进程同时在Zookeeper上竞争创建以浮动IP地址命名的动态节点;S3,成功创建动态节点的守护进程在其所属服务器的网卡上绑定浮动IP地址,执行S4;未成功创建动态节点的守护进程检测当前服务器的网卡上是否已经绑定浮动IP,如果是执行S5;如果否则执行S6;S4,守护进程检测当前服务器运作是否正常,如果是,则重复S4,如果否,则删除已经绑定的浮动IP地址,执行S6;S5,删除已经绑定的浮动IP地址,执行S6;S6,守护进程退出,等待下次启动。本发明通过由守护进程对唯一资源竞争,实现浮动IP在异常主机和正常主机间漂移。
【IPC分类】H04L29/12
【公开号】CN105049549
【申请号】CN201510484915
【发明人】张奇伟
【申请人】北京思特奇信息技术股份有限公司
【公开日】2015年11月11日
【申请日】2015年8月7日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1