如何在域中重新生成 SYSVOL 树及其内容

本文介绍如何使用 Burflags 注册表项重新生成每个域控制器的系统卷副本, (通用 Active Directory 目录服务域中所有域控制器上的 SYSVOL) 树。

适用于: Windows Server 2012 R2
原始 KB 编号: 315457

简介

术语 SYSVOL 是指驻留在域中每个域控制器的本地硬盘上的一组文件和文件夹,这些文件复制服务 (FRS) 进行复制。 网络客户端使用以下共享文件夹访问 SYSVOL 树的内容:

  • NETLOGON
  • SYSVOL

建议使用本文中所述的过程,作为还原域的 SYSVOL 树及其内容的最后手段。 仅当无法使 FRS 在域中的各个域控制器上正常运行时,才使用此过程。 仅当批量重启的执行速度比排查和解决复制不一致问题更快,并且解决时间是关键因素时,才使用此过程。

重要

在此过程中,域控制器不会为身份验证请求提供服务。 仅当再次共享 SYSVOL 和 NETLOGON 文件夹时,域控制器才会对请求进行身份验证。 此过程不应在高峰时段执行。

注意

有关如何暂时稳定域 SYSVOL 树的信息,请参阅本文的如何暂时稳定域 SYSVOL 树部分,直到可以完成如何跨企业环境重新生成域 SYSVOL 副本 (replica) 设置中的所有步骤。

强烈建议使用监视工具监视 FRS 性能和运行状况。 通过使用监视工具,可以避免副本 (replica) 设置权威和非权威还原。 此外,通过使用监视工具,可以深入了解 FRS 失败的根本原因。

监视工具“超声波”可供下载。

超声波是一种功能强大的工具,通过提供这些集的运行状况评级和历史信息来测量 FRS 副本 (replica) 集的功能。 超音波工具是一个复杂的监视系统,它使用 Windows Management Instrumentation (WMI) 提供程序、数据收集服务、Microsoft SQL Server 桌面引擎 (MSDE) 数据库以及功能强大的用户界面。

准则

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了加强保护,应先备份注册表,再进行修改。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的详细信息,请参阅如何备份和还原 Windows 中的注册表

使用以下准则配置 Burflags 注册表项:

  • 如果在将 Burflags 注册表项设置为 D4 的情况下启动 FRS,则 FRS 最初将 SYSVOL 树本地副本上的文件和文件夹视为副本 (replica) 集的权威。 仅应使用 D4 设置初始化 FRS 副本 (replica) 集的一个成员。

  • 如果在将 Burflags 注册表项设置为 D2 的情况下启动 FRS,则 FRS 将从托管副本 (replica) 集中文件和文件夹的权威副本的直接复制伙伴或可传递复制伙伴执行文件和文件夹的完全同步。

  • 在将 Burflags 注册表项设置为 D4 的情况下启动 FRS 时,即使没有实际还原系统状态,配置也称为 FRS 副本 (replica) 集内容的“权威还原”。 可将 D4 设置视为重新生成新域中第一个域控制器的 FRS 部分。

  • 在将 Burflags 注册表项设置为 D2 的情况下启动 FRS 时,配置称为非权威还原,即使未还原系统状态也是如此。 将 D2 设置视为重新生成副本 (replica) 域控制器的 FRS 部分,就像域控制器是新的。

  • 在每台权威或非权威还原的计算机完成初始化后,FRS 将变为多主数据库感知。

  • 如果在单个域控制器上将 Burflags 设置为 D4,并在该域中的所有其他域控制器上将 Burflags 设置为 D2,则可以在该域中重新生成 SYSVOL 树。 此大容量重新生成过程称为中心、分支或批量 FRS 重启。

以下部分列出了 SYSVOL 副本 (replica) 集的批量重启的有效用法:

  • 当前不一致的 FRS 副本 (replica) 集的成员可以更快地执行 SYSVOL 树中的所有文件和文件夹的完全同步,而成员可以更快地处理驻留在上游复制伙伴的传出日志中的积压更改。

  • FRS 副本 (replica) 集中的大多数成员都有错误,例如journal_wrap错误。 有关journal_wrap错误的详细信息,请参阅如何排查 Sysvol 和 DFS 副本 (replica) 集上的journal_wrap错误

  • 副本 (replica) 集中大多数成员的 ID 表包含应托管在 副本 (replica) 集中的文件的不完整说明。

  • FRS 数据库文件由于意外删除、文件系统错误或数据库文件错误(包括 JET 数据库验证工具识别的损坏)而遭到入侵。

  • FRS 副本 (replica) 集中的大多数成员无法复制文件和文件夹,而批量 D4 或 D2 配置是将所有成员重新初始化为新成员的一种方法。

