备份恢复三 probackup
1、什么是一致性检查?
一致性检查的对象:数据库文件
目的:验证恢复数据库所需的所有文件是否存在且未损坏,和数据的完整
备份完成后,对数据库的检查包括对逻辑和物理层面,发现数据库文件中需要修复的地方,以此确保所有的规则必须应用到事务的修改上,以便维护所有数据的完整性。
Probackup的优势就在于,备份之后无需实际的数据恢复,只对备份文件就可以进行检查。
2、什么是备份集?
备份集物理上是一个输出文件
在进行备份时可以指定一个或多个实例,则备份集会出现在实例同名目录下。
在恢复时 -i子命令指定的就是备份集ID,可以实现对此次增量的恢复
体现在用工具查看查看备份情况,是这样的
体现在备份目录上是这样的
3、全量备份的内容具体是什么?
从备份属性看,vb_probackup属于物理备份工具,实际上备份的是整个database cluster
①不指定外部目录的情况:
一个备份集下的目录:
全量备份集RM5U9N/database下的内容与$PGDATA下的内容是一致的
增量备份集内容比全量备份目录下的内容少,增量备份仅会备份上一次全量备份之后发生变更的数据
②指定外部目录的情况
包括了database cluster 和外部目录
路径:backups/instance_name/external_dir
4、备份与归档日志的关系
vb_probackup只能进行物理在线备份,在线备份需要 WAL 进行一致恢复。因此,使用 vb_probackup进行的任何备份都必须使用以下 WAL 交付模式之一:
l archive :此类备份依赖于连续归档来确保一致的恢复
l stream:此类备份包括在进行备份时将集群恢复到一致状态所需的所有文件。无论是否 设置了连续归档,一致恢复所需的 WAL 段在备份期间通过复制协议流式传输并包含到备份文件中。
<u>https://www.modb.pro/db/382367</u>
初始化备份目录时创建的wal目录就是来存放归档的。
其中PTRACK备份在这种模式下的原理是动态跟踪页面更改。它的运行不需要连续归档。
5、备份的具体流程
<u>https://www.2ndquadrant.com/en/blog/what-does-pg_start_backup-do/</u>
backup的处理函数,根据参数判断是FULL还是PTRACK进行全量或者增量备份。
全量备份和增量备份基本流程是一样的,唯一的区别是全量备份拷贝全部数据文件,增量备份只拷贝自上次备份以来的脏数据页。
增量备份获取变动数据块的机制
<u>https://bbs.huaweicloud.com/blogs/274319</u>
6、basebackup工具与Probackup的各方面对比情况
vb_basebackup vb_probackup
7、basebackup是否可以并行?Probackup的并行优势在哪里?
一个网友的测试basebackup并行压缩的例子:可以参考一下
<u>https://www.modb.pro/db/92811</u>
8、时间线
<u>https://blog.csdn.net/m15217321304/article/details/105286723</u>