1.备份命令介绍
(1)gs_probackup
gs_probackup是一个用于管理MogDB数据库备份和恢复的工具。它对MogDB实例进行定期备份,以便在数据库出现故障时能够恢复服务器。
可用于备份单机数据库,也可对主机或者主节点数据库备机进行备份,为物理备份。
可备份外部目录的内容,如脚本文件、配置文件、日志文件、dump文件等。
支持增量备份、定期备份和远程备份。
可设置备份的留存策略。
常用备份参数:
-B 备份的路径。
-D 数据目录的路径
-d 数据库名
-p 数据库端口
-b 指定备份模式,支持FULL和PTRACK。
2.全量备份
—设置数据库参数
[omm@node1 ~]$ gs_guc reload -N all -I all -c "enable_cbm_tracking=on"
NOTICE: Turn on cbm tracking function.
Begin to perform the total nodes: 1.
Popen count is 1, Popen success count is 1, Popen failure count is 0.
Begin to perform gs_guc for datanodes.
Command count is 1, Command success count is 1, Command failure count is 0.
Total instances: 1. Failed instances: 0.
ALL: Success to perform gs_guc!
—初始化备份目录
[omm@node1 ~]$ gs_probackup init -B /home/omm/bak
INFO: Backup catalog '/home/omm/bak' successfully inited
—添加备份实例
[omm@node1 ~]$ gs_probackup add-instance --instance test1 -B /home/omm/bak -D /opt/mogdb/data
INFO: Instance 'test1' successfully inited
—连接数据库
[omm@node1 ~]$ gs_probackup set-config --instance=test1 -B /home/omm/bak -d postgres -p26000
—创建表test1并插入数据
openGauss=# Create table test1 (id int);
CREATE TABLE
openGauss=# Insert into test1 values (1);
INSERT 0 1
openGauss=# Insert into test1 values (2);
INSERT 0 1
openGauss=# Select * from test1;
id
----
1
2
(2 rows)
—数据库全量备份
[omm@node1 ~]$ gs_probackup backup -B /home/omm/bak --instance test1 -b full
INFO: Backup start, gs_probackup version: 2.4.2, instance: test1, backup ID: RHH7GZ, backup mode: FULL, wal mode: STREAM, remote: false, compress-algorithm: none, compress-level: 1
LOG: Backup destination is initialized
WARNING: This openGauss instance was initialized without data block checksums. gs_probackup have no way to detect data block corruption without them. Reinitialize PGDATA with option '--data-checksums'.
LOG: Database backup start
LOG: started streaming WAL at 0/3000000 (timeline 1)
[2022-08-31 18:50:59]: check identify system success
[2022-08-31 18:50:59]: send START_REPLICATION 0/3000000 success
[2022-08-31 18:50:59]: keepalive message is received
INFO: Cannot parse path "base"
[2022-08-31 18:50:59]: keepalive message is received
INFO: PGDATA size: 600MB
INFO: Start transferring data files
LOG: Creating page header map "/home/omm/bak/backups/test1/RHH7GZ/page_header_map"
[2022-08-31 18:51:02]: keepalive message is received
[2022-08-31 18:51:05]: keepalive message is received
[2022-08-31 18:51:05]: keepalive message is received
INFO: Data files are transferred, time elapsed: 7s
INFO: wait for pg_stop_backup()
INFO: pg_stop backup() successfully executed
LOG: stop_lsn: 0/30001E8
LOG: Looking for LSN 0/30001E8 in segment: 000000010000000000000003
LOG: Found WAL segment: /home/omm/bak/backups/test1/RHH7GZ/database/pg_xlog/000000010000000000000003
LOG: Thread [0]: Opening WAL segment "/home/omm/bak/backups/test1/RHH7GZ/database/pg_xlog/000000010000000000000003"
LOG: Found LSN: 0/30001E8
LOG: finished streaming WAL at 0/4000000 (timeline 1)
LOG: Getting the Recovery Time from WAL
LOG: Thread [0]: Opening WAL segment "/home/omm/bak/backups/test1/RHH7GZ/database/pg_xlog/000000010000000000000003"
INFO: Syncing backup files to disk
INFO: Backup files are synced, time elapsed: 1s
INFO: Validating backup RHH7GZ
INFO: Backup RHH7GZ data files are valid
INFO: Backup RHH7GZ resident size: 616MB
INFO: Backup RHH7GZ completed
–验证备份是否成功
[omm@node1 ~]$ gs_probackup show -B /home/omm/bak/
BACKUP INSTANCE 'test1'
=================================================================================================================================
Instance Version ID Recovery Time Mode WAL Mode TLI Time Data WAL Zratio Start LSN Stop LSN Status
=================================================================================================================================
test1 9.2 RHH7GZ 2022-08-31 18:51:06+08 FULL STREAM 1/0 13s 600MB 16MB 1.00 0/3000028 0/30001E8 OK
3.增量备份
-b 指定备份模式,支持FULL和PTRACK。
FULL:创建全量备份,全量备份包含所有数据文件。
PTRACK:创建PTRACK增量备份。
—创建表test2并插入数据
openGauss=# Create table test2 (id int);
CREATE TABLE
openGauss=#
openGauss=# Insert into test2 values (1);
INSERT 0 1
openGauss=#
openGauss=# Insert into test2 values (2);
INSERT 0 1
openGauss=#
openGauss=# Select * from test2;
id
----
1
2
(2 rows)
—数据库增量备份
[omm@node1 ~]$ gs_probackup backup -B /home/omm/bak/ --instance test1 -b PTRACK
INFO: Backup start, gs_probackup version: 2.4.2, instance: test1, backup ID: RHH7OA, backup mode: PTRACK, wal mode: STREAM, remote: false, compress-algorithm: none, compress-level: 1
LOG: Backup destination is initialized
WARNING: This openGauss instance was initialized without data block checksums. gs_probackup have no way to detect data block corruption without them. Reinitialize PGDATA with option '--data-checksums'.
LOG: Database backup start
LOG: Latest valid FULL backup: RHH7GZ
INFO: Parent backup: RHH7GZ
LOG: started streaming WAL at 0/5000000 (timeline 1)
[2022-08-31 18:55:22]: check identify system success
[2022-08-31 18:55:22]: send START_REPLICATION 0/5000000 success
[2022-08-31 18:55:22]: keepalive message is received
INFO: Cannot parse path "base"
[2022-08-31 18:55:22]: keepalive message is received
INFO: PGDATA size: 600MB
LOG: Current tli: 1
LOG: Parent start_lsn: 0/3000028
LOG: start_lsn: 0/5000028
INFO: Extracting pagemap of changed blocks
INFO: change bitmap start lsn location is 0/3000028
INFO: change bitmap end lsn location is 00000000/05000028
INFO: Pagemap successfully extracted, time elapsed: 0 sec
INFO: Start transferring data files
LOG: Creating page header map "/home/omm/bak/backups/test1/RHH7OA/page_header_map"
[2022-08-31 18:55:25]: keepalive message is received
INFO: Data files are transferred, time elapsed: 4s
INFO: wait for pg_stop_backup()
INFO: pg_stop backup() successfully executed
LOG: stop_lsn: 0/50001E8
LOG: Looking for LSN 0/50001E8 in segment: 000000010000000000000005
LOG: Found WAL segment: /home/omm/bak/backups/test1/RHH7OA/database/pg_xlog/000000010000000000000005
LOG: Thread [0]: Opening WAL segment "/home/omm/bak/backups/test1/RHH7OA/database/pg_xlog/000000010000000000000005"
LOG: Found LSN: 0/50001E8
LOG: finished streaming WAL at 0/6000000 (timeline 1)
LOG: Getting the Recovery Time from WAL
LOG: Thread [0]: Opening WAL segment "/home/omm/bak/backups/test1/RHH7OA/database/pg_xlog/000000010000000000000005"
INFO: Syncing backup files to disk
INFO: Backup files are synced, time elapsed: 0
INFO: Validating backup RHH7OA
INFO: Backup RHH7OA data files are valid
INFO: Backup RHH7OA resident size: 273MB
INFO: Backup RHH7OA completed
—查看当前所有备份
[omm@node1 ~]$ gs_probackup show -B /home/omm/bak/
BACKUP INSTANCE 'test1'
===================================================================================================================================
Instance Version ID Recovery Time Mode WAL Mode TLI Time Data WAL Zratio Start LSN Stop LSN Status
===================================================================================================================================
test1 9.2 RHH7OA 2022-08-31 18:55:26+08 PTRACK STREAM 1/1 11s 257MB 16MB 1.00 0/5000028 0/50001E8 OK
test1 9.2 RHH7GZ 2022-08-31 18:51:06+08 FULL STREAM 1/0 13s 600MB 16MB 1.00 0/3000028 0/30001E8 OK
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。