【技术实现步骤摘要】
一种提高PostgreSQL集群容灾能力的方法、系统、介质及终端
本专利技术涉及计算机领域,尤其涉及一种提高PostgreSQL集群容灾能力的方法、系统、介质及终端。
技术介绍
在计算机存储
,存储集群的稳定性一直是大家较为关注的地方,在当下的集群应用中,业务层多有涉及到PostgreSQL数据库服务。PostgreSQL为整个集群多节点提供数据服务,简单的使用方式有单节点部署,即在存储集群中选择一个节点作为PostgreSQL服务安装节点。复杂一些的使用方式有多节点部署成PostgreSQL集群,即在存储集群中选择一定数量的节点部署PostgreSQL,加上高可用技术,实现PostgreSQL的高可用。目前,就多节点存储集群单节点部署PostgreSQL而言,单节点的数据库服务即成为整个集群的缺陷所在,一旦该节点离线,将导致整个集群无数据库服务可用,即集群不可用。目前应用较为广泛的做法是PostgreSQL部署时以多节点集群的方法安装部署,使用其自身的流复制功能实现底层数据库中数据的实时备份,上层高可用功能可选择性较多,例如使用pgpool实现上层的高可用,或者keepalived实现上层的高可用,其目的都是维持一个虚拟ip存在PostgreSQL集群中,当虚拟ip所在节点异常时,可以将虚拟ip转移到PostgreSQL集群中的其它节点,继续提供服务,避免因单节点故障导致的数据库服务不可用。但是这种多节点数据库集群实际应用中规模不会过大,否则会大量占用系统、网络等资源,所以其容灾能力在部署时被 ...
【技术保护点】
1.一种提高PostgreSQL集群容灾能力的方法,其特征在于,包括:/n获取节点与集群的逻辑关系,若待检查节点为PostgreSQL集群外的节点,则在仅数据库中更新所述待检查节点的互联网协议地址信息和最后更新时间信息;若待检查节点为存储集群部署时生成的PostgreSQL集群内的节点,则定时向数据库插入或者更新所述待检查节点的互联网协议地址信息和更新时间,并继续/n判断所述待检查节点的PostgreSQL服务状态和节点状态,所述服务状态包括正常状态和异常状态,所述节点状态包括主节点状态和从节点状态,若所述待检查节点为主节点,则根据所述更新时间信息获取待检查节点的服务状态,并继续/n当判定所述待检查节点处于异常状态时,通过DB-Common中选择的第一个活跃可用的节点作为新的集群内节点;/n更新数据库,并删除异常节点。/n
【技术特征摘要】
1.一种提高PostgreSQL集群容灾能力的方法,其特征在于,包括:
获取节点与集群的逻辑关系,若待检查节点为PostgreSQL集群外的节点,则在仅数据库中更新所述待检查节点的互联网协议地址信息和最后更新时间信息;若待检查节点为存储集群部署时生成的PostgreSQL集群内的节点,则定时向数据库插入或者更新所述待检查节点的互联网协议地址信息和更新时间,并继续
判断所述待检查节点的PostgreSQL服务状态和节点状态,所述服务状态包括正常状态和异常状态,所述节点状态包括主节点状态和从节点状态,若所述待检查节点为主节点,则根据所述更新时间信息获取待检查节点的服务状态,并继续
当判定所述待检查节点处于异常状态时,通过DB-Common中选择的第一个活跃可用的节点作为新的集群内节点;
更新数据库,并删除异常节点。
2.根据权利要求1所述的提高PostgreSQL集群容灾能力的方法,其特征在于,根据配置文件是否符合第一条件和第二条件判断待检查节点是否为存储集群部署时生成的PostgreSQL集群内的节点,所述配置文件包括互联网协议配置文件和用于检测服务器状态的交换机制(keepalived)配置文件;
所述第一条件包括所述待检查节点与互联网协议配置文件中的互联网协议信息和对应的角色信息相匹配;
所述第二条件包括所述待检查节点与交换机制配置文件的数据库实施例匹配。
3.根据权利要求2所述的提高PostgreSQL集群容灾能力的方法,其特征在于,当所述待检查节点不能同时满足所述第一条件和第二条件时,判定所述待检查节点为PostgreSQL集群外节点,则定时更新DB-Common中的信息,并维持服务状态。
4.根据权利要求2所述的提高PostgreSQL集群容灾能力的方法,其特征在于,当所述待检查节点同时满足所述第一条件和第二条件时,判定所述待检查节点为PostgreSQL集群内节点,则定时连接PostgreSQL集群的虚拟互联网协议地址,向数据库中的DB-Manage插入或者更新所述待检查节点的互联网协议地址信息和更新时间。
5.根据权利要求4所述的提高PostgreSQL集群容灾能力的方法,其特征在于,若所述待检查节点为从节点,则根据只向数据库中的DB-Manage插入或者更新本节点的互联网协议地址信息和更新时间,维持并维持服务状态。
6.根据权利要求4所述的提高PostgreSQL集群容灾能力的方法,其特征在于,若所述待检查节点为主节点,则检查集群内部每个节点的服务状态,包括:检查数据库中的DB-M...
【专利技术属性】
技术研发人员:许克尧,
申请(专利权)人:重庆紫光华山智安科技有限公司,
类型:发明
国别省市:重庆;50
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。