NetWorker:名稱解析故障診斷最佳實務

摘要: NetWorker 中的網域名稱空間 (DNS) 相關問題故障診斷指南。

本文章適用於 本文章不適用於 本文無關於任何特定產品。 本文未識別所有產品版本。

說明

NetWorker 取決於名稱解析。如果名稱解析不正確或完全一致,則許多 NetWorker 作業可能會出現問題。由於 NetWorker 可能管理敏感性資料,因此必須確定主機的身分識別,才能透過各種方式與其互動。

警告:雖然具體用例和需求可能會有所不同,但絕不建議將單個IP解析為多個名稱。可以想像,單個名稱在不同情況下可能會返回多個IP。

無論 NetWorker 的症狀數量多少,都可能是 NetWorker 中的名稱解析影響所致:

  • 指出正向或反向名稱查詢問題的錯誤訊息。
  • 備份期間無法探測用戶端
  • 用戶端無法手動儲存至伺服器或還原。
  • 複製或存取儲存節點裝置時發生問題
  • 瀏覽或媒體資料庫記錄問題。
  • 伺服器或儲存節點在啟動或一般運作期間停止回應。
  • 命名錯誤或嵌套的索引目錄
  • 設定錯誤的用戶端錯誤

名稱解析工作流

嘗試解析由命令或內部配置使用的主機名時,必須解析為IP位址才能使用。按以下順序檢查以下資源以查看 name:IP 是否已緩存,並在名稱匹配時停止。 

  1. NetWorker 名稱快取大多數主要的 NetWorker 守護程式;NSRLA 資料庫中可設定的存留期
  2. 本機主機 解析程式快取視作業系統而有所不同,並會延遲從主機或 DNS 查詢載入
  3. 本機 主機檔案 項目:快速本地查找,但手動維護;有助於覆寫 DNS 解析
  4. DNS 伺服器查詢:由於集中管理,行業首選,但速度較慢

1.NetWorker 快取

NetWorker 精靈維護內部名稱快取。用戶端會在 nsrexecd 中快取解析的名稱,而 nsrdnsmmdbd 等核心精靈則保留自己的快取。這是檢查的第一個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

2.解析器快取:

所有主機和作業系統都有本機解析器快取,可協助主機解析並提升速度,無需依賴主機檔案或 DNS 伺服器。作業系統會先檢查 DNS 快取。如果主機記錄存在(即使已過時),則會在查詢其他源之前使用它。在第一次「成功」的解析嘗試後,解析器快取項目會輸入到快取中,並保留一段預先決定的時間。某些作業系統可以顯示其 DNS 快取 (例如, ipconfig /displaydns ),並且都提供了一種刷新它的方法:
    • 刷新解析程式緩存因操作系統/發行版而異 - 請參閱供應商文檔。
    • Windows: ipconfig /flushdns

3.主機檔案:

主機解析的舊方法包括列出IP位址,後跟所需的主機名,用空格分隔,每個主機名都在自己的行上。在 Windows 上,預設會在 DNS 之前勾選此項目。在 Linux 解決方案中,原始碼順序通常可以在 /etc/nsswitch.conf /etc/netsvc.conf 中設定。主機檔僅使用第一個匹配條目。在名稱解析過程中,將忽略重複的IP或主機名(短或長)。每個名稱或IP只能出現一次,因為所有名稱都應在相應IP位址的同一行中輸入。
    • UNIX/Linux:/etc/hosts
    • Windows:%systemroot%\System32\drivers\etc\hosts
注意:主機檔可能損壞。如果不確定,請重新命名檔案,建立新的主機檔案,清除 DNS 快取,然後再試一次。

4.正向解析:

若要使用主機名稱通訊,系統必須將其解析成 IP 位址。對於 DNS,這涉及在適當的區域中進行正向查找。用戶端可以使用多個 DNS 伺服器。在 Windows 上,執行 ipconfig /all 查看它們;在 Linux/UNIX 上,檢查 /etc/resolv.conf 以瞭解 DNS 順序。 nslookup 是查詢DNS最常用的工具,存在於所有平臺上,但經常被濫用;查詢前向區域:
  • 執行 nslookup 沒有參數可進入互動式提示。
  • 輸入名稱疊代以查詢,然後按下 Enter 鍵,從您已連線的 DNS 伺服器擷取正向記錄。
  • 輸入相同的名稱兩次以上,以查看名稱記錄是否為不同主機間的無訊息循環制結果,或是傳回相同的資料。
  • 針對其他主機可能呼叫或視為相同 IP 位址的任何例項名稱,重複相同的程序。
  • 輸入伺服器 next_dns_server,對主機設定為可能使用的任何其他 DNS 伺服器重複相同程序。
注意:所有返回的記錄必須內部一致,與管理員的期望保持一致,並包括所有已知名稱以進行驗證。

5.反向解析:

若要透過 IP 聯絡主機,必須解析其主機名稱。使用 DNS 時,這會使用反向查詢將 IP 對應到主機名稱。同樣,這經常被誤用,因為輸入 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 -afindstr/grep 對於 :calling_port_from_first_host
    6.冒號前的主機名是第二個主機在接受入站連接時解析第一個主機的方式。
    7.再次執行時使用 -n 已新增至 netstat 命令的交換器,以確認相同插槽的 IP,以檢查 IP/路由是否為預期。
    8.執行相同的測試,以確保第二個主機在預期參數內解析第一個主機。

關於 NetWorker 用戶端別名

NetWorker 也有一個可設定欄位,該欄位是所有用戶端例項的全域欄位,稱為「Aliases」,應反映該用戶端可解析的所有名稱。這可讓 NetWorker 將多個解析的名稱連結到一個用戶端例項。例如,根據所使用的 IP,client1.domain.prod 也可能顯示為 client1.domain.bkupclient1

其他資訊

NetWorker 作業 (例如儲存群組) 使用多個 TCP 通訊端:控制、資料及索引更新各一個。如果任何套接字使用不一致(但有效)的名稱,則操作可能會失敗。

  • 有時會刻意使用和設定為循環制,但通常並非預期中,且應加以避免
  • netstat -a 顯示開啟/作用中的 TCP 套接字,顯示外部主機的作業系統解析名稱 - 這可用於識別問題
  • 當網路流量使用意外/不需要的適配器時,有時可能需要靜態路由,這稍後可能會導致名稱解析問題。

另請參閱:  NetWorker 程序和連接埠

受影響的產品

NetWorker
文章屬性
文章編號: 000079462
文章類型: How To
上次修改時間: 22 10月 2025
版本:  5
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。