企业在开始使用PostgreSQL、PolarDB等数据库时,总是遇到这些问题:

  • 怎么实现数据库的高可用方案,当数据库出现问题时,能自动切换,不需要DBA半夜爬起来处理。
  • 如何对数据库进行监控告警。
  • 如何对进行备份,保证数据的安全性。
  • 如何快速搭建一套数据库集群。
  • 如何快速搭建现有数据库的备库。
  • 如何快速修改主备库之间的级连关系。
  • 如何实现容灾,当整个机房出现故障(如网络中断),如何快速恢复业务。

目前已存在几个开源的高可用软件:

软件名 特点 存在的问题
keepalived 较简单的高可用软件,其最早是于用LVS负载均衡软件,现在也常常用于ngnix的高可用,也可以用于数据库领域。 需要自己定制切换脚本才能完成数据库的高可用功能,另keepalived基于VRRP协议实现的,其存在着脑裂的问题。
haproxy 通常是用于http等web应用,较少使用于数据库领域。
Heartbeat或pacemaker+corosync 这两个软件是通用型高可用软件,并不是专为PostgreSQL设计。 安装时需要安装很多依赖包,有很多的配置,比较复杂;如果不是非常精通的人员搭建出来的高可用集群,经常容易出现误切换等问题。
repmgr 一套针对于PostgreSQL数据库的高可用方案,相对其他的高可用方案来说,相对比较简单。 没有实现对VIP的管理,如果要实现VIP的管理,需要自己写脚本来实现。人工配置的脚本可能会有缺陷,让人不放心。
patroni 一套针对于PostgreSQL数据库的高可用方案,相对repmgr来说比较复杂一些。 与repmgr一样没有实现对VIP的管理,如果要实现VIP的管理,需要自己写脚本来实现,人工配置的脚本可能会有缺陷,让人不放心。
pgpool-II PostgreSQL数据库领域比较常见的高可用软件,其最早是做为连接池来使用的。 pgpool-II除了高可用功能外,设计了一些更复杂的使用模式,对于初学者来说,如果没有深入的学习pgpool-II,根本搞不清楚复制模式、主备模式、并行查询模式的区别。
实际上pgpool-II这么多的模式真正在企业中可以使用的模式基本只有“流复制+Standby的主/备模式”,其它模式都有各种各样的缺点,实用性不强。但由于这些绝大多数使用不上的功能,导致pgpool-II的配置很复杂,稍有不慎就容易发生因为配置不合理而导致的重大事故。

上面这些开源软件无一例外有以下这些问题:

  • 需要自己实现一些脚本才能完整实现高可用的功能;
  • HA的切换的配置有一定的复杂度,文档中对一些高可用切换原理性和参数介绍得较少或介绍得晦涩难懂,难以掌握,如果没有深入的学习,容易出现错误的配置,从而导致一些严重得故障;
  • 无集中管理的功能,无法一套软件同时管理多套高可用集群,增加了运维工作的难度。

中启乘数科技公司为了解决这些问题,为PostgreSQL数据库量身定制一套最符合PostgreSQL用户的高可用及监控管理的软件CLup。让企业可以快速搭建一套高可靠、高可用、高性能的数据库集群,同时满足易于维护、集中管理的一套PostgreSQL数据库解决方案。

CLup最大的特色功能是高可用,同时有Web管理页面,操作可视化,简洁高效。CLup也有一个开源版本,目前开源发布在gitee上,仓库地址如下:

https://gitee.com/csudata/clup
https://gitee.com/csudata/clup-agent

使用CLup可以轻松创建和管理几十套至上百套PostgreSQL高可用的数据库集群。当发生故障切换后,有详细的故障切换日志,方便定位故障原因。另还可以手工一键切换,满足运维中日常停机维护的需要。CLup商业版本还提供了PostgreSQL的一些基本监控、TOP SQL监控以及容灾管理、一键加备库等诸多高效实用的运维工具,极大地提高了DBA的工作效率,同时可以减少一些误操作的可能性。

CLup详细的介绍和安装部署可以参考官方文档:CLup简介

本站文章,未经作者同意,请勿转载,如需转载,请邮件customer@csudata.com.
0 评论  
添加一条新评论