use zfs snapshot rollback postgresql's primary to old status in PG HA

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介:
前几天讲过zfs的snapshot用作PostgreSQL PITR, 使用接近还原点的snapshot可以减少xlog的apply, 缩短数据库的恢复时间.
其实snapshot还有一个作用, 用作流复制HA的主备角色切换后避免因为XLOG的差异导致old primary无法切换成standby角色.
例如  : 
一个PG 流复制的HA场景如下 : 

use zfs snapshot rollback postgresqls primary to old status in PG HA - 德哥@Digoal - PostgreSQL
在发生failover后, standby节点切换成主节点, 老的主节点切换成standby节点.
但是由于standby节点和老的主节点存在差异, (即只接收了部分XLOG), 那么STANDBY激活后实际上是从primary节点的过去状态开始了新的读写, 所以primary节点不能直接切换成standby节点.
use zfs snapshot rollback postgresqls primary to old status in PG HA - 德哥@Digoal - PostgreSQL

如果primary节点有snapshot的话, 可以回到以往的snapshot, 使用rollback或者使用clone都没有问题. 只是clone更保险一点, 因为还能回来, 完全OK后可以删掉其他的dataset.
注意必须回到一个节点并且所有的xlog都在新的primary可以找到.

use zfs snapshot rollback postgresqls primary to old status in PG HA - 德哥@Digoal - PostgreSQL
 
这种问题的另外一种解决办法是使用rsync , 这也是pgpool-II中的用法, 但是rsync对于比较大的数据库, 开销一是很大的, 因为所有的文件都要读一遍, 技术checksum, 然后与本地文件的checksum进行比对. 所以不推荐使用rsync.

[参考]
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
3月前
|
存储 关系型数据库 Java
polardb有没有搞过pg 全量及增量备份管理的
【1月更文挑战第3天】【1月更文挑战第11篇】 polardb有没有搞过pg 全量及增量备份管理的
33 1
|
1月前
|
负载均衡 监控 关系型数据库
PostgreSQL从小白到高手教程 - 第48讲:PG高可用实现keepalived
PostgreSQL技术大讲堂 - 第48讲:PG高可用实现keepalived
65 1
|
2月前
|
SQL 关系型数据库 数据库
PostgreSQL从小白到高手教程 - 第44讲:pg流复制部署
PostgreSQL技术大讲堂 - 第44讲:pg流复制部署
56 0
|
4月前
|
SQL 关系型数据库 数据库
postgresql|数据库|pg数据库的文件系统详解---最全面的解析
postgresql|数据库|pg数据库的文件系统详解---最全面的解析
124 0
|
4月前
|
安全 关系型数据库 数据库
上新|阿里云RDS PostgreSQL支持PG 16版本,AliPG提供丰富自研能力
AliPG在社区版16.0的基础上,在安全、成本、可运维性等多个方面做了提升,丰富的内核/插件特性支持,满足业务场景的需求
|
4月前
|
关系型数据库 数据库 PostgreSQL
flink postgresql cdc实时同步(含pg安装配置等)
flink postgresql cdc实时同步(含pg安装配置等)
158 0
|
7月前
|
消息中间件 关系型数据库 分布式数据库
PolarDB for PG
PolarDB for PG
108 1
|
9月前
|
SQL 关系型数据库 数据库
flink postgresql cdc实时同步(含pg安装配置等)
flink postgresql cdc实时同步(含pg安装配置等)
1776 2
|
11月前
|
人工智能 关系型数据库 分布式数据库
【活动报名】PolarDB开源数据库&PG中文社区技术沙龙温州站
在当今云计算和人工智能高速发展的时代,数据库技术和应用正经历着前所未有的变革。为了进一步促进数据库技术与产业界、学术界的交流,PolarDB开源社区将联合PG中文社区、温州大学,在温州举办主题为“AIGC时代下数据库技术变革与人才培养”的技术沙龙。
|
关系型数据库 数据库 PostgreSQL
PG技术大讲堂 - 第14讲:PostgreSQL 检查点
PG技术大讲堂 - 第14讲:PostgreSQL 检查点
244 1