首页
解决方案
数据库专业技术服务全栈式PostgreSQL解决方案Oracle分布式存储化数据库云PolarDB一体化解决方案
产品
CLup:PostgreSQL高可用集群平台 CMiner: PostgreSQL中的CDC CData高性能数据库云一体机 CBackup数据库备份恢复云平台 CPDA高性能双子星数据库机 CSYun超融合虚拟机产品 ZQPool数据库连接池 ConshGuard数据保护产品 APCC: Greenplum管理平台
文档
文章
客户及伙伴
中启开源
关于我们
公司简介 联系我们
中启开源
登录
×
修改密码

GaussDB流复制集群

1. 基于流复制的高可用集群

安装配置的一个例子:

机器的情况:

主机名 IP 数据库端口 数据库数据目录
clup0 10.197.166.74 N/A N/A
gs01 10.197.166.115 5443 /data/replication
gs02 10.197.166.116 5443 /data/replication
gs03 10.197.166.117 5443 /data/replication

CLup管理节点安装在10.197.166.74,gs01~03为数据库主机,上面安装了clup-agent程序。

2. 导入GaussDB流复制集群

使用此功能可以把用户已经有的流复制集群导入到CLup中进行统一管理。

从CLup的管理机器能够能以流复制协议连接到要纳管的数据库上,才可以纳管。在CLup管理机上可以用下面的命令,测试是否可以连接:

  1. gsql "dbname='template1' host=XXX user=replica port=5443 replication=database"

其中“primary_conninfo”中的:

检查原有数据库的归档配置,因为HA切换,每台机器都可能变成主库,要求每台机器上都需要把归档目录配置好,如一个用户的归档配置如下:

  1. archive_mode = on
  2. archive_command = 'DIR=/data01/arch/`date +%F`; test ! -d $DIR && mkdir -p $DIR; chmod 755 $DIR; test ! -f $DIR/%f && cp %p $DIR'

上面的归档配置要求每台机器上都要有/data01/arch的目录。
检查recovery.conf中的配置,重点是 restore_command的命令,如下面的配置:

  1. restore_command = 'PEER_DIR=/data01/peer_arch; cp $PEER_DIR/*/%f %p'

需要保证上面的命令在每台机器上都可以执行。当然也可以把这条记录去掉。

在CLup的web管理端中的,在集群定义页面中,点导入GaussDB流复制集群按钮:
导入GaussDB流复制集群

在弹出来的框中,输入如下信息:

添加流复制高可用集群仅支持一个主库拖所有备库的情况,所以填的数据库中第一个为主库,其他数据库的上级主库均为第一个主库。

3. 创建流复制高可用集群

在集群管理界面中点创建集群按钮,选择创建GaussDB流复制集群,出现弹出框:

  1. 在已有主机中创建数据库集群:在已经安装运行clup-agent的主机上创建数据库集群
  2. 创建新虚拟机以容纳此数据库集群:先创建虚拟机,再在虚拟机中创建数据库集群。需要配置PaaS模板,PaaS类型必须选择GaussDB。

注意:CLup会自动为运行数据库的操作系统用户在.bashrc中添加环境变量。如果之前在运行数据库的操作系统用户的.bashrc或.bash_profile文件中添加以下环境变量,请先注释掉或删掉以下配置项:

如果上面这些环境变量没有清理掉,可能出现配置重复且不一致导致CLup创建HA集群失败。

3.1 在已有主机中创建数据库集群

数据库所在的主机,只能选择有运行clup-agent的主机,最少选择两个主机,每选择一个主机,下面表格则会多出一行。

填写的各个项说明如下:

点下一步,进入第三步:

填写集群信息:

第四步 填写集群的探测信息:
探测信息

填写探测信息:

第五步 填写数据库常用配置:
常用配置

常用参数配置以及后续的一般参数配置和其它参数配置基本上与创建数据库时输入的内容基本一样,这里就不再赘述了。

3.2 创建新虚拟机以容纳此数据库集群

填写的各个项说明如下:
虚拟机部署

填写好之后,点击下一步,进入第三步:

填写的各个项说明如下:

点下一步,进入第四步:

填写集群信息:

第五步 填写集群的探测信息:
探测信息

填写探测信息:

第六步 填写数据库常用配置:
常用配置

创建完后,这个集群就出现在列表中。

4. 流复制集群的管理

数据库集群中,点击GaussDB流复制集群那一行中的详情按钮,进入到流复制集群详情页面:
详情页面

详情页面中有几个TAB切换页:

点击查看集群信息的界面:
集群信息

点击查看主备数据库的界面:
主备数据库

对于基于流复制的集群,我们可以把一台备数据库变成主数据库,原先的主数据库变成备数据库,其它的备数据库重新从新主数据库中同步。在上面的界面中,点“切换为主库”按钮,可以把此备库切换成主库,原主库切换被备库

注意:在切换过程中会重启所有的主备库,业务会短暂中断!!!

另我们有时会对数据库做一些维护操作,如停止数据库,这时如果我们直接停止数据库,CLup会认为数据库出现的故障,会自动再把数据库拉起来,这时我们需要让CLup对这个集群停止工作,方法就是让集群离线,在集群列表中对指定的集群点离线按钮即可以完成这个工作,当集群处于离线状态,不会再触发故障转换的动作。

在上面的界面中点“停止”按钮,可以把数据库停掉,但要注意,如果HA集群在上线的情况下,如果发现数据库停机了,会自动把其拉起来。

点击流复制状态的界面:
流复制状态

在此界面中可以看到流复制的延迟和状态,注意“实际状态”为“streaming”才是正常的流复制状态,其它状态都表示流复制有问题。“同步”中显示为“async”表示流复制是异步的。
点击查看LSN的界面:
查看LSN

点击机房配置的界面:
机房配置

点击数据库拓扑图的界面:
数据库拓扑图

目录
img