暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Mogdb备份恢复--全量备份和增量备份

原创 2020 2022-08-31
1429

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论