高效备份不踩坑!KingbaseES 并行处理 + IO 限速 + 永久增量备份实战指南

前言

数据库运维里,备份效率和业务稳定性简直是“相爱相杀”的一对——想备份快一点,就怕占太多资源让业务卡顿;想业务稳一点,备份又慢得让人着急。还好 KingbaseES 早就想到了这点,它的并行处理、IO 限速、永久增量备份这三大功能,直接把这个两难问题给解决了。

下面我们就结合实际运维中常遇到的场景,把这三个功能的原理、配置步骤和避坑要点拆得明明白白。不管你是刚上手 KingbaseES 的新手 DBA,还是久经沙场的运维老司机,跟着操作就能轻松搞定,既不耽误备份速度,又能保证业务不受影响。

文章目录

  • 前言
    • 一、核心功能原理速览
    • 二、实战配置步骤(附代码示例)
      • 2.1 前置准备
      • 2.2 并行处理配置
        • 核心参数
        • 实战代码示例
          • 方式 1:修改配置文件(永久生效)
          • 方式 2:命令行临时指定(单次生效)
        • 注意事项
      • 2.3 IO 限速配置
        • 核心参数
        • 实战代码示例
          • 方式 1:初始化时预设(通过 sys_backup.conf)
          • 方式 2:运行时修改配置文件(永久生效)
          • 方式 3:命令行临时限速(单次生效)
          • 补充代码:还原时关闭限速
        • 注意事项
      • 2.4 永久增量备份配置
        • 核心逻辑
        • 实战代码示例
          • 步骤 1:开启永久增量备份(初始化时配置)
          • 步骤 2:手动执行永久增量备份(含合并)
          • 步骤 3:查看合并后的备份集
          • 补充代码:关闭永久增量备份
        • 注意事项
    • 三、避坑指南
    • 3.1 并行处理避坑
    • 3.2 IO 限速避坑
    • 3.3 永久增量备份避坑
    • 四、总结
  • 附录:更多金仓干货看这里

一、核心功能原理速览

这三个功能不是各自孤立的,而是互相配合的“黄金搭档”,核心逻辑特别好懂:

  • 并行处理:简单说就是多开几个进程一起拷贝数据文件,打破单进程的 IO 瓶颈,大数据库备份用它准没错。而且它会自动根据 CPU 内核数调整并发数,不用你手动纠结设多少合适。

  • IO 限速:给备份的 IO 资源设个“天花板”,不让它肆无忌惮抢占资源,这样业务读写就不会被影响。不管是单机还是集群,限速效果都很精准。
  • 永久增量备份:不用定期做耗时的全量备份,而是用“增量备份 + 备份集合并”的方式。增量备份只抓变化的数据,再合并成新的全量备份集,既省存储空间,备份速度也快。

三者配合起来逻辑很清晰:并行处理负责“提速”,IO 限速负责“稳业务”,永久增量备份负责“省空间”,三者一起构成了 KingbaseES 高效备份的核心,完美平衡三者需求。

二、实战配置步骤(附代码示例)

以下操作都基于 KingbaseES 的 sys_rman 工具(物理备份的核心工具),所有配置都遵循官方手册规范,单机、集群这些常见场景都能直接用。

2.1 前置准备

配置前先把基础环境搭好,步骤简单得很:

  1. 确认 KingbaseES 数据库实例正常运行,sys_rman 工具已经部署(默认随数据库安装,路径一般是$KINGBASE_HOME/bin/sys_rman)。
  2. 搭建 REPO 节点(本地或远程都行),确保 DB 节点和 REPO 节点能连通(支持 SSH 免密或 securecmdd 通信)。
  3. 执行sys_backup.sh init命令初始化备份环境,会自动生成配置文件sys_rman.conf

2.2 并行处理配置

核心参数
  • process-max:控制并发进程数,默认是 4,取值范围 1~999,建议别超过 CPU 内核数,不然反而会因为资源争抢拖慢速度。
  • 配置方式:既能改配置文件让它永久生效,也能在命令行临时指定,灵活得很。
实战代码示例
方式 1:修改配置文件(永久生效)

找到 REPO 节点或 DB 节点的sys_rman.conf文件(默认路径在REPO_PATH/sys_rman.conf),编辑如下:

[global] process-max=8 # 16核CPU设8~12就够了,根据自己服务器配置调整

改完不用重启任何服务,下次备份自动生效。

