摘要:当前DWS支持NBU介质备份恢复,本文介绍DWS对接NBU备份故障排除方法。

本文分享自华为云社区《DWS对接NBU备份故障排除指南》,作者: 唐伯虎点蚊香。

NetBackup是Veritas公司软件产品,为各种平台提供完整而灵活的数据保护解决方案。这些平台包括Microsoft Windows、UNIX、Linux 等系统。利用NetBackup可以备份、归档和还原计算机上的文件、文件夹或目录以及卷或分区。当前DWS支持NBU介质备份恢复,本文介绍DWS对接NBU备份故障排除方法。

部署方式

假如已有3节点DWS集群,Roach(DWS备份工具)将本节点的集群数据通过TCP发送到远端NBU Media Server机器。每台NBU Media Server上面同时安装NBU Client,并部署Roach client组件,后者接收集群内Roach进程发来的备份数据,不落盘方式通过XBSA接口转发给本机的NBU Client,完成NBU备份。恢复流程也类似,只是数据流相反。

在DWS备份过程中,一般故障主要出自以下三处:

  • Roach agent: 即集群节点内,直接查看集群备份日志($GAUSSLOG/roach/)即可
  • Roach client: 此插件主要负责数据收发,日志路径启动时通过-l参数指定,进入该路径查询即可
  • NBU软件端: 可通过下文定位方式排查故障

环境校验

当进行NBU非侵入式备份时,考虑到集群备份过于重量,可以先通过指定小文件测试环境连通性,保证NBU配置

gs_roach uploadmeta --media-destination 'nbu_policy' --metadata-destination '/home/Ruby/meta' --media-type NBU --backup-key '20200903_164332' --nbu-on-remote --media-server 192.168.243.65 --client-port 9000 

注:

--media-destination为NBU策略名称

--backup-key为任一指定时间戳即可

--media-server为任意一台部署了roach client插件的ip地址

--client-port为roach client开放的端口

--metadata-destination为上传指定文件路径,其中将测试上传文件重名名为metadata.tar.gz,并放置在/home/Ruby目录下,并非/home/Ruby/meta目录下

如果能备份成功,则说明所连接的media server配置无问题,如果存在失败,则NBU端配置有问题,需要按照后续说明寻求原因。

故障定义

故障排除的第一步是定义问题。在NBU系统的安装、配置、运行过程中,出现了与正确预期不同的结果,即可认为是出现了故障;有时候,这要求我们知道正确的情况应该是什么样的。

在NBU的交付和使用中常见的故障主要分为种:

一是软件安装和配置阶段,比如软件安装不成功、对接不成功、某模块功能不可用等等,这一阶段的错误一般没有具体的错误码,需要结合交付人员的经验和系统日志进行排错,这种故障属于一次性的故障,在排除之后再次出现的可能性很小;

二是在系统部署完成后,数据备份业务上线、备份和恢复任务执行时报错,比如接入client失败、存储单元写入数据失败、找不到client服务器等等;这种故障console会提供错误码(error code),维护人员可以根据错误进行初步的定位,这种故障属于日常性的故障,和环境中多种因素有关,备份系统自身之外的业务环境发生细微的变化都有可能导致故障的出现。

故障排除过程

要排除问题,必须知道发生了什么错误。

错误消息通常是指出哪里出现故障的手段。所以,我们要做的第一件事就是查找错误消息。如果在界面上没有看到错误消息,但仍怀疑有问题,请检查报告和日志。NetBackup 提供了广泛的报告和日志记录工具,这些工具可提供错误消息,直接指出解决方案。日志还可显示什么运行良好以及当发生问题时 NetBackup 正在执行什么操作。

综上,NBU备份与恢复故障排除过程如下:

1、确认服务器和client运行的是受支持的操作系统或应用版本;具体信息参看NBU兼容性列表;

2、复现故障,获取故障信息;获取信息的渠道有错误码、Job Details、日志等;

3、根据获取的信息进行故障定位和排除;

故障排除方法

使用状态码

每一个备份和恢复任务都是一个activity,在activity monitor一栏中可以监控到它们。由任务监视看出该任务的ID、执行何种操作、状态、返回值、Server和Client是谁、通过哪一个Policy和Schedule去执行的。

具体可显示多长时间的任务,要看NetBackup全局属性中的设置。每个任务有以下几个状态:

  • Queued 任务正在排队
  • Active 任务正在执行
  • Done 任务执行完毕

在activity的执行过程中,每一个任务结果都对应着一个状态代码,0代表成功,非0代表故障。返回值是一个非常有用的参数,通过返回值,可以通过错误代码查找手册中建议的相关调整建议,这对于问题检查和性能调整是非常有用的。页面中获取位置如下:

以下链接提供了NBU备份任务status code list:

https://www.veritas.com/content/support/en_US/doc/44037985-127664609-0/v15096675-127664609

