摘要: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上的应用的更多相关文章

  1. BlockCanary 一个轻量的,非侵入式的性能监控组件(阿里)

    开发者博客: BlockCanary — 轻松找出Android App界面卡顿元凶 开源代码:moduth/blockcanary BlockCanary对主线程操作进行了完全透明的监控,并能输出有 ...

  2. 使用phpAnalysis打造PHP应用非侵入式性能分析器

    使用phpAnalysis打造PHP应用非侵入式性能分析器,查找PHP性能瓶颈. 什么是phpAnalysis phpAnalysis是一款轻量级非侵入式PHP应用性能分析器,适用于开发.测试及生产环 ...

  3. Spring学习(1):侵入式与非侵入式,轻量级与重量级

    一. 引言 在阅读spring相关资料,都会提到Spring是非侵入式编程模型,轻量级框架,那么就有必要了解下这些概念. 二. 侵入式与非侵入式 非侵入式:使用一个新的技术不会或者基本不改变原有代码结 ...

  4. 非侵入式JavaScript(Unobtrusive javaScript)理解

    转载自 https://my.oschina.net/leegq/blog/279750 在Web的早期阶段,也就是在jQuery出现以前,在同一个文件中混杂JavaScript代码和HTML标记是非 ...

  5. MVC的验证(模型注解和非侵入式脚本的结合使用) .Net中初探Redis .net通过代码发送邮件 Log4net (Log for .net) 使用GDI技术创建ASP.NET验证码 Razor模板引擎 (RazorEngine) .Net程序员应该掌握的正则表达式

    MVC的验证(模型注解和非侵入式脚本的结合使用)   @HtmlHrlper方式创建的标签,会自动生成一些属性,其中一些属性就是关于验证 如图示例: 模型注解 通过模型注解后,MVC的验证,包括前台客 ...

  6. Spring 侵入式和非侵入式

    1.非侵入式的技术体现 允许在应用系统中自由选择和组装Spring框架的各个功能模块,并且不强制要求应用系统的类必须从Spring框架的系统API的某个类来继承或者实现某个接口. 2.如何实现非侵入式 ...

  7. Spring框架是一种非侵入式的轻量级框架

    摘自<Spring框架技术> Spring框架是一种非侵入式的轻量级框架 1.非侵入式的技术体现 允许在应用系统中自由选择和组装Spring框架的各个功能模块,并且不强制要求应用系统的类必 ...

  8. 支付宝开源非侵入式 Android 自动化测试工具 Soloπ

    Soloπ(SoloPi)是支付宝开源的一个无线化.非侵入式的Android自动化测试工具,公测版拥有录制回放.性能测试.一机多控三项主要功能,能为测试开发人员节省宝贵时间. 本文是SoloPi团队关 ...

  9. 侵入式&非侵入式

    侵入式设计 引入了框架,对现有的类的结构有影响:即需要实现或继承某些特定类. 例如:Struts框架 非侵入式设计 引入了框架,对现有的类结构没有影响. 例如:Hibernate框架 / Spring ...

  10. Java非侵入式API接口即文档工具apigcc

    一个非侵入的api编译.收集.Rest文档生成工具.工具通过分析代码和注释,获取文档信息,生成RestDoc文档 前言 程序员一直以来都有一个烦恼,只想写代码,不想写文档.代码就表达了我的思想和灵魂. ...

随机推荐

  1. 代码的艺术-Writing Code Like a Pianist

    前言 如何评定一个系统的质量?什么样的系统或者软件可以称之为高质量?可以从三个角度来看,一是架构设计,例如技术选型.分布式系统中的数据一致性考虑等,二是项目管理,无论是敏捷开发还是瀑布式开发,都应当对 ...

  2. 【matplotlib 实战】--气泡图

    气泡图是一种多变量的统计图表,可以看作是散点图的变形.与散点图不同的是,每一个气泡都表示三个维度的数据,除了像散点图一样有X,Y轴,气泡的大小可以表示另一个维度的数据.例如,x轴表示产品销量,y轴表示 ...

  3. 树莓派4B使用串口登录的设置方法

    -特别提示- 本文具有时效性. 当前我使用的是pi4硬件, 镜像版本 raspberrypi 5.15.61 32位. 在我解决该问题的时候, 在网上查找了很多方法, 有些方法被实际测试发现是不行的. ...

  4. Git文件权限与filemode配置方法

    一.问题 Clion是一个跨平台的IDE,今天将工程运行在Ubuntu下,在Git提交时发现有很多文件显示被更改,但是文件内容却是相同的. 二.Git 规则 Git对文件访问权限的管理与配置选项cor ...

  5. c#中责任链模式详解

    基本介绍:   "责任链"顾名思义,是指一个需要负责处理请求的链条.   每个链条节点都是一个单独的责任者,由责任者自己决定是否处理请求或交给下一个节点.   在设计模式中的解释则 ...

  6. 重学Java(二):对象无处不在

    前言 本系列文章内容来自于<Thinking in Java>作者的最新续作<On Java>基础卷,作者根据最新 Java 8.11.17的内容,重讲了Java的编程思想,值 ...

  7. keil 5 安装教程

    一.下载 keil 官网 二.安装教程 1.开始安装 双击安装包,开始安装,直接下一步 2.勾选同意,下一步 3.选择软件安装路径,下一步 4.填写信息 可以随意填写,下一步. 5.等待安装 6.安装 ...

  8. jmeter-逻辑处理器while

    测试工具:jmeter 业务逻辑:A接口上传文件,B接口查询文件上传状态,如果状态不为4,需要再次查询(上传文件后,需要有短暂时间的识别,压测时并发大导致识别时间不可控)当为4时,跳出循环, 思路:增 ...

  9. 聊一聊 C# 线程切换后上下文都去了哪里

    一:背景 1. 讲故事 总会有一些朋友是不是问一个问题,在 Windows 中线程做了上下文切换,请问被切的线程他的寄存器上下文都去了哪里?能不能给我挖出来?这个问题其实比较底层,如果对操作系统没有个 ...

  10. VA01/VA02/VA03 销售订单根据定价和步骤校验权限隐藏价格(二)

    1.文档说明 1.1.内容回顾 之前发表过相关文章<VA01/VA02/VA03 销售订单根据定价和步骤校验权限隐藏价格>,本篇文章对上一篇文章做补充说明. 第一篇文章是通过拥有权限,则隐 ...