注意

  • 如果 FRS 在单个成员上处于错误状态,则只能在该单个成员上将 BurFlags 设置为 D2。
  • 如果由于环境问题而重新生成 SYSVOL 树,或者如果有问题的拓扑影响了 FRS 副本 (replica) 集中文件和文件夹的一致性,则可能只会看到暂时的好处。 例如,如果存在过多的下游合作伙伴或对复制的内容进行了过多的更改,则会出现这种情况。 在这种情况下,建议解决任何根本问题的根本原因。 否则,第一次导致你重新生成 SYSVOL 树的问题可能会再次发生。
  • 若要重新生成 SYSVOL 树,我们建议域中所有基于 Windows 2000 的域控制器都安装了 Windows 2000 Service Pack 3 (SP3) 或更高版本的 NTFRS.exe 文件。 如果你的 NTFRS.exe 文件版本早于 Windows 2000 Service Pack 3,请安装最新的 Windows 2000 Service Pack。

如何重新生成跨企业环境设置的域 SYSVOL 副本 (replica)

本部分介绍如何跨企业环境重新生成域 SYSVOL 副本 (replica) 集。

步骤摘要

以下列表汇总了在中心或分支重启中执行的步骤:

  1. 停止域中的所有域控制器上的 FRS。

  2. 将应驻留在 SYSVOL 树中的所有文件和文件夹移动到引用域控制器上的临时文件夹。 临时文件夹应位于 SYSVOL 树所在的同一分区上。

    在分区内移动文件时,不会更改这些文件。 因此,它们保留其原始安全设置。 在分区内或分区之间移动或复制的文件或文件夹继承目标父目录的安全性。 因此,GPO 管理的任何自定义委托都可能因此丢失。 此外,组策略 对象的 SYSVOL 部分 (ACL) 访问控制列表设置为从父文件夹继承权限。 因此,使用 GPMC 打开 GPO 时,可能会收到以下错误消息:

    SYSVOL 文件夹中此 GPO 的权限与 Active Directory 中的权限不一致

    如果有权修改 GPO 的安全性,请在收到此错误消息时选择 “确定 ”。 此操作修改 组策略 对象的 Sysvol 部分的 ACL,使其与 Active Directory 组件上的 ACL 保持一致。 在这种情况下,组策略删除 Sysvol 文件夹中的继承属性。

  3. 验证域中每个域控制器上的交接点和所需文件夹。

  4. 在设置了 D4 注册表项的引用域控制器上重启 FRS。

  5. 在设置了 D2 注册表项的域中所有其他域控制器上重启 FRS。

  6. 在引用域控制器上,将所有文件和文件夹移动到副本 (replica) 集的根文件夹。 默认情况下,此文件夹是 C:\Windows\Sysvol\Domain 文件夹。

  7. 监视域中所有域控制器的文件和文件夹的一致性。

注意

如果已重启任何副本 (replica) 集的成员且 Burflags 注册表项设置为 D4,请在将 Burflags 注册表项设置为 D2 的副本 (replica) 的所有其他成员上重启 FRS。 此配置可阻止已变形的文件夹。

当 Burflags 注册表项设置为 D2 或 D4 并重新启动 FRS 时,发起方 GUID (OrigGUID) 更改。 如果要跟踪特定活动的源,可以在设置 Burflags 注册表项之前运行文件复制服务诊断工具 (FRSDiag) 获取 GUID2Name。

步骤的详细列表

