一种基于单导设备的智能双机热备技术的制作方法

文档序号:17896422发布日期:2019-06-13 16:01阅读:485来源:国知局
一种基于单导设备的智能双机热备技术的制作方法

本发明涉及一种互联网通信技术领域,特别涉及一种基于单导设备的智能双机热备技术。



背景技术:

本单导设备的双机热备是基于keepalived技术的基础上实现的。keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。

keepalived是以vrrp协议为实现基础的,vrrp全称virtualrouterredundancyprotocol,即虚拟路由冗余协议。虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将n台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据vrrp的优先级来选backup当master。这样的话就可以保证设备的高可用。

keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现vrrp协议的。利用keepalived特点我们实现了单导主备的双机热备,有效防止单机出了问题而使服务停止。



技术实现要素:

为克服现有技术的不足,本发明单导的双机热备是基于keepalived技术的基础上实现的。keepalived是以vrrp协议为实现基础的,vrrp全称virtualrouterredundancyprotocol,即虚拟路由冗余协议。虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将n台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据vrrp的优先级来选backup当master。这样的话就可以保证设备的高可用。

keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现vrrp协议的。利用keepalived特点我们实现了单导主备的双机热备,有效防止单机出了问题而使服务停止。

本发明本发明技术方案带来的有益效果:

本发明解决了单机出现故障时,使服务不能正常工作的难题,同时也解决了因单导单向传输而导致双机热备数据传输难的问题。特别是当单导内端出现故障时,数据传输如何从外端的备机传到内端的主机上,这里也很好地解决了。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1图2为本发明的示意图;

图3图4为数据传输示意图;

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

具体实施方案:

keepalived实现单导的双机热备主要配置一个配置文件keepalived.conf,里面主要包括以下几个配置区域,分别是global_defs、static_ipaddress、static_route、vrrp_script、vrrp_instance和virtual_server;

notfication_email故障发生时给谁发邮件通知;

notification_email_from通知邮件从哪个地址发出;

smpt_server通知邮件的smtp地址;

smtp_connect_timeout连接smtp服务器的超时时间;

router_id标识本节点的字条串通常为hostname,故障发生时,邮件通知会用到。

如上,vrrp_sync_group用到定义vrrp_intance组,使得这个组内成员动作一致。其功能:两个vrrp_instance同属于一个vrrp_rsync_group,那么其中一个vrrp_instance发生故障切换时,另一个vrrp_instance也会跟着切换(即使这个instance没有发生故障);

vrrp_instance用来定义对外提供服务的vip区域及其相关属性;

notify_master/backup分别表示切换为主备时所执行的脚本;

notify表示任务一状态切换时都会调用该脚本;

state可以是master或backup,不过当其他节点keepalived启动时会将priority比较大的节点选举为master,因此该项其实没有实质用途;

interface节点固有ip的网卡,同来发vrrp包;

virtual_router_id取值在0-255之间,用来区分多个instance的vrrp组播;

nopreempt允许一个priority比较低的节点作为master,即使有priority更高的节点启动。首先nopreempt必须在state为backup的节点上才生效(因为是buckup节点决定是否来成为masterr的);其次要实现类似于关闭autofailback的功能需要将所有节点的state都设置为backup,或者将master节点的priority设置的比backup低。将所有节点的state都设置成backup并且都加上nopreempt选项,这样就完成autofailback功能,当想手动将某节点切换为master时只需要去掉该节点的nopreempt选项并且将priority改成比其他节点大,然后重新加载配置文件即可。

参考图2单导的双机热备主要是外端和外端组成双机热备,内端和内端组成双机热备,同时利用nopreempt的特性可能实现单导的主备进行主动切换(主动切换的shell脚本如下);

当主机的内端系统出现故障,内端的主备发生切换,同时vip将会从内端的主机移动到内端的备机上,同时外端主机的获取到的数据将会传到外端的备机上,外端备机再把数据传输到内端的备机上,从而数据的传输不再经过发生故障的内端主机,参见附图3。

当主机的外端系统出现故障,外端的主备发生切换,同时vip将会从外端的主机移动到外端的备机上,由于外端可以发信息给内端,所以外端的备机会发消息给内端的备机,备机再发给内端的主机,使内端主机主动发生主备切换,同时vip将移动到备机,这时将由备机执行任务,外端的备机获取数据再传给内端备,完成了数据传输同时使设备能正常工作,参见附图4。

以上对本发明实施例所提供的一种基于单导设备的智能双机热备技术进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1