网络与域名解析

DFS 命名空间的恢复过程 - Windows Server

· 52CE 我爱测

本文介绍在 Windows Server 中恢复分布式文件系统命名空间(DFSN)的方法。 原始 KB 数: 969382 快速发布 快速发布文章直接从Microsoft支持组织内提供信息。 本文中包含的信息是针对新兴或独特的主题创建的,或旨在补充其他知识库信息。 详细信息 DFS 命名空间的恢复过程取决于命名空间配置数据的丢失方式、命名空间的类型(域或独立),以及数据的备份类型。 数据可能已通过 DFS 管理工具进行不当修改,直接在 Active Dir

本文介绍在 Windows Server 中恢复分布式文件系统命名空间(DFSN)的方法。

原始 KB 数: 969382

快速发布

快速发布文章直接从Microsoft支持组织内提供信息。 本文中包含的信息是针对新兴或独特的主题创建的,或旨在补充其他知识库信息。

详细信息

DFS 命名空间的恢复过程取决于命名空间配置数据的丢失方式、命名空间的类型(域或独立),以及数据的备份类型。 数据可能已通过 DFS 管理工具进行不当修改,直接在 Active Directory 或注册表中删除,或者已损坏。 配置数据的备份类型包括域控制器的系统状态备份、DFS 根/命名空间服务器的备份、通过dfsutil.exe实用工具导出的数据以及 DFS 服务注册表项。

背景色:

在开始恢复过程之前,请确定 DFS 命名空间的丢失是由于意外的管理删除命名空间内容或 DFS 配置数据的丢失/损坏造成的。

DFSN 恢复选项: 独立 DFSN 注册表数据已删除? 使用命名空间服务器的系统状态备份,请参阅独立 DFS 根和链接的恢复选项 1 使用 DFSUTIL 使用 DFSN 命名空间的导出副本,请参阅独立 DFS 根和链接的恢复选项 2 重新创建 DFS 命名空间 已删除根共享或链接共享? 使用命名空间服务器的系统状态备份,请参阅共享文件夹的恢复选项 1 使用已保存的共享配置注册表数据,请参阅共享 fodlers 的恢复选项 2

域 DFSN Active Directory 配置数据已删除? 从备份还原 Active Directory DFS 配置数据,请参阅域 DFS 根和链接的恢复选项 1 使用 DFSUTIL 导出的 DFSN 域命名空间副本,请参阅 DFS 根和链接的恢复选项 2 重新创建命名空间,请参阅 DFS 根和链接的恢复选项 3 注册表数据已删除? 使用命名空间服务器的系统状态备份来恢复注册表 重新创建命名空间,请参阅 DFS 根和链接的恢复选项 3

已删除根共享或链接共享? 使用命名空间服务器的系统状态备份,请参阅共享文件夹的恢复选项 1 使用已保存的共享配置注册表数据,请参阅共享 fodlers 的恢复选项 2

以下图表详细介绍了数据(DFS 命名空间服务器的 Active Directory 或注册表)如何受到针对 DFS 命名空间的各种操作的影响:

命名空间类型 修改类型 生成的配置更改
域 域 DFS 根或链接 Active Directory、注册表
独立 独立根/链接 注册表
域/独立 共享文件夹 文件系统、注册表

利用 dfsutil.exe 实用工具查看 DFS 配置的内容。 Dfsutil 在 Windows Server 2003 和 Windows XP 支持工具包中提供,在通过 服务器管理器 安装分布式文件系统角色服务后,它包含在 Windows Server 2008 中。 以下数据列出了运行命令(2003 年)或dfsutil root \\contoso.com\DATA(2008 年)后名为“DATA”的 DFS 命名空间/根的配置dfsutil /root:\\contoso.com\DATA /view:

DFS 实用工具版本 5.2 (基于 5.2.3790.3959)

版权所有 (c) Microsoft Corporation。 保留所有权利。

包含 1 个链接的域根 [Blob 大小:704 字节]

SiteCosting:ENABLED

根名称=“\CONTOSO\DATA” State=“1” Timeout=“300” Attributes=“64”

