NetWorker:識別需要清除對等資訊「錯誤-SSL 通訊協定失敗」的用戶端
Summary: NetWorker 伺服器的 /nsr/logs/daemon.raw 充滿「無法在主機「CLIENT_NAME」上完成與 nsrexecd 的 SSL 交握:由於 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 和列印命令,僅會列印 column 包含完整 SSL 連接錯誤消息中的用戶端名稱。根據 filter number 如果使用,如果上述示例未返回預期結果,請修改列印編號以正確輸出客戶端名稱。
- 使用唯一命令檢閱檔案,僅輸出每個報告此問題之用戶端的一個例項:
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) 回報的用戶端系統,並使用根/管理命令提示字元執行:
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 如果使用,請更改列印編號以輸出客戶端名稱(如果上述示例未返回預期結果)。
範例:
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 回報的用戶端系統,並使用根/管理命令提示字元執行:
nsradmin -C -y -p nsrexecd "nsr peer information"
在伺服器和用戶端上執行此命令應確保 nsrladb 在每個系統上都包含正確的對等證書資訊。如果偵測到不相符的情形,憑證會刪除,而伺服器和用戶端之間的下一次連線嘗試應會產生新的
連線。這 nsradmin 命令會顯示哪些主機不相符,以及輸出中採取了什麼動作。
NetWorker 文章有關於手動刪除同儕資訊的詳細資料:修正不一致的 NSR 等資訊
- 一旦不再需要,可以刪除輸出檔。