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

使用gs_probackup工具远程备份

1390

gs_probackup简介

gs_probackup是一个用于管理openGauss数据库备份和恢复的工具。它对openGauss实例进行定期备份,以便在数据库出现故障时能够恢复服务器。
•可用于备份单机数据库或者主节点数据库,为物理备份。
•可备份外部目录的内容,如脚本文件、配置文件、日志文件、dump文件等。
•支持增量备份、定期备份和远程备份。
•可设置备份的留存策略。

前提条件
•可以正常连接openGauss数据库。
•若要使用PTRACK增量备份,需在postgresql.conf中手动添加参数“enable_cbm_tracking = on”。
•为了防止xlog在传输结束前被清理,请适当调高postgresql.conf文件中wal_keep_segments的值。

限制说明
•备份必须由运行数据库服务器的用户执行。
•备份和恢复的数据库服务器的主版本号必须相同。
•如果要通过ssh在远程模式下备份数据库,需要在本地和远程主机安装相同主版本的数据库,并通过ssh-copy-id remote_user@remote_host命令设置本地主机备份用户和远程主机数据库用户的无密码ssh连接。
•远程模式下只能执行add-instance、backup、restore子命令。
•使用restore子命令前,应先停止gaussdb进程。
•当存在用户自定义表空间时,备份的时候要加上 --external-dirs 参数,否则,该表空间不会被备份。
•当备份的规模比较大时,为了防止备份过程中timeout发生,请适当调整postgresql.conf文件的参数 session_timeout、wal_sender_timeout。并且在备份的命令行参数中适当调整参数–rw-timeout的值。
•恢复时,使用-T选项把备份中的外部目录重定向到新目录时,请同时指定参数–external-mapping。
•增量备份恢复后,之前创建的逻辑复制槽不可用,需删除重建。

本文主要介绍如何使用gs_probackup工具进行远程备份。

gs_probackup远程备份相关参数

进行远程备份时,主要需要设置两个远程连接参数:(其他远程连接参数,使用默认值即可。)
•–remote-host=destination :指定要连接的远程主机的IP地址或主机名。
•–remote-user=username :指定SSH连接的远程主机用户。如果省略此参数,则使用当前发起SSH连接的用户。默认值:当前用户

gs_probackup远程备份举例

初始化备份目录

$ gs_probackup init -B /home/omm2/backup1 INFO: Backup catalog '/home/omm2/backup1' successfully inited

添加一个新的备份实例

$ /u01/mogdb2.1.0/app/bin/gs_probackup add-instance -B /home/omm2/backup1 --instance=dn_6001 --remote-host=192.168.2.150 --remote-user=omm2 -D /u01/mogdb2.1.0/data/db1 -Urepl -p30000 -dpostgres LOG: Start SSH client process, pid 10597 INFO: Instance 'dn_6001' successfully inited LOG: Start SSH client process, pid 28068 INFO: Instance 'dn_6001' successfully inited

数据库全备

$ gs_probackup backup -B /home/omm2/backup1 --instance=dn_6001 -b FULL --remote-host=192.168.2.150 --remote-user=omm2 INFO: Backup start, gs_probackup version: 2.4.2, instance: dn_6001, backup ID: R80P6X, backup mode: FULL, wal mode: STREAM, remote: true, compress-algorithm: none, compress-level: 1 LOG: Backup destination is initialized Password for user repl: 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: Start SSH client process, pid 10732 LOG: Database backup start LOG: started streaming WAL at 0/D000000 (timeline 1) [2022-02-28 21:52:14]: check identify system success [2022-02-28 21:52:14]: send START_REPLICATION 0/D000000 success [2022-02-28 21:52:14]: keepalive message is received [2022-02-28 21:52:14]: keepalive message is received LOG: SSH process 10732 is terminated with status 0 INFO: PGDATA size: 619MB INFO: Start transferring data files LOG: Start SSH client process, pid 10736 LOG: Creating page header map "/home/omm2/backup1/backups/dn_6001/R80P6X/page_header_map" [2022-02-28 21:52:17]: keepalive message is received [2022-02-28 21:52:20]: keepalive message is received [2022-02-28 21:52:20]: keepalive message is received [2022-02-28 21:52:23]: keepalive message is received [2022-02-28 21:52:26]: keepalive message is received [2022-02-28 21:52:26]: keepalive message is received LOG: SSH process 10736 is terminated with status 0 INFO: Data files are transferred, time elapsed: 14s [2022-02-28 21:52:29]: keepalive message is received INFO: wait for pg_stop_backup() INFO: pg_stop backup() successfully executed LOG: stop_lsn: 0/D0001E8 LOG: Looking for LSN 0/D0001E8 in segment: 00000001000000000000000D LOG: Found WAL segment: /home/omm2/backup1/backups/dn_6001/R80P6X/database/pg_xlog/00000001000000000000000D LOG: Thread [0]: Opening WAL segment "/home/omm2/backup1/backups/dn_6001/R80P6X/database/pg_xlog/00000001000000000000000D" LOG: Found LSN: 0/D0001E8 LOG: finished streaming WAL at 0/E000000 (timeline 1) LOG: Getting the Recovery Time from WAL LOG: Thread [0]: Opening WAL segment "/home/omm2/backup1/backups/dn_6001/R80P6X/database/pg_xlog/00000001000000000000000D" INFO: Syncing backup files to disk INFO: Backup files are synced, time elapsed: 0 INFO: Validating backup R80P6X INFO: Backup R80P6X data files are valid INFO: Backup R80P6X resident size: 635MB INFO: Backup R80P6X completed

显示备份信息

$ gs_probackup show -B /home/omm2/backup1 BACKUP INSTANCE 'dn_6001' ================================================================================================================================= Instance Version ID Recovery Time Mode WAL Mode TLI Time Data WAL Zratio Start LSN Stop LSN Status ================================================================================================================================= dn_6001 9.2 R80P6X 2022-02-28 21:52:28+08 FULL STREAM 1/0 24s 619MB 16MB 1.00 0/D000028 0/D0001E8 OK $ gs_probackup show -B /home/omm2/backup1 --instance dn_6001 -i R80P6X #Configuration backup-mode = FULL stream = true compress-alg = none compress-level = 1 from-replica = false #Compatibility block-size = 8192 xlog-block-size = 8192 checksum-version = 0 program-version = 2.4.2 server-version = 9.2 #Result backup info timelineid = 1 start-lsn = 0/D000028 stop-lsn = 0/D0001E8 start-time = '2022-02-28 21:52:09+08' end-time = '2022-02-28 21:52:33+08' recovery-xid = 42848 recovery-time = '2022-02-28 21:52:28+08' recovery-name = 'backup R80P6X' data-bytes = 649266705 wal-bytes = 16777216 uncompressed-bytes = 649218794 pgdata-bytes = 649218794 status = OK content-crc = 4089751389
最后修改时间:2022-02-28 22:26:34
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论