根据获取到的status code可以初步定位错误原因

使用Job details

与状态码类似,Job details与activity也是一对一;不同的是,Job details比状态码提供的信息更多,对于常见的故障,使用Job details可以完成故障的原因定位和排除。

双击一个activity,选择detailed status,在status一栏即可获取更多的细节信息。找到关键错误信息(通常是红色字体或红色字体的上下文),提炼出关键字,在google上搜索,互联网上有大量的相同错误场景和解决办法。

使用日志

以上使用状态码和Job details进行故障排除的办法停留在初级阶段,通常只对简单故障有效;对于复杂问题,如果解决不了则需要搜集日志进行分析。

在NBU系统中,日志级别共分为6级,分别为0-5,以下为日志级别对应的要记录的信息:

0:非常重要的少量诊断消息和调试消息

1:该级别增加详细的诊断消息和调试消息

2:增加进度消息

3:增加提示性转储消息

4:增加功能进入和退出消息

5:最详细的信息:记录所有信息

日志等级调整方式如下:

1、console界面调整

2、vi /usr/openv/netbackup/bp.conf, 在末尾调加如下配置

VERBOSE = 5

NBU系统针对每一个进程都有一个独立的目录来存放,但是在默认情况下不创建,所有如果想要搜集这些日志,工程师需要手动创建这些目录。目录格式为/usr/openv/netbackup/logs/进程名;以bpcd程序为例,执行以下命令创建子目录:

mkdir /usr/openv/netbackup/logs/bpcd

或者使用NBU提供的批量创建脚本,一键创建所有日志目录,执行以下命令:

sh /usr/openv/netbackup/logs/mklogdir

在搜集日志时,NBU针对性地为每个进程创建一个日志子目录,来实现进程级别的日志分析,那么我们需要先知道NBU常用的进程有哪些:

admin:管理命令。

bpbrm:NetBackup 备份和还原管理器。

bpcd:NetBackup client后台驻留程序或管理器。

bpdm:NetBackup 磁盘管理器。

bpdbm:NetBackup 数据库管理器。此进程仅在主服务器上运行。

bprd:NetBackup 请求管理器,对客户机和备份、恢复、归档等管理请求作出响应。

vnetd:Veritas 网络后台驻留程序。

bpbackup:在UNIX client上,当用户启动备份时,此程序与主服务器上的bprd通信。

在获取了日志之后,在各个文件中搜索fail、error、can not、freeze等关键字,进行故障原因定位

NBU常用维护命令

用命令行启动netbackup服务进程

/usr/openv/netbackup/bin/bp.start_all

用命令行停止netbackup服务进程

/usr/openv/netbackup/bin/bp.kill_all

用命令行清除host缓存

/usr/openv/netbackup/bin/bpclntcmd -clear_host_cache # 清除缓存
cd /usr/openv/var/host_cache/ # 清除临时文件
rm –rf tmp
mkdir tmp
mv * tmp

用命令行检测master和client连通性

/usr/openv/netbackup/bin/admincmd/bptestbpcd -client client_hostname

若可以连通,返回结果类似如下:

NBU master server与NBU client 通信问题

在client和master server上互相telnet对方的备份管理平面IP的1556、1372、13782三个端口,确认client服务器与master server通信正常

netstat –an | grep 1556
netstat –an | grep 1372
netstat –an | grep 13782

检查NBU服务及进程

/usr/openv/netbackup/bin/./bpps -x

Media server不是认证的主机

此为client上对media server的信任配置问题。在console上点击host properties>client,找到故障客户端,双击client,在弹出界面点击servers一栏,在additional server配置中添加media server的主机名

存储单元不可用

出现“存储单元不可用”故障信息可能有以下几种情况:

1、存储单元已满

2、此存储单元上处于排队状态的备份任务过多

3、client与存储单元归属的media server无法通信

想了解GuassDB(DWS)更多信息,欢迎微信搜索“GaussDB DWS”关注微信公众号,和您分享最新最全的PB级数仓黑科技,后台还可获取众多学习资料哦~

点击关注,第一时间了解华为云新鲜技术~

