メイン コンテンツに進む
  • すばやく簡単にご注文が可能
  • 注文内容の表示、配送状況をトラック
  • 会員限定の特典や割引のご利用
  • 製品リストの作成とアクセスが可能
  • 「Company Administration(会社情報の管理)」では、お使いのDell EMCのサイトや製品、製品レベルでのコンタクト先に関する情報を管理できます。

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

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

この記事は自動翻訳されたものである可能性があります。品質に関するフィードバックがある場合は、このページの下部にあるフォームを使用してお知らせください。

文書の内容


手順

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

無論 NetWorker 的症狀數量多少,都可能是 NetWorker 中的名稱解析影響所致:
  • 指出正向或反向名稱查詢問題的錯誤訊息。
  • 無法在備份期間探查用戶端。
  • 用戶端無法手動儲存至伺服器或還原。
  • 複製或存取儲存節點裝置發生問題。
  • 瀏覽或媒體資料庫記錄問題。
  • 伺服器或儲存節點會在啟動時或正常運作期間停止回應。
  • 命名錯誤或巢狀的索引目錄。
  • 客戶端錯誤設定錯誤。
名稱解析會因各種機制發生在不同層級:
  • NetWorker 名稱快取
  • 本機主機解析器快取
  • 本機主機檔案項目
  • DNS 伺服器查詢


名稱解析方法


1.NetWorker 快取:NetWorker 保有內部名稱快取,有時可能需要重新啟動服務,才能反應修正名稱解析問題的環境變更。NetWorker 也有可設定的欄位,全域適用於所有稱為「Aliases」的用戶端例項,必須反映該用戶端例項可解析的所有名稱,以避免各種類型的問題。如果 NetWorker 的內部快取中有一個所需的名稱,便會從該處使用,不會諮詢主機解析器快取。NetWorker 伺服器精靈 (nsrd) 能夠將其已解析的名稱快取傾印至 daemon.raw、排清快取,或排清並重新解析名稱:
  • dbgcommand -n nsrd PrintDnsCache=1 (傾印至 daemon.raw)
  • dbgcommand -n nsrd FlushDnsCache=1 (排清)
  • dbgcommand -n nsrd FlushDnsCache=9 (排清並解析)
  • 在上述命令中,「-n 程序名稱」或「-p PID」皆可使用。若要使用 PID,您必須先執行其他命令以取得 PID,例如「ps -ef | grep nsr」(Linux) 或「tasklist | findstr nsr」(windows) 
2.解析器快取:所有主機和作業系統都有本機解析器快取,可協助主機解析並提升速度,無需依賴主機檔案或 DNS 伺服器。接著會依據一般作業系統名稱解析規則檢查此快取,若主機記錄存在 (即使較舊或不正確),便會在查詢任何其他資料來源前使用此快取。在第一次「成功」的解析嘗試後,解析器快取項目會輸入到快取中,並保留一段預先決定的時間。某些作業系統可以顯示其解析器的快取內容 (例如在 Windows 主機中,可以執行 ipconfig /displaydns),並都具有強制清理或排清的機制:
  • 在 Linux 上排清 DNS 的方法可能會因 Linux 版本和所安裝的套件而有所不同,請參閱廠商說明文件。 
  • 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
注意:主機檔案像任何其他檔案一樣可能會毀損,如果有任何疑問,請重新命名現有的主機檔案、建立新檔案、清除解析器快取,然後重試一次。

4.正向解析:若要在提供名稱時與外部主機通訊,主機必須找出外部主機的 IP 位址,以執行 TCP/IP 通訊。在使用 DNS 時,必須在「正向查詢區」中查詢該主機名稱,以擷取其 IP 位址。用戶端可設定並使用多個 DNS 主機,在 Windows 系統上使用 ipconfig /all 即可取得 DNS 名稱,在 Linux/UNIX 作業系統上,/etc/resolv.conf 通常包含 DNS 伺服器順序。nslookup 是查詢 DNS 最常見的工具,在所有平台上皆可使用,但經常遭到濫用。若要查詢正向區域:
  • 在不使用引數的狀況下執行 nslookup,以進入互動式提示。
  • 輸入名稱疊代以查詢,然後按下 Enter 鍵,從您已連線的 DNS 伺服器擷取正向記錄。
  • 輸入相同的名稱兩次以上,以查看名稱記錄是否為不同主機間的無訊息循環制結果,或是傳回相同的資料。
  • 針對其他主機可能呼叫或視為相同 IP 位址的任何例項名稱,重複相同的程序。
  • 輸入伺服器 next_dns_server,對主機設定為可能使用的任何其他 DNS 伺服器重複相同程序。
注意:所有傳回的記錄皆須彼此一致,且與系統管理員認為正確的記錄一致,並且必須紀錄所有已知名稱並加以檢查。

 5.反向解析:若要在提供 IP 位址時與外部主機通訊,主機可能需要尋找主機的名稱。在使用 DNS 時,會在「反向查詢區」執行查詢,以尋找該 IP 位址所相關的主機名稱。同樣地,這也經常遭到濫用,因為輸入 nslookup IP_Address 或甚至輸入 nslookup 中的 IP 位址並不會查詢「反向查詢區」:
  • 在不使用引數的狀況下執行 nslookup,以進入互動式提示。
  • 輸入「set 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 大幅依賴於完全一致的反向解析及標準正向解析,此為其授權程序的一部分,並刻意透過此方式,防止意圖竊取備份資料的 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.在遠端主機上 - 為 :calling_port_from_first_host 執行 netstat -a 與 findstr/grep (現在會出現在右側)
    6.其冒號左側的主機名稱是第二個主機針對輸入連線所解析的第一個主機名稱
    7.再次執行 netstat 命令並加上 -n 切換值,以驗證相同插槽的 IP,確定 IP/路由是否與預期相同
    8.反向進行相同的測試,以確保第二個主機對第一個主機的解析結果亦在預期參數內

その他の情報

 
如 savegroup 等許多 NetWorker 作業會使用多個獨立的 TCP 插槽,以 savegroup 為例,一個用於控制工作階段、一個用於資料,另一個則用於更新索引,如果任何工作階段使用不一致 (儘管技術上正確) 的名稱,作業可能會失敗。
  • 有時會刻意使用和設定為循環制,但通常並非預期中,且應加以避免
  • netstat -a 會顯示開啟/使用中的 TCP 插槽,顯示作業系統解析的外部主機名稱 - 此選項可用來識別問題
  • 當網路流量使用非預期/不想要的配接卡時,有時可能需要使用靜態路由,這可能會在之後導致名稱解析問題。

另請參閱:
KB 463606:故障診斷 DNS 與名稱解析問題

文書のプロパティ


影響を受ける製品

NetWorker

最後に公開された日付

26 9月 2023

バージョン

3

文書の種類

How To