Target Server=“2003SERVER1” Folder=“DATA” State=“2”[Site: Default-First-Site-Name]

链接名称=“documentation” State=“1” Timeout=“1800”

Target Server=“2003server1” Folder=“documentation” State=“2”[Site: Default-First-Site-Name]

Target Server=“2003server2” Folder=“documentation” State=“2”[Site: Default-First-Site-Name]

具有 1 个链接的根 [Blob 大小:704 字节]

此 DFS 命名空间包含名为“Documentation”的单个文件夹/链接,并包含两个文件夹/链接目标:\2003server1\documentation 和 \2003server2\documentation。

DFSUtil 查询的 DFS 配置数据存储在 Active Directory 中的以下位置:

CN=Dfs-Configuration,CN=System,DC=<domain DN>

在 Windows Server 2003 中,每个域 DFS 根/命名空间存储在一个“fTDfs”对象中,该对象包含包含配置数据的属性“pKT”(命名空间设置、命名空间服务器、文件夹目标等)。 例如,上面dfsutil.exe输出中列出的“DATA”命名空间位于此位置的 fTDfs 对象:CN=DATA、CN=Dfs-Configuration、CN=System、DC=<domain DN>。 不应直接修改此对象的各个部分。

CN=Dfs-Configuration,CN=System,DC=<domain DN> |_fTDfs

在 Windows Server 2008 中,可以在“Windows Server 2008 模式”中配置域 DFS 根/命名空间。 在此模式下,配置数据存储在 msDFS-NamespaceAnchor 类对象下。 类“msDFS-Namespacev2”的对象表示每个根,每个根包含一个表示每个托管链接的 msDFS-Linkv2 对象。

CN=Dfs-Configuration,CN=System,DC=<domain DN> |_msDFS-NamespaceAnchor |_msDFS-Namespacev2 |_msDFS-Linkv2

每个 DFS 命名空间/根服务器都利用注册表数据来标识它托管的根。 如果没有此信息,DFS 服务将不会从 Active Directory 获取配置数据,并且无法托管根目录。

对于 2003/2008 基于域的 DFS 根,此密钥存储根关联:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfs\Roots\Domain

对于“Windows Server 2008 模式”根,以下密钥存储根关联:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfs\Roots\DomainV2

此键中存在服务器托管的每个根的子项,并通过两个值“LogicalShare”和“RootShare”指定根共享。 “DATA”根的密钥如下所示:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfs\Roots\Domain\DATA

对于独立的 DFS 根,配置数据不会存储在 Active Directory 中。 配置数据存储在以下位置:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfs\Roots\Standalone

“独立”键下方存在服务器托管的特定独立根(s)的子项,每个子项中包含托管文件夹/链接的配置数据。

必须存在由“LogicalShare”和“RootShare”注册表值指定的文件共享,并且对于正确操作 DFS 根,可访问文件共享。 如果共享缺失或配置了不适当的权限,则访问根目录将被拒绝。 建议不要直接编辑这些注册表值。

备份:

若要备份 DFS 命名空间服务器,需要系统状态备份。 备份将包含服务器的 DFS 服务的注册表配置。 如果基于域的命名空间服务器也是域控制器,则系统状态还将包含 Active Directory 数据库的备份,其中基于域的 DFS 命名空间存储配置数据。 对于未在域控制器上运行的命名空间服务器,请确保定期备份至少一个域控制器,以防止域控制器遇到故障时丢失配置数据。 最后,请确保备份中包含驻留在服务器上的 DFS 相关文件夹。

有关系统状态备份和还原的其他详细信息,请参阅以下文章:

Windows Server 2003备份的工作原理

Windows Server 2008适用于 Windows Server 2008 的 Windows Server 备份分步指南

请注意,Active Directory 的系统状态备份的典型保质期仅为 60 天:Active Directory 的系统状态备份的有用保质期

保存 DFS 配置数据的替代方法是通过DFSUtil.exe实用工具。 通过“导出”选项创建的输出可用于重新创建通过意外删除丢失的 DFS 配置信息。

恢复:

