DBA:这有一份对接NBU备份故障排除指南,请查收!_华为云官方博客-程序员ITS401
DBA:这有一份对接NBU备份故障排除指南,请查收!_华为云官方博客-程序员ITS401
摘要:当前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无法通信