暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【实战干货】磐维数据库_双集群搭建流复制经验分享

原创 磐维数据库 2025-06-27
290

前提

AB两套集群已经部署完成

一、修改A集群相关配置文件

1. 设置各节点/etc/hosts(root用户)

vi /etc/hosts


2. A集群主备节点调整(omm用户)

vi $PGDATA/postgresql.conf –所有节点

vi $PGDATA/pg_hba.conf –所有节点

pw_ctl reload



二、修改B集群相关配置文件

1. 设置各节点/etc/hosts(root用户)

vi /etc/hosts


2. B集群主备节点调整(omm用户)

vi $PGDATA/postgresql.conf –所有节点

vi $PGDATA/pg_hba.conf –所有节点

pw_ctl reload



三、 A&B集群build拉取同步数据

备库数据初始化时,需使用build命令,于备节点omm用户下执行:

gs_om -t status –detail

gs_ctl stop

pw_ctl build -b full


后续B集群启停命令格式如下:

pw_ctl -M standby start/stop/restart


四、查看 A&B集群同步状态

A集群

B集群


五、如需B集群提供只读功能可参考以下

1. B集群参数调整

postgresql.base.conf文件末尾追加相关参数配置调整

hot_standby_feedback = on

max_standby_streaming_delay = '60s'

work_mem='64MB'

session_timeout='60min'

archive_mode=off


2. 参数配置reload生效

su – omm

pw_ctl reload


注意事项说明

1. 独立备库可关闭归档模式

由于新增的独立备库不存在提升为主节点的场景,因此可以关闭归档模式。

2. 备库配置调整独立于主节点

新增备库的配置调整(如参数修改等)不会对主节点的运行产生直接影响。这种独立性为备库的优化和调试提供了灵活性。

3. 主节点故障切换后,备节点自动恢复流复制

当原主节点发生故障切换后,新增备节点会自动尝试与新主库建立流复制连接。尽管如此,在故障切换场景下,仍建议全面检查数据库状态,确保备节点与新主库的同步状态正常,以避免数据不一致或同步延迟问题。

4. 新增独立备节点的启停注意事项

使用 -M 参数明确指定为 standby 模式,以确保备节点以正确的模式运行。

建议通过配置系统服务来管理备节点的启停,以确保数据库在开机时能够自动启动,并在进程异常时能够自动拉起,从而提高系统的可用性和稳定性。

5. 延迟回放可能导致表膨胀

备库启用了60秒的延迟回放功能,虽然有助于应对备库查询,但可能导致主节点的VACUUM操作延迟,进而引发表膨胀现象。建议定期监控表空间使用情况,及时优化表存储。

6. 备节点查询可能引发回放冲突

在备库上执行超过60秒的长查询时,可能会与WAL回放进程产生冲突,导致查询被中断并报错:

ERROR: canceling statement due to conflict with recovery

DETAIL: User query might have needed to see row versions that must be removed.

7. 备节点故障可能导致主节点XLOG堆积

若新增备库发生故障且未及时处理(重启或build),可能导致主节点的复制槽失效,进而引发XLOG日志堆积,影响主库性能。建议将新增备库的运行状态纳入监控系统,实时跟踪其健康状态,并设置告警机制,确保故障能够被及时发现和处理。

最后修改时间:2025-06-27 18:17:40
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论