news 2026/1/20 20:31:24

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/1/20 23:28:04

Miniconda-Python3.9镜像助力AI开发:高效稳定环境搭建

Miniconda-Python3.9镜像助力AI开发:高效稳定环境搭建 在人工智能项目日益复杂的今天,你是否曾遇到这样的场景:本地训练好的模型,换一台机器运行时却报错?明明代码没改,结果却对不上;或者因为同…

作者头像 李华
网站建设 2026/1/19 3:05:37

CameraKit-Android终极指南:3步解决Android相机开发难题

CameraKit-Android终极指南:3步解决Android相机开发难题 【免费下载链接】camerakit-android Library for Android Camera 1 and 2 APIs. Massively increase stability and reliability of photo and video capture on all Android devices. 项目地址: https://g…

作者头像 李华
网站建设 2026/1/5 6:08:08

PyTorch Lightning集成Miniconda环境的最佳实践

PyTorch Lightning 与 Miniconda 环境集成:构建可复现、高效率的 AI 开发工作流 在深度学习项目中,你是否曾遇到过这样的场景?——同事把代码发给你,说“在我机器上跑得好好的”,结果你在本地安装依赖后却报错不断&…

作者头像 李华
网站建设 2026/1/5 3:24:22

gs-quant:让量化分析告别手动报表的智能解决方案

gs-quant:让量化分析告别手动报表的智能解决方案 【免费下载链接】gs-quant 用于量化金融的Python工具包。 项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant 作为一名量化分析师,你是否经历过这样的场景:花费数小时编写复…

作者头像 李华
网站建设 2026/1/5 6:56:08

CrewAI高级调试实战:从崩溃边缘到稳定运行的30分钟修复指南

CrewAI高级调试实战:从崩溃边缘到稳定运行的30分钟修复指南 【免费下载链接】crewAI CrewAI 是一个前沿框架,用于协调具有角色扮演能力的自主 AI 代理,通过促进协作智能,使代理能够无缝协作,共同解决复杂任务。 项目…

作者头像 李华
网站建设 2026/1/5 7:30:43

标签页管理终极指南:告别浏览器卡顿与数据丢失

标签页管理终极指南:告别浏览器卡顿与数据丢失 【免费下载链接】Tab-Session-Manager WebExtensions for restoring and saving window / tab states 项目地址: https://gitcode.com/gh_mirrors/ta/Tab-Session-Manager 你是否经历过浏览器崩溃导致重要工作资…

作者头像 李华