GaussDB(DWS):非侵入式备份及其在NBU上的应用
摘要:Netbackup软件必须要有该集群所支持的OS的安装包,一种新的非侵入式备份架构呼之欲出。
1. 通用的备份方案介绍
除Netbackup深度定制的厂商外,通常数据库厂商都按XBSA接口来实现NBU备份。首先在集群内每个节点安装NBU客户端,通过XBSA发命令至本地NBU客户端,然后NBU客户端与远端服务器上的NBU服务端程序通信,将数据写入挂载于远端的磁带或磁盘设备。早期的GaussDB(DWS)便是采用如此方式,应用于线下场景。下图展示了这个备份架构原理。

如上图,GaussDB的备份工具Roach,在每个节点都启动一至多个Roach agent进程,用于读取本节点的GaussDB数据,并将其存入缓存buffer。然后调用XBSA接口,将缓存数据转发给NBU处理。
不难看出,该架构的特点就是Netbackup第三方软件需要侵入式部署到我们的集群内,备份进程也要使用安装NBU Client时一起提供的libxbsa64.so动态库才能使用XBSA接口。这样就隐含了一个前提:Netbackup软件必须要有该集群所支持的OS的安装包。但是,云上环境基本都是欧拉OS,或者鲲鹏服务器,目前针对这些系统并没有Netbackup软件的安装包,这个前提变得不可获得。更进一步,适配更多第三方厂商的备份协议时,当前架构就要求第三方厂商必须支持欧拉OS、鲲鹏等版本,增加了各种组合的复杂性,不利于生态拓展。于是一种新的非侵入式备份架构呼之欲出。
2. 非侵入式备份架构介绍
非侵入式架构下,第三方厂商的客户端软件不部署在GaussDB集群内。同时,GaussDB开发一个新插件,部署于远端备份服务器上,负责与集群内的Roach工具进行通信,于是架构变为下图所示:

这里说的新插件就是Roach client组件,用户使用前需要提前在备份服务器上部署该组件。和Roach工具一样,该组件也不允许以root用户部署,应当新建一个普通用户,在该用户下部署。
图中NBU只是一种示例,其它第三方软件对接时原理也是相同的。
展开一点来说,集群内每个节点都有Roach agent进程负责本节点一至多个DN实例的数据备份,该进程会根据DN个数fork出多个子进程,每个Roach agent子进程负责一个DN。备份出来的数据会转发给远端备份服务器的Roach client进程,该进程内部又会根据DN个数fork出多个子进程,每个子进程负责与一个DN(亦对应一个Roach agent)通信。这里不能创建为线程是因为XBSA本身限制,每个进程才能独占一份NBU链接。即有如下映射关系图:

从性能角度考虑,需要根据一定比例配备多个NBU media server服务器。比如GaussDB集群有200个节点,每4个DN对应一个备份盘或磁带,每10个GaussDB节点配备一台NBU media server,则共需20台media服务器。示意图如下:

3. 云上非侵入式NBU备份的使用
用户可通过DWS管控面发起NBU备份操作,发起之前需按照非侵入式方式提前部署好NBU环境和Roach client组件。
首先,可在插件下载界面提前down下来Roach client组件包(OS版本需要与NBU media server的系统相同):

然后配置快照策略,图中的备份服务器即是NBU media server。
接下来就可以创建快照了:

创建快照成功后,后期即可使用该快照来恢复集群。
本文分享自华为云社区《非侵入式备份及其在NBU上的应用》,原文作者:dws。
GaussDB(DWS):非侵入式备份及其在NBU上的应用的更多相关文章
- BlockCanary 一个轻量的,非侵入式的性能监控组件(阿里)
开发者博客: BlockCanary — 轻松找出Android App界面卡顿元凶 开源代码:moduth/blockcanary BlockCanary对主线程操作进行了完全透明的监控,并能输出有 ...
- 使用phpAnalysis打造PHP应用非侵入式性能分析器
使用phpAnalysis打造PHP应用非侵入式性能分析器,查找PHP性能瓶颈. 什么是phpAnalysis phpAnalysis是一款轻量级非侵入式PHP应用性能分析器,适用于开发.测试及生产环 ...
- Spring学习(1):侵入式与非侵入式,轻量级与重量级
一. 引言 在阅读spring相关资料,都会提到Spring是非侵入式编程模型,轻量级框架,那么就有必要了解下这些概念. 二. 侵入式与非侵入式 非侵入式:使用一个新的技术不会或者基本不改变原有代码结 ...
- 非侵入式JavaScript(Unobtrusive javaScript)理解
转载自 https://my.oschina.net/leegq/blog/279750 在Web的早期阶段,也就是在jQuery出现以前,在同一个文件中混杂JavaScript代码和HTML标记是非 ...
- MVC的验证(模型注解和非侵入式脚本的结合使用) .Net中初探Redis .net通过代码发送邮件 Log4net (Log for .net) 使用GDI技术创建ASP.NET验证码 Razor模板引擎 (RazorEngine) .Net程序员应该掌握的正则表达式
MVC的验证(模型注解和非侵入式脚本的结合使用) @HtmlHrlper方式创建的标签,会自动生成一些属性,其中一些属性就是关于验证 如图示例: 模型注解 通过模型注解后,MVC的验证,包括前台客 ...
- Spring 侵入式和非侵入式
1.非侵入式的技术体现 允许在应用系统中自由选择和组装Spring框架的各个功能模块,并且不强制要求应用系统的类必须从Spring框架的系统API的某个类来继承或者实现某个接口. 2.如何实现非侵入式 ...
- Spring框架是一种非侵入式的轻量级框架
摘自<Spring框架技术> Spring框架是一种非侵入式的轻量级框架 1.非侵入式的技术体现 允许在应用系统中自由选择和组装Spring框架的各个功能模块,并且不强制要求应用系统的类必 ...
- 支付宝开源非侵入式 Android 自动化测试工具 Soloπ
Soloπ(SoloPi)是支付宝开源的一个无线化.非侵入式的Android自动化测试工具,公测版拥有录制回放.性能测试.一机多控三项主要功能,能为测试开发人员节省宝贵时间. 本文是SoloPi团队关 ...
- 侵入式&非侵入式
侵入式设计 引入了框架,对现有的类的结构有影响:即需要实现或继承某些特定类. 例如:Struts框架 非侵入式设计 引入了框架,对现有的类结构没有影响. 例如:Hibernate框架 / Spring ...
- Java非侵入式API接口即文档工具apigcc
一个非侵入的api编译.收集.Rest文档生成工具.工具通过分析代码和注释,获取文档信息,生成RestDoc文档 前言 程序员一直以来都有一个烦恼,只想写代码,不想写文档.代码就表达了我的思想和灵魂. ...
随机推荐
- 15. 从零开始编写一个类nginx工具, 如果将nginx.conf转成yaml,toml,json会怎么样
wmproxy wmproxy将用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,后续将实现websocket代理, 内外网穿透等, 会将实现过程分享出来, 感 ...
- Java核心知识体系5:反射机制详解
Java核心知识体系1:泛型机制详解 Java核心知识体系2:注解机制详解 Java核心知识体系3:异常机制详解 Java核心知识体系4:AOP原理和切面应用 1 介绍 无论是那种语言体系,反射都是必 ...
- 文心一言 VS 讯飞星火 VS chatgpt (125)-- 算法导论10.6 6题
六.用go语言,任意有根树的左孩子右兄弟表示法中每个结点用到三个指针: leftchild.rightsibling 和parent.对于任何结点,都可以在常数时间到达其父结点,并在与其孩子数呈线性关 ...
- 快来让你的网页色彩绚丽--linear-gradient与radial-gradient
作者:WangMin 格言:努力做好自己喜欢的每一件事 随着前端技术的发展,单一的背景色已经满足不了客户的需求了,所以在前端开发中我们常常会用到一些渐变色的效果,这样可以使前端页面更加美观.那么渐变色 ...
- C/C++ extern “C“ 的问题
声明 文章中的部分代码引用来在: https://blog.csdn.net/u012234115/article/details/43272441 场景 今天在CSDN中看到了一篇关于 extern ...
- easyupload
打开界面就是一个文件上传 的界面 然后在bp试了很多种方法都没有成功,还是看了wp 这里需要利用到.use.ini那为什么不用.heaccess?好像这种方法被过滤了,当时我用的时候没有成功 这里的话 ...
- C语言根据公式Cnm= 算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。
/* 开发者:慢蜗牛 开发时间:2020.5.28 程序功能:开发公式Cnm */ #include<stdio.h> long fact_1(int m); long fact_2(in ...
- MySQL Group by 优化查询
Group by 未加索引 使用的是临时表,加文件排序(数据量小用内存排序) 加个索引(一般是联合索引) 注意:这里加的索引一般不会仅仅是group by后面的字段索引(大多数多少条件是一个以该字 ...
- 老是听到做PPT要会“内容可视化”,到底啥是内容可视化?
在PPT中,内容可视化是指将文字.数据和概念等抽象信息转化为图像.图表.图表及其他可视化元素来呈现.通过合适的颜色.形状.大小和布局等视觉设计元素来强调信息的关键点和关系, 从而提高观众对信息的理解和 ...
- 使用Netty实现文件传输的HTTP服务器和客户端
现在我们来用netty实现文件传输的HTTP服务器和客户端 pom依赖文件: <?xml version="1.0" encoding="UTF-8"?& ...