一种实现heartbeat高可用性的装置的制造方法

文档序号:9396766阅读:177来源:国知局
一种实现heartbeat高可用性的装置的制造方法
【技术领域】
[0001]本发明涉及计算机存储技术领域,特别是涉及一种实现heartbeat高可用性的装置。
【背景技术】
[0002]heartbeat是Linux-HA工程中的一个组件,它实现了一个高可用集群系统。心跳服务和集群通信是高可用集群的两个关键组件,在heartbeat项目里,由heartbeat模块实现了这两个功能。
[0003]但是,其仅能完成心跳监控和资源接管,不会监视其控制的资源或应用程序。要想监控资源或应用程序是否运行正常,必须使用第三方的插件。例如ipfail、Mon、Ldirector等。同样,对于操作系统自身出现的问题,heartbeat也无法监控。如果heartbeat异常终止或者系统出现故障,一方面可能导致服务中断,另一方面由于主节点资源无法释放,而备份节点却接管了主节点的资源,此时就发生了两个节点同时争用一个资源的状况,造成数据冲突现象。
[0004]为避免上述技术问题的产生,本发明提供了一种实现heartbeat高可用性的装置。

【发明内容】

[0005]本发明的目的是提供一种实现heartbeat高可用性的装置,目的在于解决现有技术中heartbeat容易造成数据冲突的问题。
[0006]为解决上述技术问题,本发明提供一种实现heartbeat高可用性的装置,包括heartbeat组件以及watchdog模块;
[0007]其中,所述heartbeat组件用于每隔预定时间间隔对所述watchdog模块进行写操作;
[0008]所述watchdog模块用于当预设周期内没有被执行写操作时,触发重新启动系统的操作;其中,所述预定时间间隔小于等于所述预设周期。
[0009]可选地,还包括:
[0010]启动模块,用于启动所述watchdog模块进入工作状态。
[0011]可选地,所述watchdog模块具体通过独立于内核的硬件计时器实现。
[0012]可选地,所述硬件计时器为MAX813、5045或頂P 813芯片。
[0013]可选地,所述watchdog模块具体通过内核模块结合定时器实现。
[0014]可选地,所述预设周期为一分钟。
[0015]可选地,Linux内核为所述watchdog模块提供相应的驱动。
[0016]可选地,所述watchdog模块的驱动在同一时刻只有一个被加载。
[0017]可选地,还包括:
[0018]提示模块,用于向用户提示重新启动系统的信息。
[0019]本发明所提供的实现heartbeat高可用性的装置,通过heartbeat组件每隔预定时间间隔对watchdog模块进行写操作;而当watchdog模块在预设周期内没有被执行写操作时,即触发重新启动系统的操作。可见,本发明所提供的实现heartbeat高可用性的装置,在heartbeat异常终止,或者系统出现故障的情况下,watchdog模块能够自动重启系统,释放集群资源,避免了数据冲突的发生,从而提升了 heartbeat的高可用性。
【附图说明】
[0020]图1为本发明所提供的实现heartbeat高可用性的装置的一种【具体实施方式】的示意图。
【具体实施方式】
[0021]本发明的核心是提供一种实现heartbeat高可用性的装置,通过将watchdog集成到heartbeat中。在heartbeat异常终止,或者系统出现故障时,watchdog能够自动重启系统,从而释放集群资源,避免数据冲突的产生。
[0022]为了使本技术领域的人员更好地理解本发明方案,下面结合附图和【具体实施方式】对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0023]本发明所提供的实现heartbeat高可用性的装置的一种【具体实施方式】的示意图如图1所示,该装置包括:
[0024]heartbeat 组件 I 以及 watchdog 模块 2 ;
[0025]其中,所述heartbeat组件I用于每隔预定时间间隔对所述watchdog模块2进行写操作;
[0026]所述watchdog模块2用于当预设周期内没有被执行写操作时,触发重新启动系统的操作;其中,所述预定时间间隔小于等于所述预设周期。
[0027]本发明所提供的实现heartbeat高可用性的装置,通过heartbeat组件每隔预定时间间隔对watchdog模块进行写操作;而当watchdog模块在预设周期内没有被执行写操作时,即触发重新启动系统的操作。可见,本发明所提供的实现heartbeat高可用性的装置,在heartbeat异常终止,或者系统出现故障的情况下,watchdog模块能够自动重启系统,释放集群资源,避免了数据冲突的发生,从而提升了 heartbeat的高可用性。
[0028]作为一种【具体实施方式】,本发明所提供的实现heartbeat高可用性的装置还可以进一步包括:
[0029]启动模块,用于启动watchdog模块进入工作状态。
[0030]作为一种【具体实施方式】,本发明所提供的实现heartbeat高可用性的装置中,watchdog模块在实现上可以是硬件电路也可以是软件定时器,能够在系统出现故障时自动重新启动系统。
[0031]当watchdog模块采用硬件电路时,可独立于内核实现。其具体可以为MAX813、5045或頂P 813芯片中的一种。需要指出的是,watchdog模块可以有多种实现形式,并不限于这几种,这均不影响本发明的实现。
[0032]本实施例中预设周期可以具体为I分钟,当然也可以根据用户的需要选择其他数值。
[0033]在Linux内核下,watchdog的基本工作原理是:当watchdog启动后(即/dev/watchdog设备被打开后),如果在某一设定的时间间隔(默认是I分钟)内/dev/watchdog没有被执行写操作,硬件watchdog电路或软件定时器就会重新启动系统。其中,/dev/watchdog是一个主设备号为10,从设备号130的字符设备节点。
[0034]L
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1