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

NetWorker:名称解析故障处理最佳实践

概要: NetWorker 中与域名空间 (DNS) 相关的问题的故障处理指南。

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

文書の内容


手順

NetWorker 依赖名称解析。如果名称解析不正确且不完全一致,NetWorker 的许多操作都可能出现问题。由于 NetWorker 管理的可能是敏感数据,因此它必须通过各种方式确保与之交互的主机的身份。

NetWorker 中的许多症状都可能是 NetWorker 名称解析不完善造成的:
  • 指示正向或反向名称查找问题的错误消息。
  • 备份过程中无法探测客户端。
  • 客户端无法手动保存到服务器或进行恢复。
  • 克隆或访问存储节点设备时出现问题。
  • 浏览或介质数据库记录问题。
  • 服务器或存储节点在启动时或正常操作过程中停止响应。
  • 索引目录命名错误或发生嵌套。
  • 客户端配置不当的错误。
名称解析通过各种机制在不同层面进行:
  • NetWorker 名称高速缓存
  • 本地主机解析器高速缓存
  • 本地主机文件条目
  • DNS 服务器查找


名称解析方法


1.NetWorker 高速缓存:NetWorker 维护内部的名称高速缓存,因此有时可能无法反映在不重新启动服务的情况下为纠正名称解析问题所做的环境更改。此外,NetWorker 还具有可配置的字段,该字段对所有客户端实例来说都是全局性的,这些客户端实例也称为“别名”,必须反映客户端实例可解析的所有名称,以避免多种问题。如果所需的名称存在于 NetWorker 的内部高速缓存中,则系统会从那里使用该名称,而不会查询主机解析器高速缓存。NetWorker 服务器守护程序 (nsrd) 能够将解析的名称高速缓存转储到 daemon.raw、刷新高速缓存或刷新并重新解析名称:
  • dbgcommand -n nsrd PrintDnsCache=1(转储到 daemon.raw)
  • dbgcommand -n nsrd FlushDnsCache=1(刷新)
  • dbgcommand -n nsrd FlushDnsCache=9(刷新并解析)
  • 对于上述命令,可以使用“-n process name”或“-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 地址的主机的任何名称实例,请重复相同的过程。
  • 对于主机经配置后可能使用的任何其他 DNS 服务器(通过输入 server next_dns_server 进行配置),请重复相同的过程。
提醒:返回的所有记录必须相互之间保持一致,并且与管理员认为正确的内容保持一致;所有已知的名称都必须进行清点核对。

 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.使用 nsradmin -s remote_host -p nsrexec,从第一个 NetWorker 主机(例如客户端)连接到第二个 NetWorker 主机(例如服务器)- 使会话保持打开状态
    2.在同一个主机上,确定 nsradmin 的进程(例如,Windows:tasklist | findstr nsradmin
    3.运行 netstat 以显示与该进程关联的套接字(例如,Windows:netstat -ao | findstr process_id
    4.确定来自该主机的连接套接字(输出中最左边的 IP:port 配对)
    5.在远程主机上,运行 netstat -a 和 findstr/grep,以获得 :calling_port_from_first_host(它现在将出现在右侧)
    6.在第二个主机将入站连接解析为第一个主机的情况下,冒号左侧显示的主机名是第一个主机的名称
    7.在 netstat 命令中添加 -n 开关后再次运行,以验证同一套接字的 IP,从而检查 IP/路由是否符合预期
    8.反向进行同样的测试,确保第二个主机在预期参数范围内解析第一个主机

その他の情報

 
许多 NetWorker 操作(例如存储组)使用多个独立的 TCP 套接字 - 这些 TCP 套接字在存储组示例中,一个用于控制会话,一个用于数据,一个用于更新索引 - 如果任何会话使用的名称不一致,那么尽管在技术上这是正确的,操作也可能会失败。
  • 轮询有时会遭到刻意使用和配置,但它通常是出乎意料的,因此应予以避免
  • netstat -a 将显示打开/活动的 TCP 套接字,这些 TCP 套接字能够显示可用于识别问题的外部主机的操作系统解析名称
  • 当网络流量使用意外/不需要的适配器时,您有时可能必须进行静态路由,这稍后也许会引起名称解析问题。

另请参阅:
知识库文章 463606:对 DNS 和名称解析问题进行故障处理

文書のプロパティ


影響を受ける製品

NetWorker

最後に公開された日付

26 9月 2023

バージョン

3

文書の種類

How To