DBA:这有一份对接 NBU 备份故障排除指南,请查收!
DBA:这有一份对接 NBU 备份故障排除指南,请查收!
摘要:当前 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 配置
注:
--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, 在末尾调加如下配置
NBU 系统针对每一个进程都有一个独立的目录来存放,但是在默认情况下不创建,所有如果想要搜集这些日志,工程师需要手动创建这些目录。目录格式为/usr/openv/netbackup/logs/进程名;以 bpcd 程序为例,执行以下命令创建子目录:
或者使用 NBU 提供的批量创建脚本,一键创建所有日志目录,执行以下命令:
在搜集日志时,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 服务进程
用命令行停止 netbackup 服务进程
用命令行清除 host 缓存
用命令行检测 master 和 client 连通性
若可以连通,返回结果类似如下:
NBU master server 与 NBU client 通信问题
在 client 和 master server 上互相 telnet 对方的备份管理平面 IP 的 1556、1372、13782 三个端口,确认 client 服务器与 master server 通信正常
检查 NBU 服务及进程
Media server 不是认证的主机
此为 client 上对 media server 的信任配置问题。在 console 上点击 host properties>client,找到故障客户端,双击 client,在弹出界面点击 servers 一栏,在 additional server 配置中添加 media server 的主机名
存储单元不可用
出现“存储单元不可用”故障信息可能有以下几种情况:
1、存储单元已满
2、此存储单元上处于排队状态的备份任务过多
3、client 与存储单元归属的 media server 无法通信