NetWorker:名稱解析故障診斷最佳實務
摘要: NetWorker 中的網域名稱空間 (DNS) 相關問題故障診斷指南。
說明
NetWorker 取決於名稱解析。如果名稱解析不正確或完全一致,則許多 NetWorker 作業可能會出現問題。由於 NetWorker 可能管理敏感性資料,因此必須確定主機的身分識別,才能透過各種方式與其互動。
無論 NetWorker 的症狀數量多少,都可能是 NetWorker 中的名稱解析影響所致:
- 指出正向或反向名稱查詢問題的錯誤訊息。
- 備份期間無法探測用戶端
- 用戶端無法手動儲存至伺服器或還原。
- 複製或存取儲存節點裝置時發生問題
- 瀏覽或媒體資料庫記錄問題。
- 伺服器或儲存節點在啟動或一般運作期間停止回應。
- 命名錯誤或嵌套的索引目錄
- 設定錯誤的用戶端錯誤
名稱解析工作流
嘗試解析由命令或內部配置使用的主機名時,必須解析為IP位址才能使用。按以下順序檢查以下資源以查看 name:IP 是否已緩存,並在名稱匹配時停止。
- NetWorker 名稱快取:大多數主要的 NetWorker 守護程式;NSRLA 資料庫中可設定的存留期
- 本機主機 解析程式快取:視作業系統而有所不同,並會延遲從主機或 DNS 查詢載入
- 本機 主機檔案 項目:快速本地查找,但手動維護;有助於覆寫 DNS 解析
- DNS 伺服器查詢:由於集中管理,行業首選,但速度較慢
1.NetWorker 快取:
NetWorker 精靈維護內部名稱快取。用戶端會在 nsrexecd 中快取解析的名稱,而 nsrd 和 nsmmdbd 等核心精靈則保留自己的快取。這是檢查的第一個IP表,也是最快的。內部快取存留存期間可使用以下方式在每個 NetWorker 主機的 nsrla 資料庫中設定: nsradmin:
Linux/UNIX
printf ". type: nsrla\nshow positive DNS cache TTL; negative DNS cache TTL\nprint\n" | nsradmin -p nsrexec -s remote_host
Windows
(echo . type: nsrla & echo show positive DNS cache TTL; negative DNS cache TTL & echo print) | nsradmin -p nsrexec -s remote_host
預設情況下應傳回 30 分鐘 (1800 秒):
positive DNS cache TTL: 1800; negative DNS cache TTL: 1800;
此值可控制 NetWorker 會提前多久才能刻意清除程序快取,以便依序從下一層更新資訊。因此,引發它適用於 DNS 查找速度較慢但 DNS 尋址相對靜態的環境。相反,對於位址頻繁更改的環境,可能需要較低的值。
如果 NetWorker 的內部快取中存在所需的名稱,則會使用該名稱,並停止進一步的查詢。為了進行故障排除,如果緩存的名稱到IP映射看起來錯誤,請使用命令記錄當前緩存,然後刷新或重新解析條目:
-
dbgcommand -n nsrd PrintDnsCache=1(轉儲至 daemon.raw)dbgcommand -n nsrd FlushDnsCache=1(齊平),或,dbgcommand -n nsrd FlushDnsCache=9(清除並立即重新解析/重新建置快取)
-n process name“或”-p PID“可以使用。若要使用進程 ID (PID),必須先運行其他命令才能獲取 PID;比如:
-
- Linux/UNIX:
ps -ef | grep nsr - Windows:
tasklist | findstr nsr
- Linux/UNIX:
2.解析器快取:
ipconfig /displaydns ),並且都提供了一種刷新它的方法:
-
- 刷新解析程式緩存因操作系統/發行版而異 - 請參閱供應商文檔。
- Windows:
ipconfig /flushdns
3.主機檔案:
-
- UNIX/Linux:/etc/hosts
- Windows:%systemroot%\System32\drivers\etc\hosts
4.正向解析:
ipconfig /all 查看它們;在 Linux/UNIX 上,檢查 /etc/resolv.conf 以瞭解 DNS 順序。 nslookup 是查詢DNS最常用的工具,存在於所有平臺上,但經常被濫用;查詢前向區域:
- 執行
nslookup沒有參數可進入互動式提示。 - 輸入名稱疊代以查詢,然後按下 Enter 鍵,從您已連線的 DNS 伺服器擷取正向記錄。
- 輸入相同的名稱兩次以上,以查看名稱記錄是否為不同主機間的無訊息循環制結果,或是傳回相同的資料。
- 針對其他主機可能呼叫或視為相同 IP 位址的任何例項名稱,重複相同的程序。
- 輸入伺服器 next_dns_server,對主機設定為可能使用的任何其他 DNS 伺服器重複相同程序。
5.反向解析:
nslookup IP_Address 甚至輸入 IP 位址 nslookup 不查詢反向尋找區域:
-
執行
nslookup沒有參數可進入互動式提示。 - 輸入集合
q=ptr以將查詢類型更改為「反向區域」。 - 輸入要反向解析的 IP 位址,然後按下 enter 鍵。
- 請確定反向記錄中傳回的名稱與正向記錄名稱/IP 相符。
[root@linux_a~]# nslookup linux_a
Server: 1.2.3.4
Address: 1.2.3.4#53
Name: linux_a.domain.com
Address: 5.6.7.8
[root@linux_a~]# nslookup 5.6.7.8
Server: 1.2.3.4
Address: 1.2.3.4#53
Name: linux_a.domain.com
Address: 5.6.7.8
[root@linux_a~]# nslookup
> set q=ptr
> 5.6.7.8
Server: 1.2.3.4
Address: 1.2.3.4#53
Non-authoritative answer:
8.7.6.5.in-addr.arpa name = linux_a.domain.com.
nslookup 非互動式從不查詢反向查找區域。
注意:NetWorker 仰賴一致的正向和反向 DNS 進行授權。此設計有助於防止IP欺騙,並保護備份數據免受未經授權的訪問。
測試名稱解析
所有 NetWorker 主機都必須根據其資料區域角色,對其通訊的任何主機進行一致的正向和反向名稱解析。NetWorker 系統管理員必須確保能立即且完整地解決任何主機解析問題。
針對名稱解析問題進行故障診斷,或是在 NetWorker 資料區域排除問題時:
1.尋找失敗作業中涉及的所有主機 (伺服器、用戶端,可能還有儲存節點等)。
2.確定已在本機針對每個 IP 的預期可解析名稱設定 IP。
3.設定所有主機,以在 DNS 進行主機解析之前使用主機檔案。
4.在一個主機的主機檔案開始時,為每個 IP 設定單一項目,每個名稱對應於同一行。
5.將這些行從第一個主機完整複製到其他相關主機的主機檔案。
6.編輯 NetWorker 用戶端物件,以正確對應所需 IP 的別名。
7.關閉所有相關主機上的 NetWorker。
8.使用適當的操作系統機制清除每個主機上的解析程式緩存。
9.重新啟動 NetWorker 並再次嘗試有問題的操作。
若要證明名稱是由指定的主機解析,請使用此測試:
1.從第一個 NetWorker 主機 (例如用戶端) 連線至第二個 (例如伺服器) nsradmin -s remote_host -p nsrexec - 使會話保持打開狀態。
2.在相同的主機上,判斷 nsradmin 的程序 (例如 Windows、 tasklist | findstr nsradmin)
3.執行 netstat 以顯示與該程序相關的插槽 (例如,Windows、 netstat -ao | findstr process_id)
4.判斷來自該主機的連接插槽 (輸出結果中最左側的 IP 與連接埠配對)
5.在遠端主機上 - 執行 netstat -a 和 findstr/grep 對於 :calling_port_from_first_host。
6.冒號前的主機名是第二個主機在接受入站連接時解析第一個主機的方式。
7.再次執行時使用 -n 已新增至 netstat 命令的交換器,以確認相同插槽的 IP,以檢查 IP/路由是否為預期。
8.執行相同的測試,以確保第二個主機在預期參數內解析第一個主機。
關於 NetWorker 用戶端別名
NetWorker 也有一個可設定欄位,該欄位是所有用戶端例項的全域欄位,稱為「Aliases」,應反映該用戶端可解析的所有名稱。這可讓 NetWorker 將多個解析的名稱連結到一個用戶端例項。例如,根據所使用的 IP,client1.domain.prod 也可能顯示為 client1.domain.bkup 或 client1。
其他資訊
NetWorker 作業 (例如儲存群組) 使用多個 TCP 通訊端:控制、資料及索引更新各一個。如果任何套接字使用不一致(但有效)的名稱,則操作可能會失敗。
- 有時會刻意使用和設定為循環制,但通常並非預期中,且應加以避免
netstat -a顯示開啟/作用中的 TCP 套接字,顯示外部主機的作業系統解析名稱 - 這可用於識別問題- 當網路流量使用意外/不需要的適配器時,有時可能需要靜態路由,這稍後可能會導致名稱解析問題。
另請參閱: NetWorker 程序和連接埠