• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 8
    • 下载费用:30 金币  

    重庆时时彩官走势图: 一种使用KEEPALIVED软件实现数据库HA应用的方法.pdf

    摘要
    申请专利号:

    重庆时时彩单双窍门 www.4mum.com.cn CN201510083556.6

    申请日:

    2015.02.15

    公开号:

    CN104765653A

    公开日:

    2015.07.08

    当前法律状态:

    驳回

    有效性:

    无权

    法律详情: 发明专利申请公布后的驳回IPC(主分类):G06F 11/14申请公布日:20150708|||实质审查的生效IPC(主分类):G06F 11/14申请日:20150215|||公开
    IPC分类号: G06F11/14; G06F17/30 主分类号: G06F11/14
    申请人: 杭州米加科技有限公司
    发明人: 周正中
    地址: 310013浙江省杭州市西湖区紫?;?号联合大厦B座10楼
    优先权:
    专利代理机构: 杭州杭诚专利事务所有限公司33109 代理人: 尉伟敏
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201510083556.6

    授权公告号:

    ||||||

    法律状态公告日:

    2018.12.14|||2015.08.05|||2015.07.08

    法律状态类型:

    发明专利申请公布后的驳回|||实质审查的生效|||公开

    摘要

    本发明涉及一种使用keepalived软件实现数据库HA应用的方法,其特征在于,包括如下步骤:节点状态切换为master后,同步调用notify_*脚本,*是master、backup二者中的一个;等待notify_*脚本调用结束并返回结果为正常;触发跟踪脚本track_script。本发明通过在节点进入master状态后同步调用notify,避免了keepalived软件在数据库HA架构中遇到无休止切换的问题。此外,本发明通过设置软链接,实现了不同的状态下使用不同的track脚本。

    权利要求书

    权利要求书
    1.  一种使用keepalived软件实现数据库HA应用的方法,其特征在于,包括如下步骤:
    节点状态切换为master后,同步调用notify_*脚本,*是master、backup二者中的一个;
    等待notify_*脚本调用结束并返回结果为正常;
    触发跟踪脚本track_script。

    2.  根据权利要求1所述的一种使用keepalived软件实现数据库HA应用的方法,其特征在于,所述的notify_mater执行如下步骤:
    fence切换至master状态节点的对端节点;
    激活standby数据库;
    将track_scrip.sh文件软链接指向track_master.sh文件。

    3.  根据权利要求2所述的一种使用keepalived软件实现数据库HA应用的方法,其特征在于,所述的track_master.sh用于检查本地监听、检查本地表空间的读写中的至少一种。

    4.  根据权利要求1所述的一种使用keepalived软件实现数据库HA应用的方法,其特征在于,所述的notify_backup执行如下步骤:
    关闭数据库;
    将track_scrip.sh文件软链接指向track_backup.sh文件;
    启动数据库。

    5.  根据权利要求4所述的一种使用keepalived软件实现数据库HA应用的方法,其特征在于,track_backup.sh用于检查VIP监听、检查本地监听、检查本地表空间的读、检查流复制、检查复制延迟中的至少一种。

    6.  根据权利要求1-5中任意一条所述的一种使用keepalived软件实现数据库HA应用的方法,其特征在于,还包括如下步骤:
    配置数据库流复制环境,备份数据库实时从主数据库获取Xlog信息并实时恢复;
    启用keepalived主节点(master)、备节点(backup)。

    说明书

    说明书一种使用keepalived软件实现数据库HA应用的方法
    技术领域
    本发明涉及一种实现数据库HA(高可用)应用的方法,尤其是一种使用keepalived软件实现数据库HA应用的方法。
    背景技术
    Keepalived软件一般用于检测Web服务器的状态,如果有一台web服务器死机或工作出现故障,将被keepalived检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后,keepalived将自动将web服务器加入到服务器群中,上述这些工作全部自动完成,需要人介入参与的仅仅是修复故障的web服务器。
    除此之外,keepalived还常常被用于实现基于Linux系统的应用负载均衡和高可用(HA),当keepalived服务启动时,主机角色(包括master 、backup、fault)的选择一般遵循如图1所示的逻辑图。
    在设计数据库HA时, 非常重要的一点是确保不出现脑裂的情况(脑裂,是指主库和备库出现了不可逆转的差异数据)。为了防止脑裂, 数据库在进行主备切换时, 必须确保数据不会被多台主机修改, 或者必须确保failded主节点完全关机后才能激活备节点,为此,增加了notify和fence机制。具体来说,当一个节点进入master状态后,会触发notify和fence其对端服务器,激活数据库,但是,有可能出现在上述动作还没有完成前track script就被触发的情况,如果在notify动作完成前触发track script的话,会导致failed状态出现,进而将进入master状态的节点主机变成fault状态。从图1可以得出,当原master状态节点进入fault状态后,其他的backup状态节点则会开始竞选master资格,而竞选必将触发新的一轮notify,那么,如果在随后每次触发notify时都出现在notify完成之前track script触发的情况,系统将永无休止的进行下去,而无法完成此次切换,如果多次出现上述情况,也必然导致系统切换时间成本的增加,效率降低。也就是说,在使用Keepalived来构建数据库的HA时,在notify_*(*是主机角色)和notify script调用结束前,如果track(检查)发生了,那么可能会导致track结果为不正常,进而触发master角色又转变成backup,而这次角色翻转又将再一次触发调用notify_backup, notify script,如此循环往复(上述意外再次发生),则陷入永远无法完成切换的死循环。
    发明内容
    为克服现有技术中存在的技术问题,本发明提出一种使用keepalived软件实现数据库HA应用的方法。
    为达到上述目的,本发明所采用的技术方案是:
    一种使用keepalived软件实现数据库HA应用的方法,其特征在于,包括如下步骤:
    节点状态切换为master后,同步调用notify_*脚本,*是master、backup二者中的一个;等待notify_*脚本调用结束并返回结果为正常;触发跟踪脚本track_script。
    上述技术方案还可以进一步完善:
    作为优选,所述的notify_mater执行如下步骤:fence切换至master状态节点的对端节点;激活standby数据库;将track_scrip.sh文件软链接指向track_master.sh文件。
    作为优选,所述的track_master.sh用于检查本地监听、检查本地表空间的读写中的至少一种。
    作为优选,所述的notify_backup执行如下步骤:关闭数据库;将track_scrip.sh文件软链接指向track_backup.sh文件;启动数据库。
    作为优选,track_backup.sh用于检查VIP监听、检查本地监听、检查本地表空间的读、检查流复制、检查复制延迟中的至少一种。
    作为优选,使用keepalived软件实现数据库HA应用的方法还包括如下步骤:配置数据库流复制环境,备份数据库实时从主数据库获取Xlog信息并实时恢复;启用keepalived主节点(master)、备节点(backup)。
    由于上述技术方案的采用,本发明具有以下优点:
    本发明通过在节点进入master状态后同步调用notify,避免了keepalived软件在数据库HA架构中遇到无休止切换的问题。此外,本发明通过设置软链接,实现了不同的状态下使用不同的track脚本。
    附图说明
    图1是keepalived服务启动时,各主机角色的选择逻辑图;
    图2是一种数据库跟踪脚本逻辑图。
    具体实施方式
    下面通过实施例并结合附图,对本发明的技术方案做进一步解释说明。
    Keepalived一般包含3个组件,分别是核心组件, 监控检查组件以及VRRP组件,其中:
    1、核心组件用于解析配置文件, FORK监控和VRRP子进程, 监控子进程的状态并在必要的时候重启子进程。
    2、监控检查组件负责监控负载均衡主机的状态。
    3、VRRP组件遵循VRRP协议设计, 用于检测主机状态, 接口状态, 负责主机角色的转换, 主机角色包含MA STER, BACKUP, FAULT三种。
    在配置keepalived前,需要对数据库HA环境进行系统规划,如配置至少2台主机,与主机数量对应的IP,并另外设置至少一个虚拟IP用于漂移(跟随角色转换进行漂移,master在哪台主机就漂移到哪台物理主机上,因此,应用程序只需要链接到虚拟IP即可,而无需关注master库在哪个物理主机上)。配置keepalived时,将各主机IP加入单播peer,以确定keepalived发送和接收vrrp包的范围。
    以下介绍一种实施例,应用本实施例,可以使keepalived用于构建数据库HA,并应用于大多数的数据库HA架构中,如基于流复制的HA、基于块设备复制的HA、基于共享存储的HA、基于分布式存储的HA。
    一种使用keepalived软件实现数据库HA应用的方法,包括如下步骤:
    (1)节点状态切换为master后,同步调用notify_*脚本,*是master、backup二者中的一个;
    (2)等待notify_*脚本调用结束并返回结果为正常;
    (3)触发跟踪脚本track_script;
    (4)配置数据库流复制环境,备份数据库使用流复制协议,实时从主数据库获取Xlog信息并实时恢复;
    (5)启用keepalived主节点(master)、备节点(backup)。
    一种实施例中,通过使用主节点、备节点共同的基线,以避免脑裂发生。
    上述步骤(1)中,如调用notify_mater,则notify_mater执行如下步骤:fence切换至master状态节点的对端节点;激活standby数据库;将track_scrip.sh文件软链接指向track_master.sh文件。
    图2所示为一种跟踪脚本track_master.sh的检查示例,track_master.sh用于检查本地监听、检查本地表空间的读写,在一个实施例中,返回检查结果为0表示正常,返回结果非0表示不正常。在更多的实施例中,检查项目顺序不限于图2所示。
    上述步骤(1)中,如调用notify_backup,则notify_backup执行如下步骤:关闭数据库;将recovery.done改成recovery.conf;将pg_xlog重命名,并新建一个pg_xlog,对其赋予700权限(文件用户可读、写、运行,同组用户和其他用户不可执行任何操作);将track_scrip.sh文件软链接指向track_backup.sh文件;启动数据库。
    图2所示为一种跟踪脚本track_backup.sh的检查示例,track_backup.sh用于检查VIP监听、检查本地监听、检查本地表空间的读、检查流复制、检查复制延迟,在一个实施例中,返回检查结果为0表示正常,返回结果非0表示不正常。在更多的实施例中,检查项目顺序不限于图2所示。
    本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
    本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合??商峁┱庑┘扑慊绦蛑噶畹酵ㄓ眉扑慊?、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
    这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
    这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
    尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
    显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发
    明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

    关 键 词:
    一种 使用 KEEPALIVED 软件 实现 数据库 HA 应用 方法
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:一种使用KEEPALIVED软件实现数据库HA应用的方法.pdf
    链接地址://www.4mum.com.cn/p-5894855.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03