确定修改的范围后,应执行适当的恢复过程。

域 DFS 根和链接

选项 1 - 从备份还原 Active Directory DFS 配置数据

对于基于域的 DFS,通过管理工具修改 DFS 根会对命名空间产生最大的潜在影响。 这是因为每当通过 DFS API 执行修改时,所有根服务器都会收到更改的通知,并且会根据需要更新其注册表。 因此,从备份还原 Active Directory 中的 DFS 配置可能还需要恢复根服务器的注册表的任务。

权威地还原 DFS 配置 blob。 这需要在 DS 还原模式下启动 DC,从仍包含 DFS 配置的有效副本的备份还原 Active Directory 数据库,将 DFS 根目录对象标记为权威,并在整个域中复制该数据库。 默认情况下,DFS 根从 PDC FSMO 角色所有者域控制器获取 DFS 配置数据。 若要防止复制延迟影响根开始托管还原命名空间的时间,请考虑使用 PDC FSMO 作为域控制器进行还原。

以下文章详细介绍了权威还原过程:

执行 Active Directory 对象的权威还原

执行 Active Directory 对象的权威还原

还原 Active Directory:

Windows Server 2003:从备份还原 Active Directory

  1. 在目录服务还原模式下启动计算机。
  2. 若要启动 Windows Server 2003 备份实用工具,请单击“开始”,指向“所有程序”,指向“附件”,指向“系统工具”,然后单击“备份”。
  3. 在“欢迎使用备份或还原向导”页上,单击“下一步”。
  4. 单击“还原文件和设置”,然后单击“下一步”。
  5. 选择“系统状态”,然后单击“下一步”。
  6. 在“完成备份或还原向导”页上,单击“高级”。
  7. 在“还原文件”中,单击“原始位置”,然后单击“下一步”。
  8. 单击“保留现有文件”(建议),然后单击“下一步”。
  9. 单击“完成”。
  10. 还原过程完成后,单击“关闭”,然后单击“否”以保留在目录服务还原模式下。

注意

备份程序提示时不要重新启动。 如果执行重新启动并执行 Active Directory 复制,域控制器将再次复制删除。

Windows Server 2008:执行 AD DS 的非授权还原

  1. 在 Windows 登录屏幕上,单击“切换用户”,然后单击“其他用户”。

  2. 键入 .\administrator 作为用户名,键入服务器的 DSRM 密码,然后按 Enter。

  3. 单击“开始”,右键单击命令提示符,然后单击“以管理员身份运行”。

  4. 在命令提示符下,键入以下命令,然后按 Enter:

    wbadmin get versions -backuptarget:\<targetDrive>:
    
    -machine:\<BackupComputerName>
    

    其中:

    <targetDrive> 是要还原的备份的位置。

    <BackupComputerName> 是要恢复备份的计算机的名称。 将多台计算机备份到同一位置或自备份后重命名计算机时,此参数非常有用。

  5. 确定要还原的版本。 必须在下一步中准确输入此版本。

  6. 在命令提示符处,键入以下命令(包装为可读性),然后按 Enter:

    wbadmin start systemstaterecovery -version:<MM/DD/YYYY-HH:MM>
    
    -backuptarget:<targetDrive>: -machine:<BackupComputerName>
    
    -quiet
    

标记 DFS 配置数据权威:

必须知道要还原的命名空间(s)的可分辨名称,以便可以权威地标记 DFS 根对象。 它应采用“CN=<rootname,CN>=DFS-Configuration,CN=System,DC=”格式,并且如果任何标签中存在空格,则可能需要用引号括起来。

  1. 在目录服务还原模式下,单击“开始”,单击“运行”,键入 ntdsutil,然后按 Enter。

  2. 在 ntdsutil:提示符下键入权威还原,然后按 Enter。

  3. 若要还原对象的子树,请键入以下命令,然后按 Enter:

    restore subtree DistinguishedName

    例如,若要还原域中 contoso.com的所有 DFS 命名空间对象,请键入:

    restore subtree “CN=Dfs-Configuration,CN=System,DC=contoso,dc=com”

    警告

    所有 DFS 命名空间都将受到此操作的影响,将其返回到备份中包含的状态。

    若要还原域中 contoso.com名为“DATA”的根目录的单个 DFS 命名空间对象,请键入:

    restore 子树“CN=DATA,CN=Dfs-Configuration,CN=System,DC=contoso,dc=com”

    还原对象的子树可确保操作为 v1 和 v2 命名空间成功完成。

  4. 单击消息框中的“是”以确认命令。

  5. 在权威还原:和 ntdsutil: 提示,键入退出,然后按 Enter。

  6. 在正常操作模式下重启域控制器。

  7. 允许 Active Directory 复制有足够的时间在整个域中复制对象。

