news 2026/6/10 9:12:51

GBase 8c集中式场景下的远程物理备份恢复 介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GBase 8c集中式场景下的远程物理备份恢复 介绍

1 概述

数据库备份是数据安全与业务连续性的生命线,它如同为珍贵数字资产撑起的一把保护伞。备份的意义不仅在于应对硬件故障、系统崩溃等常见风险,更在于防范人为误操作、恶意攻击、自然灾害等意外威胁。定期可靠的备份策略能在灾难发生时,将业务中断时间缩至最短,做到数据不丢失。在实际应用情况下,备份需要拷贝到异地,保证数据冗余,保证数据库服务器宕机不能启动时,也可以通过异地备份进行数据库恢复。

GBase 8c多模多态数据库支持行存、列存、向量、时序等多种存储模式,以及集中式、分布式等多种部署形态。本文主要介绍如何使用备份服务器,在GBase 8c集中式场景下进行物理备份和恢复操作。备份工具使用GBase 8c内置的命令行工具gs_probackup。过程中,使用一台备份服务器远程对GBase 8c数据库进行备份,备份数据保存在备份服务器上。

2 备份配置

2.1 备份配置

开启数据库归档相关配置参数
gs_guc reload -N all -I all -c "archive_mode=on" gs_guc reload -N all -I all -c "archive_timeout=1800" gs_guc reload -N all -I all -c "archive_command = 'scp %p gbase@192.168.138.202:/data/archivelog/%f'" gs_guc reload -N all -I all -c “enable_cbm_tracking=on”

参数说明:

archive_mode: 是否开启归档操作。
archive_timeout:归档周期。
archive_command:设置的用于归档WAL日志的命令,建议归档路径为绝对路径。
enable_cbm_tracking:数据库实例的全量和增量备份时需要开启此参数。

配置备份服务器的访问权限

远程备份需要开启备份机器对数据库的replication登陆权限,这里可以对指定备份机器开启。

gs_guc reload -N all -I all -h “host replication all 0.0.0.0/0 md5”

远程备份还需要开通备份用户到gbase安装用户的用户的免密ssh权限,配置免密

ssh-keygen -t rsa ssh-copy-id user@remote_host
初始化备份

在备份服务器上初始化一个备份目录,以及GBase8c数据库信息

gs_probackup init -B /home/gbase/backup gs_probackup add-instance -B /home/gbase/backup -D /home/gbase/backup --instance gbase_cluster --remote-host 192.168.138.201 --remote-user gbase gs_probackup set-config -B /home/gbase/backup --instance gbase_cluster --retention-redundancy 7 --retention-window 7 gs_probackup show-config -B /home/gbase/backup --instance gbase_cluster

参数说明:
int:表示初始化一个数据目录用于数据库备份;
add-instance:添加一个备份实例,这里可以一次备份多个实例,但是需要实例名称不能相同;
set-config:写入备份的配置信息,主要是备份实例的名称,备份保留策略;
show-config:打印备份的配置基本信息;

3 物理备份

3.1 全量备份

gs_probackup backup -B /home/gbase/backup -b FULL -h 192.168.138.201 -p 15400 -U backup -W XXXX --instance gbase_cluster --delete-expired -d postgres --compress-algorithm=zlib --compress-level=5 --remote-host 192.168.138.201 --remote-user gbase

参数说明:

-B :备份保存的目录;
-b:指定备份模式,FULL表示全量备份,PTRACK表示增量备份;
-h:指定数据库的ipd地址;
-p:指定数据库端口;
-U:指定数据库备份时使用的gbase的用户名;
-W:指定备份用户的密码;
--instance:数据库实例名称;
--delete-expired:备份后删除过期的备份文件;
-d:备份时连接的数据库名称;
--compress-algorithm:指定备份文件的压缩方法;
--compress-leve:备份文件的压缩级别;
--remote-host:远程服务器,通常和-h参数相同
--remote-user:远程用户,这里指系统用户,非gbase8c的数据库用户

3.2 增量备份

增量备份的前提条件:需要一次完整且正常的全量备份