方式 2:命令行临时指定(单次生效)

手动备份时,直接用--process-max参数指定并发数就行,比如全量备份想用 8 个进程:

# 全量备份,并行8进程/home/kingbase/project/bin/sys_rman\--config=/home/kingbase/kbbr_repo/sys_rman.conf\--stanza=kingbase\--process-max=8\--type=full backup
注意事项
  • 并发数不是越高越好,要是超过 CPU 内核数,工具会自动调成内核数,避免资源浪费。
  • 集群场景下,所有 DB 节点要同步配置process-max参数,不然有的节点快有的慢,反而影响整体效率。

2.3 IO 限速配置

核心参数
  • band-width:设置 IO 限速值,单位是 MB/s,默认 0 表示不限速,取值范围 0~9999。
  • 配置方式:初始化时预设、运行时修改配置文件、命令行临时指定,三种方式按需选。
实战代码示例
方式 1:初始化时预设(通过 sys_backup.conf)

找到初始化配置文件sys_backup.conf(路径是$KINGBASE_HOME/share/sys_backup.conf),添加如下配置:

# IO 限速为 10MB/s,业务高峰期备份用刚好 _band_width=10

执行初始化命令让配置生效:

/home/kingbase/project/bin/sys_backup.sh init
方式 2:运行时修改配置文件(永久生效)

编辑sys_rman.conf文件,添加或修改如下内容:

[global] band-width=15 # 调整为15MB/s,根据业务IO余量灵活改
方式 3:命令行临时限速(单次生效)

比如增量备份想限速 12MB/s,直接执行命令:

# 增量备份,IO限速12MB/s/home/kingbase/project/bin/sys_rman\--config=/home/kingbase/kbbr_repo/sys_rman.conf\--stanza=kingbase\--band-width=12\--type=incr backup
补充代码:还原时关闭限速

还原的时候可别限速,不然恢复时间会大大延长,执行还原命令时直接设band-width=0

# 还原时不限速,尽快恢复业务/home/kingbase/project/bin/sys_rman\--config=/home/kingbase/kbbr_repo/sys_rman.conf\--stanza=kingbase\--band-width=0\restore
注意事项
  • 限速值别设太低(比如小于 1MB/s),不然备份会超时。建议根据业务 IO 余量来,比如业务峰值 IO 是 50MB/s,限速设 20MB/s 就很合适。
  • 远程 REPO 节点备份时,要同时考虑网络带宽和磁盘 IO 限速,别让网络瓶颈掩盖了 IO 限速的效果,比如网络带宽只有 10MB/s,就别把 IO 限速设成 15MB/s。

2.4 永久增量备份配置

核心逻辑
  1. 开启后,定时任务里的“全量备份”会自动变成“增量备份 + 备份集合并”,不用手动改定时任务。
  2. 关键参数_continue_incr=y(开启永久增量),合并动作靠--merge_action控制,想保留旧备份集或删除都可以。
实战代码示例
步骤 1:开启永久增量备份(初始化时配置)

编辑sys_backup.conf文件:

# 开启永久增量备份 _continue_incr=y # 全量备份间隔(实际执行增量+合并),7天一次刚好 _crond_full_days=7 # 增量备份间隔,每天一次 _crond_incr_days=1

重新执行初始化命令让配置生效:

/home/kingbase/project/bin/sys_backup.sh init
步骤 2:手动执行永久增量备份(含合并)

根据是否保留旧备份集,有两种命令可选,按需执行:

# 增量备份 + 合并生成新全量备份集(保留旧的全量备份集,稳妥起见可以选这个)/home/kingbase/project/bin/sys_rman\--config=/home/kingbase/kbbr_repo/sys_rman.conf\--stanza=kingbase\--type=incr\--merge_action=merge-no-delete backup# 增量备份 + 合并生成新全量备份集(删除旧的全量备份集,节省存储空间)/home/kingbase/project/bin/sys_rman\--config=/home/kingbase/kbbr_repo/sys_rman.conf\--stanza=kingbase\--type=incr\--merge_action=merge-and-delete backup
步骤 3:查看合并后的备份集

想确认合并是否成功,执行命令查看备份集列表就行:

# 查看备份集列表,确认合并后的全量备份集是否存在/home/kingbase/project/bin/sys_rman\--config=/home/kingbase/kbbr_repo/sys_rman.conf\--stanza=kingbase info
补充代码:关闭永久增量备份

