这篇文章给大家聊聊关于故障切换后快速添加原主节点至集群,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
$ psql -c 'ALTER SYSTEM SET wal_log_hints TO 'ON''$ pg_ctl -D $PGDATA restart 此外,自故障转移以来的所有WAL 段都必须存在才能完成回滚。
操作步骤
我们将使用以下步骤来执行此操作:
1. 如果需要,您可以手动关闭旧主机上的PostgreSQL:
$ pg_ctl -D $PGDATA stop2。运行pg_rewind:
$ pg_rewind -D /var/lib/pgsql/12/data --sourceserver='host=port=5432 user=postgres dbname=postgres password=secret'服务器在时间线1 上的WAL POSITION 0/9BC9E268 处分叉。无法打开文件'/var/lib/pgsql/12/data/pg_wal/00000001000000000000009B': 没有这样的文件或目录无法在0/9BC9E268 处找到先前的WAL 记录失败,正在退出3。这里,主机上只保留了一些WAL 段,所以现在我们需要复制一些回来:
$ ls -l /var/lib/pgsql/12/data/pg_wal/-rw------- 1 postgres postgres 16777216 四月4 日13:51 0000000100000000000000B5-rw------ 1 postgres postgres 16777216 四月4 日133336 051 000000010000000000000B6-rw------- 1 postgres postgres 42 Apr 4 13:49 00000002.historydrwx------ 2 postgres postgres 4096 Apr 4 13:51 archive_status/所以,我们只需要将9B 中的所有W 复制到B5 AL段:
$ cp /backup/archive/00000001000000000000009[BCDEF] /var/lib/pgsql/12/data/pg_wal/$ cp /backup/archive/0000000100000000000000A? /var/lib/pgsql/12/data/pg_wal/$ cp /backup /archive/0000000100000000000000B[01234] /var/lib/pgsql/12/data/pg_wal/4.再次运行pg_rewind:
$ pg_rewind -D /var/lib/pgsql/12/data --sourceserver='host=port=5432 user=postgres dbname=postgres password=secret'服务器在时间线1 上的WAL 位置0/9BC9E268 处分叉。时间线1Done!5 上0/9B8B20D0 处的公共检查点。添加primary_conninfo设置并创建standby.signal文件:
$ echo 'primary_conninfo='用户=复制器密码=秘密主机=端口=5432 sslmode=首选sslcompression=0 gssencmode=首选krbsrvname=postgres target_session_attrs=any'' $PGDATA/postgresql.auto.conf$ echo 'standby_mode='ON' ' $PGDATA/postgresql.auto.conf$ 触摸$PGDATA/standby.signal6。启动备用服务器(M1):
$ pg_ctl -D $PGDATA start
怎么做到的
执行故障转移后,新主服务器的时间线将发生变化,并且与原始主服务器不同。此时,我们可以使用pg_rewind从新master重新同步旧master。这样我们就可以将旧的主服务器作为备用服务器添加到集群中,而无需重建它。为了实现这一点,我们需要确保旧的主服务器不接受写入并在故障转移时关闭。或者,我们可以使用步骤1 中使用的命令手动关闭旧主机(M1) 上运行的Postgres。
一旦旧的master 关闭,我们可以像步骤2 中那样使用pg_rewind 将旧的master 回退到应从新的master 开始复制的位置。在命令中,唯一需要更改的是主机,它必须是新主机的IP或主机名。另外,您还应正确更改用户名和密码。
大家好,今天来为大家解答故障切换后快速添加原主节点至集群这个问题的一些问题点,包括也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/6052.html
用户评论
我刚遇到同样的问题,希望这个文章能提供解决方法!
有16位网友表示赞同!
感觉故障切换真是太考验系统配置了,这篇文章有救!
有15位网友表示赞同!
原来备机还可以这样添加,之前都还在乱打转...
有17位网友表示赞同!
技术文档看的我头疼,希望能讲清楚一点,让我快速理解。
有10位网友表示赞同!
最近在搭建集群,遇到很多问题,这篇文章正好赶上了!
有13位网友表示赞同!
集群管理确实比单节点复杂多了,需要多学习一些经验...
有8位网友表示赞同!
分享一下自己的经验,看能不能互相交流。
有14位网友表示赞同!
故障切换后备机添加流程是不是很繁琐?
有11位网友表示赞同!
有没有什么快速添加的工具或者插件可以推荐?
有5位网友表示赞同!
这篇教程能不能具体点,例如操作步骤和配置参数.
有14位网友表示赞同!
看了标题感觉很有用,希望能详细讲解一下原理。
有12位网友表示赞同!
希望文章能介绍不同集群系统的处理方法。
有12位网友表示赞同!
故障切换之后备机恢复会遇到什么情况?
有20位网友表示赞同!
添加备机需要多久,有没有时间方面的限制?
有8位网友表示赞同!
如果集群很大,添加备机会不会很慢?
有7位网友表示赞同!
这个过程需要注意哪些安全问题?
有11位网友表示赞同!
文章提到的步骤都比较基础吗?
有19位网友表示赞同!
希望作者能提供一些实际案例进行讲解。
有7位网友表示赞同!
文章的适用范围是什么?所有集群系统都可以用吗?
有11位网友表示赞同!