DBA:这有一份对接NBU备份故障排除指南,请查收!的更多相关文章

  1. Linux 网络命令必知必会之 tcpdump,一份完整的抓包指南请查收!

    目录 01 简介 02 tcpdump 命令选项 03 过滤器 04 常用操作 4.1 抓取某主机的数据包 4.2 抓取某端口的数据包 4.3 抓取某网络(网段)的数据包 4.4 抓取某协议的数据包 ...

  2. Lombok好用是好用,就是容易踩坑,这份避坑指南请查收

    序言 各位好啊,我是会编程的蜗牛,作为java开发者,我们平常在开发过程中,总是希望能够尽量少敲代码.这一方面,当然是为了偷懒,另一方面,当然也是为了代码看起来更加简洁一点,不断往编程规范上靠.然后其 ...

  3. netbackup :nbu备份 Hyper-V 遇到快照错误(状态码 156)

    遇到快照错误(状态码 156) 下表介绍与 NetBackup 状态码 156 有关的 Hyper-V 问题. 表:状态码 156 的可能原因 状态码 156 的原因 说明及推荐操作 NetBacku ...

  4. 修改sys密码与nbu备份脚本密码后,nbu备份报密码无效

    公司要求口令强化,在修改sys密码后nbu的.sh脚本connect备份归档的sys/passwd也随之修改修改后每个业务备份均失败, 每次备份到归档那里就结束报密码无效,疑惑备份脚本密码也同步修改了 ...

  5. nbu备份虚拟机报错156状态4207

    VMware Backup getting snapshot error encountered (156)and status: 4207: Could not fetch snapshot met ...

  6. 删库到跑路?还得看这篇Redis数据库持久化与企业容灾备份恢复实战指南

    本章目录 0x00 数据持久化 1.RDB 方式 2.AOF 方式 如何抉择 RDB OR AOF? 0x01 备份容灾 一.备份 1.手动备份redis数据库 2.迁移Redis指定db-数据库 3 ...

  7. SQL Server 备份故障

    故障信息如下: 标题: Microsoft SQL Server Management Studio------------------------------备份 对于 服务器“*******”失败 ...

  8. 一份平民化的MySQL性能优化指南

    前言 近期在重新学习总结MySQL数据库性能优化的相关知识,本文是根据自己学习以及日常性能测试调优过程中总结的经验整理了一份平民化的优化指南,希望对大家在进行MySQL调优分析时有帮助!   MySQ ...

  9. 30K入职腾讯,全靠这份606页的Android面试指南

    前言 光阴似箭,日月如梭,时间真的过得飞快. 加上实习,从事 Android 开发,差不多有 5 年了.在上家公司职务.薪酬感觉已经到达了天花板,没有上升的余地.而且在这家公司过于安逸了,想换个有挑战 ...

  10. KingbaseES V8R6单实例外部备份故障案例

    案例说明: 在KingbaseES V8R6单实例环境,配置外部备份服务器使用sys_backup.sh物理备份时,出现以下"WAL segment xxx was not archived ...

随机推荐

  1. 2023-10-25:用go语言,假如某公司目前推出了N个在售的金融产品(1<=N<=100) 对于张三,用ai表示他购买了ai(0<=ai<=10^4)份额的第i个产品(1<=i<=N) 现给出K(

    2023-10-25:用go语言,假如某公司目前推出了N个在售的金融产品(1<=N<=100) 对于张三,用ai表示他购买了ai(0<=ai<=10^4)份额的第i个产品(1& ...

  2. #866 div1A

    A. Constructive Problem 题意:给定一个长度为n的非负数组a,我们可以进行一次操作,操作是将l~r这个区间内的所有数变为k(k >= 0),得到b,能不能使mex(a)+ ...

  3. flask 三方模块

    flask 三方插件 Flask-AppBuilder - Simple and rapid Application builder, includes detailed security, auto ...

  4. js执行过程之上下文对象(Context)

    在js的学习中,我们已经不满足于仅了解js的基础知识,而是开始追求更深层次的学习.因为你会发现,仅了解js的基础知识,在开发项目的过程中是远远不够的.今天就来介绍一下在js执行过程中的一些相关内容了. ...

  5. DOM级别

    DOM1 DOM1级由两个模块组成:DOM核心(DOM CORE)和DOM HTML.其中,DOM核心规定的是如何映射基于XML的文档结构,以便简化对文档中任意部分的访问和操作.DOM HTML模块则 ...

  6. [Python急救站课程]等边三角形的绘制

    等边三角形的绘制 from turtle import * penup() fd(-50) pendown() pensize(25) seth(60) fd(100) seth(-60) fd(10 ...

  7. 拓展欧几里得 edgcd 模板+简易推论

    LL exgcd(LL a,LL b, LL &x, LL &y) { if(b == 0) { x=1,y=0; return a; } LL d = exgcd(b, a%b, x ...

  8. TechEmpower 22轮Web框架 性能评测:.NET 8 战绩斐然

    自从2022年7月第21轮公布的测试以后,一年后 的2023年10月17日 发布了 TechEmpower 22轮测试报告 刚刚发布:Round 22 results - TechEmpower Fr ...

  9. WebGL初接触

    有感于在不少jd中看到关于WebGL的内容,想起来之前在高程中还没看完的canvas,就匆匆把剩余的一点看完了,高程中的内容还是皮毛,就属于很基础的.概念性的东西. WebGL 画布的3D上下文.不是 ...

  10. Android 使用 ContentProvider 简单操作数据库

    ContentProvider 可以用来原生读写 Android 自带的数据库 SQLite. 使用 Studio 创建一个 ContentProvider, 名字叫 TestContentProvi ...