VIDEO
通常,分析 NetWorker 服务器上 .../nsr/logs/policy/[policy name] 中的策略日志就已经足够,但有时可能需要分析 vProxy 设备本身上的日志,此外还需将日志记录级别提高到“debug”,以便更清楚地了解故障原因。通常,只有在 NetWorker 支持参与并且支持工程师请求设置为 debug 以进行故障处理后,才需要这样做。
vProxy 设备上的 NVP-vProxy 日志文件位于以下目录中:
/opt/emc/vproxy/runtime/logs
用于 vProxy 设备上的 NetWorker 操作的每个主进程都有一个子目录:
vbackupd
vflrd
vrapid
vrecoverd
例如,vbackupd 子目录中有以下日志:
[session-uuid].log 处理会话的详细信息
vbackupd-engine.log 请求和问题事件,包括来自会话日志的错误和崩溃消息。
vbackupd-boost.log DDBoost 日志记录。
vbackupd-snapmgr.log 快照日志记录
vbackupd-vddk.log VDDK 日志记录 - VMware Virtual Disk Development Kit
有关 vProxy 日志记录和收集的更多信息,请参阅:
NVP-vProxy 分流指南:NetWorker VMware Protection vProxy 分流和日志收集指南
应用服务调试方法 1:
此方法适用于 vProxy 版本 4.3.x 及更高版本。
1.使用 vProxy 管理员 帐户通过 SSH 连接到 vProxy。
2.切换到 root:sudo su -
3.更改为 vProxy 代理 bin 目录: cd /opt/emc/vproxy/bin
4. 对于您想要调试的服务(vbackupd、vflrd、vrapid、vrecoverd),请运行以下命令:
./vProxy_debug.sh -s -d SERVICE_NAME -p program -l debug
engine level: { debug, trace, info, warn }(默认为“trace”)
将 vflrd 置于 debug 级别的示例:
提醒: DEBUG 消息应显示在 services engine.log 中,如上所示。
要禁用 debug,您可以将服务重置回 trace
./vProxy_debug.sh -s -d SERVICE_NAME -p program -l trace
应用服务调试方法 2:
可用的日志记录级别包括:none、error、warn、info、trace、debug
为了将 vbackupd 进程设置为日志记录级别“debug”:
1.以管理员身份通过 ssh 或控制台登录 vProxy 设备,然后切换到 root: sudo su -
2. 转至系统目录: cd /usr/lib/systemd/system/
提醒: 每个服务文件都可在此处找到:vbackupd.service、vfrld.service、vrapid.service、vrecoverd.service 等
3.打开要应用 debug 的服务文件,例如: vi vbackupd.service
4. 找到 ExecStart= 行并附加 --program-log-level=debug
其他参数:
--engine-log-level=string
vProxy 2.x engine log level: { debug, trace, info, warn }.
--program-log-level=string (vbackupd)
vProxy 3.x 及更高版本的引擎级别:{ debug, trace, info, warn }(默认为“trace”
--version
显示版本
提醒: NVP-vProxy 版本显示在 NetWorker Management Console 中 Vproxy 属性的“Configuration”选项卡中:
- NMC -> Devices -> VMware Proxies -> 右键单击 vProxy 设备 -> Properties -> Configuration 选项卡 -> VM proxy version
5.保存对文件的更改
6.通过键入以下命令重新加载设备配置文件:
systemctl daemon-reload
7. 在 NetWorker Management Console 中确认当前没有正在运行的备份,然后重新启动 vbackupd 服务:
systemctl restart vbackupd.service
上述流程适用于以下服务: vrapid、vrecoverd、vbackupd 和 vflrd。
应用 VDDK 调试:
1.以管理员身份使用 SSH 或控制台登录 vProxy 设备并切换到 root: sudu su -
2. 编辑 VixDiskLib.config 文件以包含以下行: vi /opt/emc/vproxy/conf/VixDiskLib.config
vixDiskLib.transport.LogLevel=4
0 = 无日志记录
1 = 仅错误
2 = 警告和错误
3 = 重要信息消息、错误和警告
4 = 调试数据以及其他所有数据
3.重新启动相关服务:
systemctl restart [service-name].service
例如: systemctl restart vrecoverd.service
设置调试级别日志记录后,您可以确认相关日志文件中存在以“Debug”一词开头的消息。
完成调试过程后,您可以使用相同的步骤重置日志级别,在等号后使用“trace”而不是“debug”。 为了立即适用,将需要重新加载和重新启动守护程序,如上所述。
DDBoost 调试:
此过程可与上述其他调试方法一起使用。 1.以管理员身份使用 SSH 或控制台登录 vProxy 设备并切换到 root:sudu su - 2.编辑 vbackupd.service 文件:vi /usr/lib/systemd/system/SERVICE .service 可以在以下服务上启用 ddboost 调试,根据执行的操作(需要调试)启用调试:
/usr/lib/systemd/system/vbackupd /usr/lib/systemd/system/vflrd /usr/lib/systemd/system/vrecoverd
3.在附加了 ExecStart 的行中:--boost-log-level=debug --boost-log-level=string DD Boost 日志级别:{ none, error, warn, info, debug, trace, all }(默认为“error”) vbackupd 服务示例:
ExecStart=/opt/emc/vproxy/bin/vbackupd --boost-log-level=debug
4.在 /下创建文件 ddboost_precert.ini: touch /ddboost_precert.ini 5. 在 / 下创建目录 DDLog: mkdir /DDLog 6. 重新加载守护程序: systemctl daemon-reload 7. 重新启动 vbackupd.service: systemctl restart SERVICE .service
重新启动启用了调试的服务,例如:
systemctl restart vbackupd.service
8.确认服务启动: systemctl status SERVICE .service
示例:
systemctl status vbackupd.service
9.确认 vbackupd-ddboost.log 显示“debug”:
确认应用到 vbackupd 的设置的示例:
cat /opt/emc/vproxy/runtime/logs/vbackupd/vbackupd-boost.log | grep "set to"
10.确认已生成 ddboost_precert.log 日志: ls -l /DDLog
当不再需要调试操作时,从服务文件中删除 --boost-log-leve=debug,重新加载守护程序,并重新启动服务。