一种主备服务器切换方法及装置制造方法及图纸

技术编号:20855010 阅读:30 留言:0更新日期:2019-04-13 10:47
本发明专利技术实施例提供了一种主备服务器切换方法及装置。所述方法包括:启动第一Keepalived服务;启动第一网桥服务,以判断本机网桥的第一网桥状态;在第一网桥状态处于工作状态的情况下,启动第一网桥检查线程;利用第一网桥检查线程检查本机网桥的第二网桥状态,生成第一网桥状态文件;利用所述第一Keepalived服务检查所述第一网桥状态文件;依据检查结果确定本机网桥处于非工作状态的情况下,停止所述第一Keepalived服务,并执行主备切换流程。本发明专利技术可以解决网桥并行造成回路的问题,并且,给没有端口供keepalived托管的服务提供了状态机制进行主备切换的方式,实现方式比较简单,并能达到复用的目的。

【技术实现步骤摘要】
一种主备服务器切换方法及装置
本专利技术涉及计算机通信
,特别是涉及一种主备服务器切换方法及装置。
技术介绍
Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。为了提高可靠性,在LAN(LocalAreaNetwork,局域网)之间设置了并行的两个或多个网桥,但是,这种配置引起了另外一些问题,因为在拓扑结构中产生了回路,可能引发无限循环。目前通常采用的生成树(spanningtree)算法。解决无限循环问题的方法是让网桥相互通信,并用一棵到达每个LAN的生成树覆盖实际的拓扑结构。使用生成树,可以确保任两个LAN之间只有唯一一条路径。一旦网桥商定好生成树,LAN间的所有传送都遵从此生成树。由于从每个源到每个目的地只有唯一的路径,故不可能再有循环。为了建造生成树,首先必须选出一个网桥作为生成树的根。实现的方法是每个网桥广播其序列号(该序列号由厂家设置并保证全球唯一),选序列号最小的网桥作为根。接着,按根到每个网桥的最短路径来构造生成树。如果某个网桥或LAN故障,则重新计算。Keepalived作用是有一台主服务器和多台备份服务器,在主服务器和备份服务器上面部署相同的服务配置,使用一个虚拟IP地址对外提供服务,当主服务器出现故障时,虚拟IP地址会自动漂移到备份服务器。keepalived托管的是一些有端口的存在的服务,所以我们可以把端口配置到keepalived的配置文件中,这样keepalived就可以通过端口是否存在来判断服务是否正常,进而来进行切换主备服务器。但是网桥服务是不存在这样的端口的,这时我们就需要知道网桥服务的别的标志,比如网桥的状态信息。生成树(spanningtree)算法实现又过复杂。
技术实现思路
本专利技术提供了一种主备服务器切换方法及装置,以解决现有技术中无法根据网桥状态进行主备机切换,并且也无法停止不再使用的设备的网桥服务的问题。为了解决上述问题,本专利技术是这样实现的:第一方面,本专利技术实施例提供了一种主备服务器切换方法,包括:启动第一Keepalived服务;启动第一网桥服务,以判断本机网桥的第一网桥状态;在所述第一网桥状态处于工作状态的情况下,启动第一网桥检查线程;利用所述第一网桥检查线程检查本机网桥的第二网桥状态,生成第一网桥状态文件;利用所述第一Keepalived服务检查所述第一网桥状态文件;依据检查结果确定本机网桥处于非工作状态的情况下,停止所述第一Keepalived服务,并执行主备切换流程。优选地,在所述启动第一Keepalived服务的步骤之后,还包括:启动第一主备通信线程;通过所述第一主备通信线程发送主机启动状态消息至备用服务器;接收由所述备用服务器返回的备机状态信息;在依据所述备机状态信息确定所述备用服务器处于工作状态的情况下,向所述备用服务器发送网桥服务停止消息,以由所述备用服务器根据所述网桥服务停止消息停止网桥服务;在依据所述备机状态信息确定所述备用服务器处于非工作状态的情况下,执行所述启动第一网桥服务,以判断本机网桥的第一网桥状态的步骤。优选地,所述执行主备切换流程的步骤,包括:利用所述第一主备通信线程获取本机网桥对应的网桥状态值;将所述网桥状态值发送至所述备用服务器,执行由所述主服务器切换至所述备用服务器的流程。优选地,在所述停止所述第一Keepalived服务,并执行主备切换流程的步骤之后,还包括:在本机网桥的状态恢复正常之后,通过所述第一主备通信线程向所述备用服务器发送服务器正常运行状态信息,并执行由所述备用服务器切换至所述主服务器的流程。第二方面,本专利技术实施例提供了一种主备服务器切换方法,包括:启动第二Keepalived服务;启动第二主备通信线程;利用所述第二主备通信线程接收由主服务器发送的第一主机状态信息;在依据所述第一主机状态信息确定所述主服务器异常时,向所述主服务器发送网桥服务停止指令;启动第二网桥服务,以判断本机网桥的第二网桥状态;在所述第二网桥状态处于工作状态的情况下,启动第二网桥检查线程;利用所述第二主备通信线程接收由主服务器发送的第二主机状态信息;在依据所述第二主机状态信息确定所述主服务器恢复正常状态时,停止所述第二网桥服务,及所述第二Keepalived服务,并向所述主服务器发送服务停止状态信息。优选地,在所述启动第二网桥服务的步骤之后,还包括:判断本机网桥是否处于工作状态;在本机网桥处于非工作状态的情况下,则再次启动所述第二网桥服务;重复执行所述判断本机网桥是否处于工作状态,及所述在本机网桥不处于工作状态的情况下,则再次启动所述第二网桥服务的步骤。第三方面,本专利技术实施例提供了一种主备服务器切换装置,包括:第一Keepalived启动模块,用于启动第一Keepalived服务;第一网桥状态判断模块,用于启动第一网桥服务,以判断本机网桥的第一网桥状态;第一网桥线程启动模块,用于在所述第一网桥状态处于工作状态的情况下,启动第一网桥检查线程;第一网桥文件生成模块,用于利用所述第一网桥检查线程检查本机网桥的第二网桥状态,生成第一网桥状态文件;第一网桥文件检查模块,用于利用所述第一Keepalived服务检查所述第一网桥状态文件;主备切换执行模块,用于依据检查结果确定本机网桥处于非工作状态的情况下,停止所述第一Keepalived服务,并执行主备切换流程。优选地,还包括:第一主备线程启动模块,用于启动第一主备通信线程;主机状态消息发送模块,用于通过所述第一主备通信线程发送主机启动状态消息至备用服务器;备机状态信息接收模块,用于接收由所述备用服务器返回的备机状态信息;网桥判断模块执行模块,用于在依据所述备机状态信息确定所述备用服务器处于非工作状态的情况下,执行所述第一网桥状态判断模块。优选地,所述主备切换执行模块包括:网桥状态值获取子模块,用于利用所述第一主备通信线程获取本机网桥对应的网桥状态值;主备切换执行子模块,用于将所述网桥状态值发送至所述备用服务器,执行由所述主服务器切换至所述备用服务器的流程。优选地,还包括:备主服务器切换模块,用于在本机网桥的状态恢复正常之后,通过所述第一主备通信线程向所述备用服务器发送网桥正常状态信息,并执行由所述备用服务器切换至所述主服务器的流程。第四方面,本专利技术实施例提供了一种主备服务器切换装置,包括:第二Keepalived启动模块,用于启动第二Keepalived服务;第二主备线程启动模块,用于启动第二主备通信线程;第一主机状态接收模块,用于利用所述第二主备通信线程接收由主服务器发送的第一主机状态信息;网桥停止指令发送模块,用于在依据所述第一主机状态信息确定所述主服务器异常时,向所述主服务器发送网桥服务停止指令;第二网桥状态判断模块,用于启动第二网桥服务,以判断本机网桥的第二网桥状态;第二网桥线程启动模块,用于在所述第二网桥状态处于工作状态的情况下,启动第二网桥检查线程;第二主机状态接收模块,用于利用所述第二主备通信线程本文档来自技高网
...

