排查 Windows 中的分布式文件系统命名空间访问失败问题

本文提供了解决分布式文件系统命名空间(DFSN)访问失败的解决方案。

原始 KB 编号: 975440

现象

在运行 Windows XP 或 Window Server 2003 的计算机上,尝试访问 DFSN 时,会收到以下错误消息:

\\<Domain Name>\<DFS Namespace> 不可访问。 你可能没有使用此网络资源的权限。 请联系此服务器的管理员,了解你是否具有访问权限。

由于计算机不可用或访问被拒绝,无法从域控制器读取配置信息。

在 Windows Vista 和更高版本的 Windows 上,你可能会收到以下错误消息之一:

Windows 无法访问 \\<Domain Name>\<DFS 命名空间>

找不到网络路径

原因

此错误通常是因为 DFSN 客户端无法完成到 DFSN 路径的连接。

由于以下任何原因,连接可能会失败:

  • 未能连接到域控制器以获取 DFSN 命名空间引用
  • 无法连接到 DFSN 服务器
  • DFSN 服务器未能提供文件夹引用

解决方法

若要解决此问题,必须评估网络连接、名称解析和 DFSN 服务配置。 可以使用以下方法来评估其中每个依赖项。

连接

在本文中,连接是指客户端联系域控制器或 DFSN 服务器的能力。 如果客户端无法完成与域控制器或 DFSN 服务器的网络连接,DFSN 请求将失败。

可以使用以下测试来验证连接性。

使用 DFSUtil.exe /spcinfo 命令确定客户端是否能够连接到域控制器以获取域信息。 此命令的输出描述了客户端通过 DFSN 引用查询发现的受信任域及其域控制器。 这称为 域缓存

在以下示例中,客户端会发现 DNS 域名 contoso.com 和 NetBIOS 域名 CONTOSO。 为域名 CONTOSO 标识了两个域控制器:2003server2 和 2003server1。 如果客户端访问请求中的 DNS 名称 contoso.com,条目将显示在条目下 contoso.com

[*][2003server1.contoso.com]
[*][CONTOSO]
[*][contoso.com]
[+][CONTOSO]
    [-2003server2]
    [+2003server1]
[-][contoso.com]

由星号标记的条目通过工作站服务获取。 其他条目是通过 DFSN 客户端的引荐获得的。 由加号 (+) 标记的条目是客户端当前使用的域控制器。 有关引荐过程的详细信息,请参阅 DFS 的工作原理

若要评估连接性,请使用其 IP 地址尝试与活动域控制器的简单网络连接。 例如,键入以下命令之一:

  • start \\192.168.1.11
  • net view \\192.168.1.11

成功连接会列出域控制器托管的所有共享。

如果连接成功,请确定在访问命名空间后是否将有效的 DFSN 引用返回到客户端。 可以通过使用 DFSUtil.exe /pktinfo 命令查看引荐缓存(也称为 PKT 缓存)来执行此操作。

在客户端访问 DFSN 路径 \\contoso.com\dfsroot\link后,以下输出详细说明了客户端引用缓存中预期条目。 根有两个目标(rooterver1 和 rooterver2)。 该链接具有单个目标(fileserver)。

Entry: \contoso.com\dfsroot
ShortEntry: \contoso.com\dfsroot
Expires in 300 seconds
UseCount: 0 Type:0x81 ( REFERRAL_SVC DFS )
    0:[\ROOTSERVER1\dfsshare] State:0x119 ( ACTIVE )
    1:[\ROOTSERVER2\dfsshare] State:0x09 ( )

Entry: \contoso.com\dfsroot\link
ShortEntry: \contoso.com\dfsroot\link
Expires in 1800 seconds
UseCount: 0 Type:0x1 ( DFS )
    0:[\fileserver\data] State:0x131 ( ACTIVE )

如果找不到所需命名空间的条目,则表明域控制器未返回引用。 本文稍后将讨论 DFSN 服务故障。

如果看到命名空间(即 \contoso.com\dfsroot)的条目,则该条目证明客户端能够联系域控制器,但随后未达到任何 DFSN 命名空间目标。 如果未将列出的任何命名空间目标指定为 ACTIVE,则表示所有目标都无法访问。

尝试使用 IP 地址访问每个命名空间服务器。 对于此测试,必须仅指定服务器的 IP 地址,并且不得包含命名空间共享(即, net view \\192.168.1.11 但不 net view \\192.168.1.11\dfsroot包括)。 否则,你可能不知不觉地被引用到另一个 DFS 根服务器。 如果发生这种情况,将收到误导性结果。 请注意这些操作期间报告的任何错误消息。

必须调查并解决域控制器或 DFS 命名空间服务器通信的任何故障。 有关 TCP/IP 网络详细信息以及有关实用工具故障排除的详细信息,请参阅 TCP/IP 技术参考

名称解析

客户端必须解析 DFS 命名空间的名称以及托管命名空间的任何服务器的名称。 查看之前由dfsutil /pktinfodfsutil /spcinfo命令生成的输出。 列出的服务器名称必须由客户端解析为 IP 地址。

