NetWorker:识别需要清除对等方信息的客户端 “错误 - SSL 协议故障”
Summary: NetWorker 服务器的 /nsr/logs/daemon.raw 包含大量以下条目:“Unable to complete SSL handshake with nsrexecd on host 'CLIENT_NAME': SSL 协议失败导致发生错误。”除了可能的连接问题外,这使得解析日志以进行任何其他故障处理变得困难。 本文重点介绍从服务器和客户端连接中清除此问题的步骤。 ...
Instructions
在某些情况下,NetWorker 服务器的 daemon.raw 两个 NetWorker 系统之间可能会充斥着通用安全服务 (GSS) 身份验证连接错误:
MM/DD/YYYY HH:MM:SS 5 13 9 3635926784 26586 0 NSR_HOSTNAME nsrexecd SSL critical Unable to complete SSL handshake with nsrexecd on host 'CLIENT_NAME': An error occurred as a result of an SSL protocol failure. To complete this request, ensure that the certificate attributes for CLIENT_NAME and NSR_NAME match in the NSRLA database on each host.
或
MM/DD/YYYY HH:mm:SS 5 12 10 11256 2900 0 NSR_NAME nsrexecd GSS critical An authentication request from CLIENT_NAME was denied. The 'NSR peer information' provided did not match the one stored by NSR_NAME. To accept this request, delete the 'NSR peer information' resource with the following attributes from NSR_NAME's NSRLA database: name: CLIENT_NAME; NW instance ID: CLIENT_ID; peer hostname: CLIENT_NAME MM/DD/YYYY HH:mm:SS 0 0 0 6384 6380 0 NSR_NAME nsrd NSR info Authentication Warning: Conflicting NSR peer information resources detected for host 'CLIENT_NAME'. Please check server daemon log for more information.
在 NetWorker 服务器中,以根用户或管理员命令提示符运行:
nsradmin -C -y -p nsrexecd "nsr peer information"
请参阅:NetWorker:如何使用自动清除 NSR 对等主机信息不匹配 nsradmin -C
此命令检查 NetWorker 服务器的 nsrladb 并试图纠正它。此作还必须在报告此问题的客户端上运行。许多客户端都可能会发生这种情况,并且很难隔离需要纠正的所有不同主机。
以下过程可用于确定哪些系统需要运行 nsradmin -C -y 或者可能需要手动删除对等信息。
Linux 主机:
- 渲染
daemon.raw:
nsr_render_log -S "1 weeks ago" /nsr/logs/daemon.raw > /nsr/logs/daemon.out 2<&1
- 创建仅包含 GSS 身份验证连接错误的文件:
cat /nsr/logs/daemon.out | grep "SSL handshake" > GSS_error.out
或者:
cat /nsr/logs/daemon.out | grep "NSR peer information" > GSS_error.out
提醒:根据观察到的特定 GSS 身份验证错误,将
filter 使用者 grep 以收集所需的输出。
- 创建一个仅包含 GSS 输出文件中的客户端名称的文件:
cat GSS_error.out | awk {'print $24'} | sort > client.out
此命令使用 Linux awk 和 print 命令仅打印 column 包含来自完整 SSL 连接错误消息的客户端名称。具体取决于 filter number 使用,如果上面的示例未返回预期结果,请修改打印编号以正确输出客户端名称。
- 使用 unique 命令查看文件,以仅输出报告此问题的每个客户端的一个条目:
cat client.out | uniq
示例:
[root@nsrserver logs]# nsr_render_log daemon.raw > daemon.out 2<&1
[root@nsrserver logs]# cat daemon.out | grep "SSL handshake" > GSS_error.out
[root@nsrserver logs]# cat GSS_error.out | awk {'print $24'} | sort > client.out
[root@nsrserver logs]# cat client.out | uniq
'client1':
'client2':
'client3':
'client4':
'client5':
'client6':
以上主机名已更改;现在,与数百个条目 daemon.raw,则每个客户端只有一个条目报告此行为。
- 连接到使用 SSH 或远程桌面协议 (RDP) 报告的客户端系统,并使用 root/管理命令提示符运行:
nsradmin -C -y -p nsrexecd "nsr peer information"
在服务器和客户端上运行此命令应确保 nsrladb 在每个系统上都包含正确的对等证书信息。如果检测到不匹配,则会删除证书,服务器和客户端之间的下一次连接尝试应生成一个新证书。
这 nsradmin 命令在输出中显示哪些主机不匹配以及执行了什么作。
文章 NetWorker:修复不一致的 NSR 对等信息
- 输出文件可以删除一次不再需要:
rm -rf filename
Windows 主机:
- 以管理员身份打开 Windows Powershell 提示符。
- 将目录更改为 NetWorker 日志目录:
cd "C:\Program Files\EMC NetWorker\nsr\logs"
该示例假定使用默认安装位置。如果您在其他位置安装了 NetWorker,请相应地修改该命令。
- 渲染
daemon.raw:
nsr_render_log -S "1 weeks ago" daemon.raw > daemon.out
- 创建仅包含 GSS 身份验证连接错误的文件:
elect-String -Path .\daemon.out -pattern "SSL handshake" > GSS_error.out
或者:
Select-String -Path .\daemon.out -pattern "NSR peer information" > GSS_error.out
提醒:根据观察到的特定 GSS 身份验证错误,将”
filter“使用者 grep 以收集所需的输出。
- 生成显示报告 GSS 身份验证错误的唯一系统的输出:
Get-Content .\GSS_error.out | %{ $_.Split(' ')[9]; } | Sort | Unique
filter number used,如果上面的示例未返回预期结果,请更改打印编号以输出客户端名称。
示例:
PS C:\Program Files\EMC NetWorker\nsr\logs> Get-Content .\GSS_error.out | %{ $_.Split(' ')[9]; } | Sort | Unique
13120
13932
2808
2828
2856
2900
2920
2956
5716
6088
6328
6380
6772
6852
8196
9388
networker-mc.emclab.local
redhat.emclab.local
winsrvr.emclab.local
- 连接到使用 SSH 或 RDP 报告的客户端系统,并使用 root/管理命令提示符运行:
nsradmin -C -y -p nsrexecd "nsr peer information"
在服务器和客户端上运行此命令应确保 nsrladb 在每个系统上都包含正确的对等证书信息。如果检测到不匹配,则会删除证书,服务器和客户端之间的下一次连接尝试应生成一个新证书。
这 nsradmin 命令在输出中显示哪些主机不匹配以及执行了什么作。
文章 NetWorker:修复不一致的 NSR 对等信息
- 输出文件一旦不再需要,就可以删除。