以下列表显示了在中心或分支重启中执行的详细步骤:

  1. 在域中的所有域控制器上,停止 FRS,然后将 FRS 的服务启动类型值设置为 “禁用”。

  2. 在单个域控制器上,将 SYSVOL 副本 (replica) 设置为权威。 此引用域控制器将包含副本 (replica) 集所有其他成员的 SYSVOL 树的权威副本。 例如,域中的其他域控制器将直接从此引用域控制器进行复制或可传递复制。

    根据连接性和物理服务器资源选择引用域控制器。 在所有后续步骤中,此域控制器将称为“引用域控制器”。

    若要将 SYSVOL 副本 (replica) 设置为权威,请执行以下步骤:

    1. 转到 “开始”,选择“ 运行”,键入 “regedit”,然后选择“ 确定”。

    2. 找到并选择以下注册表子项下的 BurFlags 条目:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Cumulative Replica Sets\GUID

      GUID 是域系统卷副本 (replica) 集的 GUID,显示在以下注册表子项中:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Replica Sets\GUID

    3. 右键单击“ BurFlags”,然后选择“ 修改”。

    4. “值数据”字段中 (十六进制) 键入 D4,然后选择“确定”。

  3. 在域中的所有域控制器上,验证文件结构和交接点是否正确。 可以遵循这些步骤:

    1. 验证 SYSVOL 树中是否存在以下文件夹:

      • \SYSVOL
      • \SYSVOL\domain
      • \SYSVOL\staging\domain
      • \SYSVOL\staging areas
      • \SYSVOL\domain\Policies
      • \SYSVOL\domain\scripts
      • \SYSVOL\SYSVOL
    2. 验证是否存在以下重新分析点:

      • \SYSVOL\SYSVOL\DNS 域名

        此重新分析点必须链接到 \SYSVOL\domain 文件夹。

      • \SYSVOL\staging areas\DNS 域名

        此重新分析点必须链接到 \SYSVOL\staging\domain 文件夹。

      SYSVOL 树的默认路径位于安装操作系统的分区上的 \WINDOWS 或 \WINNT 文件夹下。 但是,SYSVOL 树可以安装在使用 NTFS 文件系统格式化的任何分区上。

      验证域中的每个域控制器是否具有所有必需的文件夹,以及是否存在重新分析点。 根据需要重新创建任何缺少的文件夹。 请勿使用 Windows 资源管理器移动或复制 SYSVOL 树的内容,否则重新分析点可能会损坏。

SYSVOL 树包含指向 SYSVOL 树中其他文件夹的重新分析点。 这些重新分析点位于 NTFS 文件系统中。 将重新分析点视为在访问源文件夹时映射或指向目标文件夹的源文件夹。 重新分析的文件夹的内容显示为彼此镜像图像。

SYSVOL 树的以下两个重新分析点安装在 C:\WINNT\SYSVOL 文件夹中:

  • C:\WINNT\SYSVOL\SYSVOL\DNS 域名

    此重新分析点链接到 C:\WINNT\SYSVOL\domain 文件夹。

  • C:\WINNT\SYSVOL\staging areas\DNS 域名

    此重新分析点链接到 C:\WINNT\SYSVOL\staging\domain 文件夹。

