关键字:sys_start_backup、sys_stop_backup、人大金仓
KES在备份中提供了一种基础备份方式,使用sys_start_backup、sys_stop_backup API接口。本文对这两个接口的使用做介绍
排他模式与非排他模式的区别
基础备份从并发的角度可以分为排他模式和非排他模式,排他模式只允许系统中有一个备份过程存在,非排他模式允许多个备份过程同时存在于系统中。非排他的是session级别,排他备份在不执行结束和停机,就一直存在着。
排他模式和非排他模式的区别如下:
| 排他模式 | 非排他模式 |
备份角色 | 主机 | 主机、备机 |
运行模式 | 串行 | 串行、并行 |
文件生成 | 在开始备份后,在data目录中生成backup label和tablespace map文件。 | 不生成文件 |
停止备份要求 | 备份期间不能停止备份 | 备份期间可以停止备份 |
sys_start_backup、sys_stop_backup参数解释
拷贝模式通过设置SQL函数的参数来选择排他与非排他、fast检查点、等待WAL归档功能。
- sys_start_backup(`label`, false, false)
第一个参数:记录备份的标签。
第二个参数:是否执行一个快速的checkpoint
第三个参数:true 执行排他模式物理备份、false执行非排他模式物理备份。
返回值:返回所有节点号与其startpoint,例如:[node1:0/14000028,node2:0/16000028,node3:0/5000028,node4:0/5000028]
- sys_stop_backup(false, false)
第一个参数:true结束排他模式物理备份,false结束非排他模式的物理备份。
第二个参数:是否等待备份最后一个WAL文件归档完成。
返回值:排他模式所有节点号及其stoppoint,非排他模式分为三部分第一部分为所有节点号及其stoppoint,第二部分为labelfile中的内容,第三部分为tablespacemapfile文件中的内容
备份记录的文件
排他模式:执行开始备份后,在data目录下生成backup label和tablespace map文件。所以直接存储data目录。
非排他模式:不会生成backup label和tablespacemap文件,拷贝模式需要自行写入文件,流传输模式sys_basebackup工具生成这两个文件。
backup_label文件
backup_label文件记录了存储备份的基础信息,包括各节点的 START WAL LOCATION、CHECKPOINT LOCATION
还有BACKUP METHOD、START TIME、LABEL、START TIMELINE、各节点的参与状态。
例如:
START WAL LOCATION_1: 0/2000028 (file 000000010000000000000002)
START WAL LOCATION_2: 0/2000028 (file 000000010000000000000002)
START WAL LOCATION_3: 0/10000B0 (file 000000010000000000000001)
START WAL LOCATION_4: 0/10000B0 (file 000000010000000000000001)
CHECKPOINT LOCATION_1: 0/2000028
CHECKPOINT LOCATION_2: 0/2000028
CHECKPOINT LOCATION_3: 0/10000B0
CHECKPOINT LOCATION_4: 0/10000B0
BACKUP METHOD: pg_start_backup
BACKUP FROM: master
START TIME: 2023-06-17 16:21:45 CST
LABEL: data
START TIMELINE: 1
NODE1: Master_backup
NODE2: Follower_backup
NODE3: no_backup
NODE4: no_backup
tablespace map文件
记录表空间的链接信息
例如:106654 /sharedata/data_gfs2/kingbase/hy