如果想关闭,修改sys_backup.conf文件后重新初始化:

# 关闭永久增量备份 _continue_incr=n

执行初始化命令:

/home/kingbase/project/bin/sys_backup.sh init
注意事项
  • 开启后要确保 REPO 节点有足够空间,存放临时增量备份集,不然合并会失败。
  • 合并动作能后台执行,不会阻塞业务,想查看合并日志,可加上--log-level-file=info参数。
  • 合并只支持文件级增量备份,不支持块增量备份(page 类型),这点要注意别用错了。

三、避坑指南

3.1 并行处理避坑

  • 别在业务高峰期设太高并发数,凌晨这些空闲时段执行高并发备份才稳妥,不然业务和备份抢资源,两边都受影响。
  • 块增量备份(page 类型)需要依赖 ktrack 插件,开启并行前一定要确认插件已经启用,不然会报错。

3.2 IO 限速避坑

  • 远程 REPO 节点备份时,要兼顾网络带宽和磁盘 IO 限速,比如网络带宽只有 10MB/s,就别把 IO 限速设成 15MB/s,不然限速没效果还会卡顿。
  • 要是备份经常超时,先检查限速值是不是设太低了,适当调高一点就行,不用瞎找其他原因。

3.3 永久增量备份避坑

  • 定期用verify命令校验合并后的备份集完整性,避免备份失效,命令如下:
    /home/kingbase/project/bin/sys_rman\--config=/home/kingbase/kbbr_repo/sys_rman.conf\--stanza=kingbase verify
  • 关闭永久增量备份后,一定要重新执行sys_backup.sh init,不然配置不生效,还是会按原来的方式备份。

四、总结

KingbaseES 的并行处理、IO 限速、永久增量备份这三大功能,真的是运维的“好帮手”。通过灵活配置和协同工作,完美解决了“备份效率、业务稳定、存储开销”三者平衡的核心问题。作为能兼容 Oracle 的企业级数据库,KingbaseES 不仅备份能力贴合实际运维需求,在高可用、兼容性、安全性等方面也很成熟,完全能满足数据库国产化替代的需求。

附录:更多金仓干货看这里

  1. 专为企业数字化转型提供全方位知识支持的专业博客平台。涵盖数字化战略规划、数据集成、指标管理、数据可视化应用等各个方面的内容,助力企业数字化转型。
  • 金仓博客网址:https://kingbase.com.cn/explore
  1. 金仓社区涵盖了专业论坛、博客分享、学习资源、全站搜索、迁移工具和社区活动等多个板块,为用户提供了丰富的资源和支持。特别值得一提的是,社区还提供了丰富的在线视频课程和认证考试资源,帮助用户全面提升数据库技术能力。
  • 金仓社区链接:https://bbs.kingbase.com.cn/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1148197.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

零基础玩转GPT-5.2:小白入门指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 设计一个面向完全新手的GPT-5.2交互式学习平台,通过渐进式教程引导用户完成5个简单项目:1)生成诗歌 2)创建个人简介 3)制作菜谱 4)编写简单故事 5)回答常识…

数学建模Matlab算法,第十六章 差分方程

差分方程模型:理论基础与实际应用全解析 在自然界和人类社会的诸多动态系统中,状态变量的变化往往呈现出离散性特征。例如,经济系统中商品的季度销售量、生物种群的世代数量变化、遗传过程中逐代基因型的分布演化等,这些系统的状态仅在特定离散时刻发生改变,无法用连续时…

AI如何帮你实现智能页面返回功能

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个基于AI的智能页面返回系统,能够根据用户行为历史自动优化返回逻辑。系统需要记录用户的导航路径,使用机器学习模型分析常见返回模式,并…

青龙脚本零基础入门:5分钟学会第一个自动化脚本

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 请创建一个适合新手入门的简单青龙脚本教程。从零开始,分步骤讲解如何创建一个最基本的定时任务脚本,功能是每天定时发送一条"Hello World"到指定…

Python实战:用AI快速开发一个天气查询应用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个Python天气查询应用,用户输入城市名称后,程序调用公开天气API(如OpenWeatherMap)获取该城市的天气信息并显示。要求使用req…

从意图识别到情感判断|AI万能分类器一镜搞定多种任务

