人大金仓KingBase一主一备高可用搭建

0    87    1

Tags:

👉 本文共约3536个字,系统预计阅读时间或需14分钟。

安装过程

下载安装包

Kingbase的安装包为ISO文件,需要将其进行挂在,mount kingbase-cluster.iso /mnt。

1. 如果使用图形化安装,需要安装图形化界面

2. 主备搭建,可以使用sys_basebackup 进行搭建

注意:如果使用命令行的方式进行安装,可以不安装这些组件,使用 sh setup.sh -i console命令行安装方式,在此不再展示。

图形化安装

人大金仓KingBase一主一备高可用搭建

人大金仓KingBase一主一备高可用搭建

人大金仓KingBase一主一备高可用搭建

选项授权文件:

人大金仓KingBase一主一备高可用搭建

人大金仓KingBase一主一备高可用搭建

人大金仓KingBase一主一备高可用搭建

人大金仓KingBase一主一备高可用搭建

人大金仓KingBase一主一备高可用搭建

人大金仓KingBase一主一备高可用搭建

数据库初始化

至此数据软件安装完毕,此时可以将图像化界面关闭,或者继续执行数据库初始化操作【可稍后使用initdb进行数据库初始化】。

人大金仓KingBase一主一备高可用搭建

人大金仓KingBase一主一备高可用搭建

人大金仓KingBase一主一备高可用搭建

人大金仓KingBase一主一备高可用搭建

主备复制搭建

使用sys_basebackup 在从库上执行备份操作,即可搭建出一个流式复制。

备份完成后,执行:sys_ctl start -D $KINGBASE_DATA,启动备库。

查看主库同步:

第一种:登录到主库,查询sys_stat_replication视图。

人大金仓KingBase一主一备高可用搭建

第二种:登录到备库,查询sys_stat_wal_receiver视图。

人大金仓KingBase一主一备高可用搭建

高可用配置

注意事项:

  • 集群中要求各个主机之间可以免密登录。

  • repmgr 由于需要绑定VIP和解绑VIP,因此操作系统用户Kingbase需要有权限执行ip 和 arping命令,因此需要,修改命令的权限:

人大金仓KingBase一主一备高可用搭建

  • repmgr属于扩展插件,需要在数据库中安装,因此使用单独的数据库进行插件安装:

  • 用户esrep为superuser的原因,该用户在后期切换过程中需要执行CHECKPOINT和pg_promote函数,否则在做switchover的时候

    出现以下报错信息

repmgr配置:

1)node1节点配置:(priamry节点)

配置文件位于:/opt/Kingbase/ES/V8/Server/etc/目录下。

启动:repmgrd守护进程,使用khba命令,该命令会自动检测repmgrd进程是否存在,如果不存在,则会自动拉起。

2)node2节点配置:(standby节点)

配置文件位于:/opt/Kingbase/ES/V8/Server/etc/目录下。

启动:repmgrd守护进程,使用khba命令,该命令会自动检测repmgrd进程是否存在,如果不存在,则会自动拉起。

此时执行switchover切换集群:

原因:standby节点未正确跟随主节点。在执行standby register时,使用--upstream-node-id 提供上游节点ID或使用standby follow命令。

或者在创建备库使用repmgr standby clone的方式然后在注册。

执行手工切换测试

1. 查看当前集群状态

2. 查看VIP的解绑和绑定

XXX.XXX.163.120:

人大金仓KingBase一主一备高可用搭建

旧主库正常卸载VIP。

XXX.XXX.163.121:

人大金仓KingBase一主一备高可用搭建

新主库正常加载VIP。

standby节点故障自动自动恢复

需要在repmgr.conf中配置recovery参数:

节点故障自动恢复,automatic、standby、manual。

1)manual

关闭自动恢复,故障节点无论是主机还是备机, 都不进行自动恢复。

2)standby

故障节点是备机才自动恢复。

如果故障节点是primary,集群切换后,旧主节点需要使用node rejoin 命令重新加入集群作为新主节点的备节点。

或者使用repmgr standby clone的方式。

3)automatic

所有故障节点都自动恢复。服务可用优先默认值为automatic, 数据保护优先默认值为standby。

配置该参数后,当standby节点故障后,会尝试将standby节点拉起。

在备库上执行:

人大金仓KingBase一主一备高可用搭建

在主库上查看当前集群状态:

默认尝试连接standby节点10次,每次间隔6s中。60s后,再次查看集群状态:

注意:如果standby节点数据目录被删除,standby节点将无法自动恢复,需要手工重建。

然后将standby节点在集群中注册:

查看集群状态:

primary故障切换及自动恢复

要完成集群的自动切换,需要配置failover='automatic'。

节点故障自动切换,automatic、manual,默认值 为automatic。manual为手工切换。

查看当前集群状态:

停止主库:

查看当前集群状态:

查看切换日志【在新主上查看】:

此时已经切主成功,但是旧主还未自动恢复,当前集群状态:

继续查看新主的repmgr的日志,以下为旧主的自动恢复:

此时,旧主已经自动恢复做新主库的standby节点加入到集群中;查看当前集群状态:

添加wintess仲裁节点

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

在新主机上初始一个kingbase数据库,不能从主库备份生成一个,否在注册为witness仲裁节点时报错:提示和主库system identifier 一致。

注意:witness仲裁节点,当仲裁节点数据库宕机时,会尝试将其自动拉起。

属于此数据库系统的文件宿主为用户 "kingbase"。

此用户也必须为服务器进程的宿主。

数据库簇将使用本地化语言 "zh_CN.UTF-8"进行初始化。

缺省的文本搜索配置将会被设置到"simple"。

参考

https://mp.weixin.qq.com/s/BmVpTDU2epK4XH9m1YXjqA

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部