可以使用以下方法来验证正确的名称解析功能。

  • WINS 和 NetBIOS 名称

    NetBIOS 名称解析失败可能是因为名称记录缺失或你收到名称的 IP 地址错误。 若要对此进行测试,请尝试仅使用其 NetBIOS 计算机名称(即使用命令 net view \\2003server1)访问域控制器。 然后,验证列出的共享是否应由服务器托管。 作为管理员,可以使用命令查看客户端的 NetBIOS 名称缓存 nbtstat -c ,以查看所有已解析的名称及其 IP 地址。 请看下面的示例。

    名称 NetBIOS 远程类型 缓存名称表主机地址 Life [sec]
    2003server1 <00> UNIQUE 192.168.1.11 462

    查看以下文档,排查 WINS 故障:

  • DNS 名称

    默认情况下,DFSN 存储根服务器的 NetBIOS 名称。 还可以将 DFSN 配置为在没有 WINS 服务器的环境中使用 DNS 名称。 有关详细信息,请参阅 如何配置 DFS 以在引荐中使用完全限定的域名。

    可以查看客户端的 DNS 解析程序缓存来验证解析的 DNS 名称。 为此,请打开命令提示符并键入 ipconfig /displaydns 该命令。

    请看下面的示例。

    Windows IP 配置

    2003server1

    记录名称。 。 。 。 。 :2003server1.contoso.com
    记录类型。 。 。 。 。 : 1
    生存时间。 。 。 。 : 882
    数据长度 。 。 。 。 。 :4
    章节 。 。 。 。 。 。 。 答:
    A (主机) 记录。 。 。 : 192.168.1.11

    查看以下文档,排查 DNS 故障:

  • 网络捕获

    网络捕获可能有助于诊断名称解析失败。 在执行捕获之前,请在客户端上刷新缓存的命名信息。 如果执行此操作,则不会公开捕获中可能存在的任何问题,因为不会通过网络再次请求缓存的引用数据或名称。 若要刷新名称缓存,请按以下顺序运行以下命令:

    • nbtstat -RR
    • ipconfig /flushdns
    • dfsutil /pktflush
    • dfsutil /spcflush

有关Microsoft网络监视器 3 的详细信息,请参阅 网络监视器 3 的相关信息。

有关在客户端与基于域的 DFS 环境之间观察到的网络流量的详细信息,请参阅 DFS 的工作原理

有关 DNS 和 WINS 的详细信息,请参阅 名称解析技术

DFS 和系统配置

即使连接和名称解析正常运行,DFS 配置问题也可能导致客户端上出现错误。 DFS 依赖于最新的 DFS 配置数据、正确配置的服务设置和 Active Directory 站点配置。

首先,验证 DFS 服务是否已在所有域控制器和 DFS 命名空间/根服务器上启动。 如果服务在所有位置启动,请确保服务器的系统事件日志中未报告与 DFS 相关的错误。

当管理员对基于域的命名空间进行更改时,更改是在主域控制器(PDC)模拟器主服务器上进行的。 域控制器和 DFS 根服务器定期轮询 PDC 以获取配置信息。 如果 PDC 不可用,或者启用了“根可伸缩性模式”,Active Directory 复制延迟和失败可能会阻止服务器发出正确的引用。 有关根可伸缩性模式的详细信息,请参阅 查看 DFS 大小建议

评估复制运行状况的一种方法是询问每个域控制器上次入站复制尝试的状态。 为此,请运行 repadmin.exe 命令。 此命令的必需语法如下所示:

repadmin /showrepl * DN_of_domain

注意

在此命令中,* 表示要查询的所有域控制器, DN_of_domain 表示域的可分辨名称,例如 dc=contoso,dc=com。

查看上次成功复制的状态和时间,以确保 DFSN 配置更改已到达所有域控制器。 应调查针对 DC 的入站复制报告的任何故障。

DFSN 配置问题也可能阻止访问命名空间。 发生这种情况的一种常见方案是属于不包含命名空间或文件夹目标的站点的客户端。 如果命名空间配置为仅在客户端站点( 现场 选项)内颁发引荐目标,DFSN 将不会提供引荐。 若要评估是否在命名空间上配置了 insite 选项,请打开命令提示符,然后键入 dfsutil /path:\\contoso.com\dfs /insite /display 命令。

同样,Active Directory 站点配置问题可能会阻止 DFSN 服务器正确确定客户端站点。 因此,如果配置了现场,这些问题可能会导致引荐失败。 DFSN 服务通过分析客户端引荐请求的源 IP 地址将客户端映射到站点。 DFS 服务还通过将目标服务器的名称解析为 IP 地址,将每个根目标服务器映射到站点。 若要评估域控制器或 DFS 根是否可以确定系统的正确站点,请在域控制器和 DFS 命名空间服务器上本地运行以下命令之一:

  • dfsutil /sitename:root_target_name
  • dfsutil /sitename:client_ip_address

参考