在域中的每个域控制器上,执行以下步骤:

  1. 转到 “开始”,选择“ 运行”,键入 cmd,然后选择“ 确定”。

  2. 键入 net start ntfrs 以启动文件复制服务。

  3. 键入“ntfrsutl ds |findstr /i "root stage"”,然后按 ENTER。 NTFRSUTIL 命令返回 SYSVOL 副本 (replica) 集(称为“副本 (replica) 集根目录”)和暂存文件夹的当前根目录。 例如,此命令返回:

    Root: C:\WINNT\SYSVOL\domain  
    Stage: C:\WINNT\SYSVOL\staging\domain
    
  4. 键入“Linkd %systemroot%\SYSVOL\SYSVOL\DNS Domain name”,然后按 ENTER。 LINKD 命令返回以下信息:

    Source DNS Domain Name is linked to %systemroot%\SYSVOL\domain
    
  5. 键入“linkd "%systemroot%\SYSVOL\staging areas\DNS Domain Name"”,然后按 ENTER。 此命令返回以下信息:

    Source DNS Domain Name is linked to %systemroot%\SYSVOL\Staging\domain
    

    注意

    LINKD 命令报告的路径因 SYSVOL\SYSVOL\DNS 域名 文件夹的位置而异。 如果 SYSVOL 文件夹位于 %systemroot%\SYSVOL 文件夹中的默认位置,请使用列出的命令。 否则,请键入 SYSVOL 文件夹的实际路径。

    例如,如果 NTFRSUTL 和 LINKD 命令在域中的域控制器 contoso.com 上运行,并且 SYSVOL 文件夹位于 C:\Windows\SYSVOL 文件夹中,则 SYSVOL 和过渡文件夹的命令语法和结果将类似于以下输出:

    C:\>ntfrsutl ds |findstr /i "root stage"
    

    输出:

    Root: C:\windows\sysvol\domain  
    Stage: C:\windows\\sysvol\staging\domain
    
    C:\>Linkd %systemroot%\SYSVOL\SYSVOL\Contoso.com
    

    输出:

    Source domain.com is linked to C:\WINDOWS\SYSVOL\domain
    
    C:\>linkd "%systemroot%\SYSVOL\<staging areas>\Contoso.com
    

    输出:

    Source domain.com is linked to C:\WINDOWS\SYSVOL\staging\domain
    

    若要在 LINKD 命令报告缺少或无效的交接点时重新创建交汇点,请执行以下步骤:

    1. 键入 linkd C:\WINNT\SYSVOL\sysvol\DNS_Domain_Name Source,其中 Source 是通过使用 NTFRSUTL 命令确定的根路径。
    2. 键入 C:\linkd "C:\WINNT\SYSVOL\staging areas\DNS_Domain_Name" Source,其中 Source 是通过使用 NTFRSUTL 命令确定的阶段路径。
  6. 在域中的所有域控制器上,验证是否有足够的暂存空间可用。 暂存区域大小与数据集大小的比率取决于一系列因素。

    若要确定副本 (replica) 设置根目录的大小,请右键单击 windows 资源管理器中使用 Winnt\SYSVOL\domain 文件夹的副本 (replica) 设置根目录,然后选择“属性”。

    若要调整暂存文件夹大小,请执行以下步骤:

    1. 转到 “开始”,选择“ 运行”,键入 “regedit”,然后选择“ 确定”。
    2. 找到并选择以下注册表子项:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters
    3. 右键单击“ 暂存空间限制”(以 KB 为单位),然后选择“ 修改”。
    4. 选择 “十进制”,键入暂存文件夹的大小(以 KB 为单位),然后选择“ 确定”。
    5. 退出注册表编辑器。
  7. 在引用域控制器上,生成一组良好的策略和脚本,然后将其放在 SYSVOL 外部的临时文件夹中,副本 (replica) FRS 引用域控制器上的设置文件夹。

    若要完成此步骤,请检查 Active Directory 以确定仍使用且包含孤立数据的组策略。 策略信息位于组策略容器中。 若要查看此容器,请执行以下步骤:

    1. 启动Active Directory 用户和计算机。

    2. 在“ 视图 ”菜单上,选择“ 高级功能 ”(如果尚未选择)。

    3. 展开域容器,展开 “系统 ”容器,然后展开 “策略” 容器。

      在Active Directory 用户和计算机的右窗格中,列出了 Active Directory 中 (GPO) 的所有组策略对象。 Active Directory 中的有效 GPO 与 SYSVOL 树中的组策略文件夹之间应存在一对一映射。

      • 如果 SYSVOL 文件夹包含的文件夹名称具有 Active Directory 中未列出的 GUID,则文件系统包含孤立的 GPO,你可以安全地从文件系统中删除该文件夹。
      • 如果 Active Directory 包含的 组策略 GUID 未映射到域中任何域控制器上的 SYSVOL\domain\policies 文件夹中的 GUID,则可以从 Active Directory 安全地删除该策略设置。

      注意

      如果任何参与域的域控制器在其本地 SYSVOL 树中具有较新版本的组策略,请确保将其复制到引用域控制器上的临时位置。

    4. 在引用域控制器上,删除 FRS 中副本 (replica) 设置根目录或副本 (replica) 设置阶段文件夹中的任何文件或文件夹。

      对于默认的 SYSVOL 副本 (replica) 集,请删除以下两个文件夹下的文件和文件夹:

      • C:\WINNT\SYSVOL\domain
      • C:\WINNT\SYSVOL\staging\domain

      注意

      请勿自行删除文件夹。

    5. 在引用域控制器上,将策略和脚本文件夹以及文件夹内容从步骤 c 中使用的临时位置移动到 FRS 副本 (replica) 设置根文件夹。 对于 SYSVOL 文件夹,副本 (replica) 设置根目录的默认位置是文件夹:C:\WINNT\SYSVOL\domain。

    6. 在除引用域控制器之外的所有域控制器上,将 FRS 配置为非权威域控制器。 可以遵循这些步骤:

      1. 转到 “开始”,选择“ 运行”,键入 “regedit”,然后选择“ 确定”。

      2. 找到并选择以下注册表子项下的 BurFlags 条目:
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Cumulative Replica Sets\GUID

        GUID 是域系统卷副本 (replica) 集的 GUID,显示在以下注册表子项中:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Replica Sets\GUID

      3. “编辑” 菜单上,指向“ 新建”,然后选择“ DWORD 值”。

      4. 键入 D2 表示 DWORD 的名称,然后按 Enter。

      注意

      对于未参与分布式文件系统 (DFS) 复制的域控制器,请在注册表子项中将 DWORD 设置为 D2 以便进行批量修改: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Backup/Restore\Process atStartup\BurFlags

    7. 退出注册表编辑器。

    指示 FRS 重新初始化其数据库,并使用来自上游合作伙伴的数据覆盖 SYSVOL 树的内容。

    在大型站点中,建议使用交错方法重新生成 SYSVOL 树。 此方法有助于避免单个域控制器过载或导致 FRS 从尚未完成系统卷自身重新采购的域控制器获取其内容。 此过程涉及将 Burflags 注册表项设置为所有中心站点域控制器上的 D2,然后再转到分支机构或附属站点。

    使用副本集父注册表项为 D2 设置指定源域控制器:

    • 路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\SYSVOL Seeding\DOMAIN SYSTEM VOLUME (SYSVOL SHARE)
    • 值名称:副本集父级
    • 值类型:REG_SZ
    • 值数据:源域控制器

    注意

    如果此注册表项不存在,则必须创建它。

    建议不要将单个域控制器同时成为超过 10 到 15 个域控制器的源。 如果必须从单个源获取超过 15 个域控制器,请仅在任何特定源域控制器的 15 个下游合作伙伴上启动 FRS,然后等待它们完成 SYSVOL 树的溯源,然后在下一组 15 台计算机上启动 FRS 服务。

    注意

    • 我们不建议超过 15 个域控制器同时从单个域控制器中获取其内容。
    • 传入复制取决于在相关站点链接上定义的计划,或由允许复制的目标域控制器使用的连接对象。 如果禁用复制计划,传入复制将延迟。
    • 如果使用“副本集父级”注册表项,则 FRS 将在服务重启时源数据,这与在服务重新启动的当天还是小时启用还是禁用复制无关。 初始源完成后,所有其他复制都将基于连接计划。 如果未使用注册表项,FRS 将根据在相关站点链接或连接对象上定义的计划启动复制。
  8. 在域(引用域控制器除外)的所有域控制器上,删除 FRS 副本 (replica) 设置根目录和副本 (replica) 集阶段目录下的任何文件或文件夹。 例如,对于默认的 SYSVOL 副本 (replica) 集,请删除以下两个位置中的文件和文件夹:

    • C:\WINNT\SYSVOL\domain
    • C:\WINNT\SYSVOL\staging\domain

    注意

    请勿自行删除文件夹。

    此步骤可加快给定源的 SYSVOL 树复制速度。 此步骤无需 FRS 服务器在复制新数据之前移动现有内容。 此步骤不是必需的,但建议这样做。

  9. 在中心站点中的所有域控制器(引用域控制器除外)上,重启 FRS,然后验证 SYSVOL 和 NETLOGON 是否共享。

    注意

    FRS 的服务启动类型应设置为 “自动”。

  10. 在分支站点中的所有非引用域控制器上,启动 FRS 服务并验证 SYSVOL 和 NETLOGON 是否共享。

如何暂时稳定域 SYSVOL 树

  1. 停止域中的所有域控制器上的 FRS,并将服务设置为 “禁用”。

  2. 将完整的策略集手动复制到每个域控制器上的以下文件夹:

    \SYSVOL\SYSVOL\dns 域名\policies

    通常,身份验证需要以下两个策略:

    • 默认域控制器策略{6AC1786C-016F-11D2-945F-00C04fB984F9}
    • 默认域策略 {31B2F340-016D-11D2-945F-00C04FB984F9}

    注意

    根据环境的组策略要求,可能需要复制其他策略。

  3. 将所有必要的脚本手动复制到以下文件夹:

    \SYSVOL\SYSVOL\DNS 域名\scripts