从意图识别到情感判断|AI万能分类器一镜搞定多种任务 关键词:零样本分类、StructBERT、文本打标、意图识别、情感分析、WebUI 摘要:本文深入解析基于阿里达摩院 StructBERT 的“AI 万能分类器”镜像,介绍其如何通过零样本&#xf…

从理论到落地|ResNet迁移学习与官方镜像应用结合案例

从理论到落地|ResNet迁移学习与官方镜像应用结合案例 🧠 引言:为什么我们需要迁移学习 官方模型服务? 在实际的AI项目开发中,我们常常面临两个核心挑战:数据不足和算力有限。从零训练一个深度卷积神经网络…

警惕!未列在Chrome商店的扩展程序可能危害你的隐私

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个Chrome扩展检测工具,能够扫描用户已安装的扩展程序,识别未在官方商店列出的扩展,并分析其权限请求和行为模式。工具应提供风险评级、详…

从‘C死我‘到‘C活我‘:一个嵌入式开发者的真实案例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 模拟一个嵌入式系统开发场景,其中包含以下C语言问题:1. 多线程环境下的竞态条件;2. 硬件寄存器访问错误;3. 中断服务程序中的堆栈溢…

VDITOR快捷键大全:效率提升300%的秘籍

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个交互式VDITOR快捷键训练器网页应用,功能包括:1. 可视化快捷键映射图;2. 分难度级别的练习模式;3. 实时击键速度检测&#x…

极客必备:用快马平台3步搭建个人技术博客

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个基于Node.js的个人技术博客系统。前端使用React框架,支持Markdown格式的文章编辑和渲染。后端使用Express,数据库用MongoDB。功能包括:…

基于springboot的心理健康辅导系统 计算机毕业设计选题 计算机毕设项目 前后端分离【源码-文档报告-代码讲解】

🍊作者:计算机毕设匠心工作室 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目…

AI万能分类器实战:工单自动分类系统部署指南

AI万能分类器实战:工单自动分类系统部署指南 1. 引言 在企业服务、客户支持和运维管理中,每天都会产生大量文本型工单,如用户咨询、故障报修、功能建议等。传统上,这些工单需要人工阅读并打标分类,效率低且容易出错。…

[bash]如何让管道执行多条命令

在find的-exec中执行多条命令,可以通过组合命令或管道传递实现。以下是几种标准且高效的方法: ✅ 方法1:sh -c 组合命令(推荐) 使用sh -c将多条命令封装为单个命令执行: find . -name "*.md" -ex…

计算机毕设Java基于JAVA的图书租借系统设计与实现 基于Java技术的图书租赁系统开发与实现 Java驱动的图书借阅管理系统的设计与构建

计算机毕设Java基于JAVA的图书租借系统设计与实现8393c9 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 随着信息技术的飞速发展,传统的图书管理方式已经难以满足现…

StructBERT应用案例:智能法律咨询分类

StructBERT应用案例:智能法律咨询分类 1. 引言:AI 万能分类器的崛起 在法律服务数字化转型的浪潮中,如何高效处理海量用户咨询成为关键挑战。传统的文本分类方法依赖大量标注数据和定制化模型训练,成本高、周期长,难…

如何用AI工具自动生成KMS激活脚本

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 请开发一个Windows KMS激活工具,要求:1. 自动检测系统版本和架构;2. 根据检测结果自动选择对应的KMS服务器;3. 一键执行激活命令&am…

比手动快10倍!Chrome版本切换高效方案对比

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个Chrome版本管理CLI工具,要求:1. 支持brew/choco等包管理器语法 2. 版本模糊查询功能 3. 多线程下载 4. 自动环境变量配置 5. 支持回滚操作。用Rust…

Rembg抠图优化技巧:减少处理时间的实用方法

Rembg抠图优化技巧:减少处理时间的实用方法 1. 智能万能抠图 - Rembg 在图像处理与内容创作领域,自动去背景已成为一项高频刚需。无论是电商商品图精修、社交媒体素材制作,还是AI生成内容(AIGC)中的元素复用&#xf…

基于SpringBoot+Vue的教学资源库管理系统设计与实现【Java+MySQL+MyBatis完整源码】

💡实话实说:有自己的项目库存,不需要找别人拿货再加价,所以能给到超低价格。摘要 随着教育信息化的快速发展,教学资源的高效管理与共享成为现代教育体系中的重要需求。传统教学资源管理方式存在存储分散、检索效率低、…