PostgreSQL的复制拓扑更改

  • 时间:
  • 浏览:0
  • 来源:5分11选5官方_大发5分3D

当你希望备用服务器快速启动并运行—以便均衡负载你以前晋升的主服务器,并在前要时拥一3个 备用服务器进行故障转移。

Pg_rewind的工作法律辦法 不同——它只群克隆哪几个修改过的块。它只群克隆更改,而都有群克隆所有内容,这大大缩短了防止时间。假设新主服务器的IP是10.0.0.103。这全都执行pg_rewind的法律辦法 。

哪几个是拓扑更改的全都常见状况。不出讨论但仍然不得劲要的一3个 主题是哪几个更改对应用守护系统进程的影响。

TIPS:请注意,您前要停止目标服务器的PostgreSQL数据库。

还前要在备用服务器上完成,使用如下查询:

现在还前要启动备用服务器了,它将群克隆新的主服务器。

主服务器崩溃,使应用守护系统进程无法访问它。

主服务器上的数据库维护会影响工作负载,无法进行操作。

要连接它们,首先前要重新构建它们。这里有有一种法律辦法 还前要尝试:标准基础备份或pg_rewind。

不管计划算是,哪几个都有执行故障转移的导致 分析。在所有哪几个状况下,都前要将其中一3个 备用服务器提升为新的主服务器。

我门将在另一篇文章中讨论你这人 大问題,以及怎么可否使哪几个拓扑更改对应用守护系统进程透明。

一切就绪,就还前要停止旧的主服务器并提升备用服务器。

从一3个 备用服务器的拓扑转移到链式群克隆非常简单。

将备服务器提升为主服务器,这是将会有你在身边最常见的操作。

重启后,10.0.0.103应该现在现在开始应用WAL更新。

您前要将recovery.conf修改为10.0.0.103,将其指向10.0.0.102,否则重新启动PostgreSQL。

这有一种法律辦法 的主要区别在于,基本备份创建了数据集的完整副本。将会我门讨论的是小型数据集,这是还前要的,否则对于数百gb(甚至更大)的数据集,这调快就会成为一3个 大问題。

这将进行预演,测试流程,但不做任何更改。将会一切正常,你所要做的全都再次运行它,这次不出使用“——dry-run”参数。

群克隆在保持高可用性方面起着至关重要的作用。服务器将会再次出现故障,操作系统或数据库软件将会前要升级。这导致 分析重新排列服务器角色和移动群克隆链接指向,一起去维护所有数据库之间的数据一致性,更改拓扑底部形态是前要的,否则我门还前要通过不同的法律辦法 来实现。

运行命令很容易,但首好难确保防止任何数据丢失。

完成以前,剩下的最后一步将是创建一3个 recovery.conf文件,该文件将指向新的主文件。

想要提升一3个 备服务器,还前要执行命令

将会我门讨论的是“主服务器宕机”场景,将会不出太大的选项。

导致 分析有全都有-这类:

将会全都硬件操作,将会会计划停机。

尽管构建链式群克隆通常是为了减少主服务器上的负载,否则构建链式群克隆的导致 分析有全都有。将WAL提供给备用服务器会增加全都开销。将会您一3个 备用服务器,这都有哪几个大大问題,否则将会我门讨论的是小量的备用服务器,这将会会成为一3个 大问題。这类,我门还前要通过创建如下拓扑底部形态来最小化从活动中直接群克隆的备用服务器的数量:

您将会有多个备用服务器在与主服务器进行同步。毕竟,备用服务器对于均衡负载只读流量非常有用。在将备用服务器提升到新的主服务器以前,你前要对仍然连接(或正在尝试连接)到旧主服务器的其余备用服务器做全都防止。不幸的是,你不到只更改recovery.conf并将它们连接到新的主服务器(将会新主服务器与全都备服务器之间,不出设置主备关系)。

将会是有计划的维护,不出都有将会做好准备。你前要停止主服务器上的通信,否则验证备用服务器接收并应用了所有数据。

它将会是一3个 的: