openGauss数据库源码解析 | 备份恢复机制(5)

10.2.2  gs_probackup主要文件

增量备份与全量备份相比,最重要的就是对备份数据和元数据的管理。备份数据主要通过目录来区分,元数据主要通过backup.control文件来管理。gs_probackup的主要目录文件如下。

(1) backup_path:备份根目录,所有实例的备份文件都存放在这个目录下。
(2) backup_path/backups/:数据根目录,所有实例的数据文件都存放在这个目录下。
(3) backup_path/wal/:日志根目录,所有实例的日志文件都存放在这个目录下。
(4) backup_path/backups/instance_name:实例的数据根目录,一个实例的所有数据都存放在这个目录下。实例备份的配置参数文件pg_probackup.conf存放在这个目录下。
(5) backup_path/wal/instance_name:实例的日志根目录,一个实例的所有WAL日志都存放在这个目录下。
(6) backup_path/backups/instance_name/backupID:一个具体备份的数据目录,一次备份的数据存放在这个backupID下,backupID是用这次备份的开始时间start_time进行36位编码生成的,即backupID等于base36enc(backup->start_time),base36enc是一个36位编码的转换函数。备份元数据控制文件backup.control就存放在这个目录下。

gs_probackup备份元数据文件backup.control内容参照pgBackupWriteControl函数写的内容,也可以通过gs_probackup show -B backup-path查看备份元数据信息。

文件内容具体如下:

(1) #Configuration 配置小节。

① backup-mode =  "PAGE","PTRACK","DELTA","FULL"。当前只支持FULL和PTRACK。

② stream = true 或者 false,表示是否流复制备份模式。

③ compress-alg = none,zlib或者pglz。

④ compress-level = 0到9,级别越大,压缩率越高。

⑤ from-replica = true或者 false,true表示是从备机备份数据,false表示从主机备份数据。通过执行pg_is_in_recovery SQL函数来判断主备机。

(2) #Compatibility 兼容性小节。

① block-size = 数据库数据文件数据页的大小。

② xlog-block-size = 数据库日志文件日志页的大小。

③ checksum-version = CRC校验算法的版本号,数值类型。global/pg_control文件中的data_checksum_version。

④ program-version = gs_probackup工具版本号,字符串类型。

⑤ server-version = 数据库服务器版本号,字符串类型。

(3) #Result backup info。

① timelineid = 备份时数据库的时间线。

② start-lsn = 备份开始时的XLOG位置。

③ stop-lsn = 备份结束时的XLOG位置。

④ start-time = 备份开始时的时间(备份状态设置为BACKUP_STATUS_RUNNING的时间)。

⑤ merge-time = 备份合并的时间,如果没有合并,则为0。

⑥ end-time = 备份结束时的时间(或者是备份非正常终止的时间)。

⑦ recovery-xid = 这个备份能够恢复到的最早事务ID。

⑧ recovery-time = 这个备份能够恢复到的最早时间点。

⑨ expire-time = 备份过期的时间。

⑩ merge-dest-id = 备份能合并到的备份ID。

⑪ data-bytes = 备份的数据大小,这个是原始大小。

⑫ wal-bytes = 备份的WAL日志文件大小。

⑬ uncompressed-bytes = 备份的数据未压缩大小,不包括WAL文件。

⑭ pgdata-bytes = 备份时数据库的数据目录PGDATA的大小。

⑮ status = 备份状态 "UNKNOWN","OK","ERROR","RUNNING","MERGING","MERGED","DELETING","DELETED","DONE","ORPHAN","CORRUPT"。

⑯ parent-backup-id = 父备份ID,只有在增量备份的时候有效。

⑰ primary_conninfo = 连接数据库的信息。replication,dbname,fallback_application_name,password等连接信息。

⑱ external-dirs = 备份的外部地址列表。

⑲ note = 备份的注释信息。

⑳ content-crc = 整个备份数据的CRC校验值。backup_content.control文件的CRC值。backup_content.control文件存放了备份文件的信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值