gs_probackup backup -B /home/gbase/backup -b PTRACK -h 192.168.138.201 -p 15400 -U backup -W XXXX --instance gbase_cluster --delete-expired -d postgres --compress-algorithm=zlib --compress-level=5 --remote-host 192.168.138.201 --remote-user gbase

参数说明:

-b PTRACK 表示备份时采取增量备份

其他参数如全量备份。

4 恢复

避免数据发送二次损坏,把数据库恢复到其他机器或者目录,进行数据核对验证后再导入生产数据库。恢复时可以先将备份文件拷贝指恢复的目标服务器,也可以直接在备份服务器做远程恢复。

4.1 远程恢复

从备份服务器直接恢复到192.168.138.202服务器。

gs_probackup restore -B /home/gbase/backup/ --instance=gbase_cluster -D /home/gbase/restore_test -i SMV8NY --remote-host=192.168.138.202 --remote-user=gbase

启动数据库后比对校验数据:

gs_ctl start -D /home/gbase/restore_test/

参数说明:

-i SMV8NY :表示恢复到备份编号为SMV8NY这次备份。

其他参数和备份一致

4.2 本地恢复

先把备份拷贝到192.168.138.202服务器以后,在202服务器恢复

gs_probackup restore -B /home/gbase/backup/ --instance=gbase_cluster -D /home/gbase/restore_test -i SMV8NY

启动数据库后对比校验数据:

gs_ctl start -D /home/gbase/restore_test/
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 10:59:30

5大理由告诉你为什么Java开发者应该选择Playwright自动化测试

5大理由告诉你为什么Java开发者应该选择Playwright自动化测试 【免费下载链接】playwright-java Java version of the Playwright testing and automation library 项目地址: https://gitcode.com/gh_mirrors/pl/playwright-java 还在为浏览器兼容性测试烦恼吗&#xff…

作者头像 李华
网站建设 2026/6/10 11:00:34

宝塔面板v7.7.0离线部署完整教程:内网环境高效搭建方案

宝塔面板v7.7.0离线部署完整教程:内网环境高效搭建方案 【免费下载链接】btpanel-v7.7.0 宝塔v7.7.0官方原版备份 项目地址: https://gitcode.com/GitHub_Trending/btp/btpanel-v7.7.0 在企业级服务器管理中,内网环境下的软件部署常常面临网络隔离…

作者头像 李华
网站建设 2026/6/10 10:52:04

突破性Web音频处理:3种创新方法实现专业级音频效果

突破性Web音频处理:3种创新方法实现专业级音频效果 【免费下载链接】jsmpeg MPEG1 Video Decoder in JavaScript 项目地址: https://gitcode.com/gh_mirrors/js/jsmpeg 你是否曾经思考过,为什么有些Web应用的音频体验如此出色,而另一些…

作者头像 李华
网站建设 2026/6/10 10:58:28

使用Miniconda安装MMDetection目标检测框架

使用Miniconda安装MMDetection目标检测框架 在深度学习项目中,最让人头疼的往往不是模型本身,而是“环境配不起来”——明明代码没问题,却因为PyTorch版本和CUDA不匹配、依赖包冲突或系统缺失组件而卡住数小时。尤其是在复现一篇论文或者协作…

作者头像 李华
网站建设 2026/6/10 11:01:50

RoseDB架构设计精髓:存储引擎优化艺术的哲学思考

RoseDB架构设计精髓:存储引擎优化艺术的哲学思考 【免费下载链接】rosedb 项目地址: https://gitcode.com/gh_mirrors/ros/rosedb 在数据爆炸式增长的时代,存储引擎的设计早已超越了单纯的技术实现,演变为一场关于平衡与智慧的艺术创…

作者头像 李华
网站建设 2026/6/10 11:00:03

Docker stats实时监控Miniconda容器资源消耗

Docker stats 实时监控 Miniconda 容器资源消耗 在数据科学和 AI 开发日益容器化的今天,一个常见的痛点浮出水面:我们能轻松地用 Miniconda 构建出干净、可复现的 Python 环境,也能快速启动 Jupyter Notebook 或训练脚本,但一旦运…

作者头像 李华