验证所有 DFS 根上的注册表数据

每个域 DFS 命名空间/根服务器都必须在位置 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfs\Roots\Domain 下具有适当的注册表数据,才能正确托管还原的 DFS 根目录。 如果 DFS 命名空间是通过 DFS 管理工具删除的,则可能需要在每个根上手动创建密钥和“LogicalShare”和“RootShare”值。 设置注册表数据后,请在每个根上重启 DFS 服务以重新初始化 DFS 并获取还原的配置数据。

例如,若要为名为“Data”的 DFS 命名空间创建“LogicalShare”和“RootShare”,其根的共享文件夹名为“DataShare”,请使用以下步骤:

  1. 单击“开始”,单击“运行”,键入 regedit “打开”框,然后单击“确定”。
  2. 找到并单击以下注册表子项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfs\Roots\Domain
  3. 右键单击“域”,指向“新建”,然后单击“键”。
  4. 键入“Data”作为键名称,然后按 Enter。
  5. 右键单击“Data”键,指向“新建”,然后单击“字符串值”。
  6. 键入“LogicalShare”作为值名称。
  7. 右键单击“LogicalShare”值,然后单击“修改”。
  8. 在“值”数据框中,键入“DataShare”,然后单击“确定”。
  9. 右键单击“Data”键,指向“新建”,然后单击“字符串值”。
  10. 键入“RootShare”作为值名称。
  11. 右键单击“RootShare”值,然后单击“修改”。
  12. 在“值”数据框中,键入“DataShare”,然后单击“确定”。

选项 2 - 如果导出可用,则导入 DFS 配置

DFS 配置的导出由通过dfsutil.exe和以下命令生成的文本文件组成:

Windows Server 2003:

 dfsutil /root:\\contoso.com\DATA /export:DATA-dfs-Root.txt

Windows Server 2008:

 dfsutil root export \\contoso.com\DATA DATA-dfs-root.txt

若要通过导出文件恢复命名空间,请执行以下步骤:

  1. 如果根尚不存在,请使用 DFS 管理创建它。 添加所有适当的根目标。 如果根本身尚不存在,并且不会添加文件中定义的根目标,Dfsutil.exe将无法导入配置。 但是,可以查看导出文件的内容,以确定应手动添加哪些根目标。

  2. 导入配置文件以通过命令创建所有托管链接:Windows Server 2003:

    dfsutil /root:\\contoso.com\DATA /import: DATA-dfs-Root.txt
    

    Windows Server 2008:

    dfsutil root import set DATA-dfs-Root.txt \\contoso.com\DATA
    

    (域所在的 contoso.com位置,“DATA”是根名称,是 DATA-dfs-Root.txt 导出文件)

    在创建根目录之前尝试导入将导致错误“找不到元素”。

    尝试添加已具有与根目录关联的注册表配置数据的根目标会导致错误“设备未准备好使用”或“当该文件已存在时无法创建文件”。若要从受影响的服务器中删除注册表数据,请使用 DFSUtil 中的“clean”选项:

    Windows Server 2003:

    dfsutil /clean /server:<servername> /share:<sharename>
    

    Windows Server 2008:

    dfsutil diag clean \\<servername>\<sharename>
    
  3. 验证导入是否成功。 可能需要重新打开任何 DFS 管理工具才能观察导入的链接。

选项 3 - 重新创建命名空间

