摘要:当前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. java值传递机制

    目录 1. 基本数据类型 2. 引用数据类型 3. 总结 1. 基本数据类型 public class ValueTransferTest { public static void main(Stri ...

  2. Web SSH 的原理与在 ASP.NET Core SignalR 中的实现

    前言 有个项目,需要在前端有个管理终端可以 SSH 到主控机的终端,如果不考虑用户使用 vim 等需要在控制台内现实界面的软件的话,其实使用 Process 类型去启动相应程序就够了.而这次的需求则需 ...

  3. 探究-ping指令的使用

    简介: 背景:一直以来在项目上经常使用ping指令来测试网络通信,最近稍微研究了一下常用的指令,记录以作备忘.--MaQaQ 2023-11-1 ping (Packet Internet Grope ...

  4. Web Woeker和Shared Worker的使用以及案例

    目录 1.前言 2.介绍 Web Worker 3.使用须知及兼容性 3.1.使用须知 3.2.兼容性 4.使用 Web Worker 4.1.创建 Web Worker 4.2.与主线程通信 4.3 ...

  5. mysql 索引图

  6. 欧拉序求LCA

    使用欧拉序 st 表 O(1) 求 LCA 欧拉序 st 表求 LCA 一开始是从某篇题解里看到的,后来百度了一下就会了( 这是一种预处理 O(nlogn) ,查询 O(1) 的优秀算法. 什么是欧拉 ...

  7. 容器Cgroup和Namespace特性简介

    一般来说,容器技术主要包括Cgroup和Namespace这两个内核特性.Cgroup Cgroup是control group,又称为控制组,它主要是做资源控制.原理是将一组进程放在放在一个控制组里 ...

  8. 基于C# Socket实现的简单的Redis客户端

    前言 Redis是一款强大的高性能键值存储数据库,也是目前NOSQL中最流行比较流行的一款数据库,它在广泛的应用场景中扮演着至关重要的角色,包括但不限于缓存.消息队列.会话存储等.在本文中,我们将介绍 ...

  9. 一款实用的.NET Core加密解密工具类库

    前言 在我们日常开发工作中,为了数据安全问题对数据加密.解密是必不可少的.加密方式有很多种如常见的AES,RSA,MD5,SAH1,SAH256,DES等,这时候假如我们有一个封装的对应加密解密工具类 ...

  10. .NET8 依赖注入

    依赖注入(Dependency Injection,简称DI)是一种设计模式,用于解耦组件(服务)之间的依赖关系.它通过将依赖关系的创建和管理交给外部容器来实现,而不是在组件(服务)内部直接创建依赖对 ...