【技术保护点】
1.一种主备服务器切换方法,应用于主服务器,其特征在于,包括:启动第一Keepalived服务;启动第一网桥服务,以判断本机网桥的第一网桥状态;在所述第一网桥状态处于工作状态的情况下,启动第一网桥检查线程;利用所述第一网桥检查线程检查本机网桥的第二网桥状态,生成第一网桥状态文件;利用所述第一Keepalived服务检查所述第一网桥状态文件;依据检查结果确定本机网桥处于非工作状态的情况下,停止所述第一Keepalived服务,并执行主备切换流程。

【技术特征摘要】
1.一种主备服务器切换方法,应用于主服务器,其特征在于,包括:启动第一Keepalived服务;启动第一网桥服务,以判断本机网桥的第一网桥状态;在所述第一网桥状态处于工作状态的情况下,启动第一网桥检查线程;利用所述第一网桥检查线程检查本机网桥的第二网桥状态,生成第一网桥状态文件;利用所述第一Keepalived服务检查所述第一网桥状态文件;依据检查结果确定本机网桥处于非工作状态的情况下,停止所述第一Keepalived服务,并执行主备切换流程。2.根据权利要求1所述的方法,其特征在于,在所述启动第一Keepalived服务的步骤之后,还包括:启动第一主备通信线程;通过所述第一主备通信线程发送主机启动状态消息至备用服务器;接收由所述备用服务器返回的备机状态信息;在依据所述备机状态信息确定所述备用服务器处于工作状态的情况下,向所述备用服务器发送网桥服务停止消息,以由所述备用服务器根据所述网桥服务停止消息停止网桥服务;在依据所述备机状态信息确定所述备用服务器处于非工作状态的情况下,执行所述启动第一网桥服务,以判断本机网桥的第一网桥状态的步骤。3.根据权利要求1所述的方法,其特征在于,所述执行主备切换流程的步骤,包括:利用所述第一主备通信线程获取本机网桥对应的网桥状态值;将所述网桥状态值发送至所述备用服务器,执行由所述主服务器切换至所述备用服务器的流程。4.根据权利要求1所述的方法,其特征在于,在所述停止所述第一Keepalived服务,并执行主备切换流程的步骤之后,还包括:在本机网桥的状态恢复正常之后,通过所述第一主备通信线程向所述备用服务器发送服务器正常运行状态信息,并执行由所述备用服务器切换至所述主服务器的流程。5.一种主备服务器切换方法,应用于备用服务器,其特征在于,包括:启动第二Keepalived服务;启动第二主备通信线程;利用所述第二主备通信线程接收由主服务器发送的第一主机状态信息;在依据所述第一主机状态信息确定所述主服务器异常时,向所述主服务器发送网桥服务停止指令;启动第二网桥服务,以判断本机网桥的第二网桥状态;在所述第二网桥状态处于工作状态的情况下,启动第二网桥检查线程;利用所述第二主备通信线程接收由主服务器发送的第二主机状态信息;在依据所述第二主机状态信息确定所述主服务器恢复正常状态时,停止所述第二网桥服务,及所述第二Keepalived服务,并向所述主服务器发送服务停止状态信息。6.根据权利要求5所述的方法,其特征在于,在所述启动第二网桥服务的步骤之后,还包括:判断本机网桥是否处于工作状态;在本机网桥处于非工作状态的情况下,则再次启动所述第二网桥服务;重复执行所述判断本机网桥是否处于工作状态,及所述在本机网桥不处于工作状态的情况下,则再次启动所述第二网桥服务的步骤。7.一种主备服务器切换装置,应用于主服务器,其特征在于,包括:第一Keepalived启动模块,用于启动第一Keepalived服务;第一网桥状态判断模块,用于启动第一网桥服务,以判断本机网桥的第一网桥状态;第一网桥线程启动模块,用于在所述第一网桥状态处于工作状态的情况下,启动第一网桥检查线程;第一网桥文件...

【专利技术属性】
技术研发人员:崔义芳喻波王志海韩振国安鹏
申请(专利权)人:北京明朝万达科技股份有限公司
类型:发明
国别省市:北京,11

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

1