根据需要重新创建命名空间可能更容易。 此活动将更新 Active Directory 中的配置和根的注册表。 如果将服务器添加为根无法指示根目录已由服务器托管,请检查服务器的注册表配置,以确保它还没有原始根的配置数据。 若要删除此类数据,请运行以下命令:

dfsutil /clean /server:servername /share:sharename

(其中“servername”是需要作为新根目标添加的服务器,“sharename”是托管根的共享的名称)

在 Windows Server 2008 上:

dfsutil diag clean \\servername\sharename

Active Directory fTDfs 对象

如果直接删除 Active Directory 中的 ftDfs 对象,请还原“域 DFS 根和链接”部分选项 1 中详述的对象。 无需修复缺少的注册表数据,因为无需使用 DFS API 的 fTDfs 对象直接删除,也不会向删除的 DFS 根发送通知。

如果存在 DFS 配置的导出,该过程将类似于“域 DFS 根和链接”部分的选项 2 中的步骤 2。

最后,还可以重新创建 DFS 命名空间,确保每个 DFS 根已正确清理以前的配置。 有关更多详细信息,请参阅“域 DFS 根和链接”部分的选项 3。

独立 DFS 根和链接

选项 1 - 从备份还原独立 DFS 配置数据

如果独立的 DFS 命名空间/根服务器遇到配置数据丢失的情况,建议从备份中还原服务器的系统状态。 此操作将自动将配置数据还原到正确的状态。 不建议尝试修改独立 DFS 根的注册表。

选项 2 - 如果导出可用,则导入 DFS 配置

如果根目录存在DFSUTIL.EXE导出,则可以通过命令导入它:

Windows Server 2003:

dfsutil /root:\\server-name\namespace-name /import: DATA-dfs-Root.txt

Windows Server 2008:

dfsutil root import set DATA-dfs-Root.txt \\contoso.com\DATA

选项 3 - 重新创建命名空间

根据需要重新创建独立命名空间可能更容易。

共享文件夹

如果基于域或独立的 DFS 命名空间服务器遇到 DFS 共享丢失的情况,并且 DFS 配置仍然存在,则必须恢复共享以还原 DFS 功能。

选项 1 - 从备份还原独立 DFS 配置数据

从丢失之前进行的备份还原系统状态。 系统状态包括用于托管共享的服务器注册表数据。 确保共享的文件夹(s)也存在于服务器上。

选项 2 - 从注册表恢复共享配置数据

如果 DFS 命名空间服务器的系统状态备份不可用,但共享注册表信息存在,则此信息可用于还原服务器的共享配置。 共享和分配的共享权限存储在以下注册表项中:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares

若要使用注册表编辑器保存此注册表项,请单击“文件”菜单上的“导出”。

此注册表项可以导入到 DFS 命名空间服务器,或者用作共享文件夹的共享名称和位置的引用,以便手动创建。

若要使用注册表编辑器还原或导入注册表项,请单击“文件”菜单上的“导入”。

恢复共享后,重启命名空间服务器的 DFS 服务以初始化命名空间。

免责声明

Microsoft和/或其供应商对此网站上发布的文档和相关图形中包含的信息的适用性、可靠性和准确性不作任何陈述或保证(“材料”)。 这些材料可能包括技术不准确或版式错误,随时可以不通知地进行修订。

在适用法律允许的最大范围内,Microsoft 和/或其供应商否认并排除所有表示、默示或法定条件,包括包括但不限于所有权、不侵权、满意条件或质量、适销性和特定用途的适用性等所有表示形式、默示或法定条件。

资料来源与适用范围

资料来源
微软官方中文故障文档
适用范围
适用于 Windows Server 2008 的 Windows Server 备份分步指南(https://technet.microsoft.com/library/cc770266.aspx)
内容语言
中文;命令、路径和错误标识保留技术原文
本地收录日期
2026-10-26
授权说明
CC BY 4.0

正文与所需资源由本站本地存储。查看来源及更新记录 ↗

请按适用版本和实际日志确认原因;本站没有对每一种系统或设备逐项执行文中的操作。