本文提供了排查 Windows Server 2012 R2 中缺失和Netlogon
共享问题SYSVOL
的步骤。
原始 KB 数: 2958414
现象
SYSVOL
和 Netlogon
共享不在域控制器上共享。 还可能出现以下症状或情况:
- 文件夹
sysvol
为空。 - 最近升级了受影响的域控制器。
- 环境包含运行早于 Windows Server 2012 R2 的 Windows 版本的域控制器。
- DFS 复制用于复制
SYSVOL
共享复制的文件夹。 - 上游域控制器的 DFS 复制服务处于错误状态。
原因
由于上游(源)域控制器处于错误状态,没有 SYSVOL
共享的域控制器无法复制入站。 上游服务器经常(包括但不限于)由于脏关闭(事件 ID 2213)而停止复制。
解决方法
本部分包含使用 DFS 复制服务对域控制器进行故障排除和解决缺失 SYSVOL
和 Netlogon
共享的建议方法。
如果 SYSVOL
不是根据 如何强制 DFSR 复制的 SYSVOL(例如 FRS 的“D4/D2”)强制进行权威同步或非权威同步,此过程将重新初始化 DFS 复制。 在大多数情况下,这是不必要的,如果操作不正确,可能会导致数据丢失。 此外,它可防止确定问题的原因,并避免问题的未来出现。
以下是调查缺失共享的一般步骤。 确定问题是由一次性发生的,还是上游域控制器无法使用 DFS 复制来支持复制。
不应要求从卷中删除 DFS 复制数据库,不建议这样做。 它会导致 DFS 复制将服务器上的所有本地数据视为非授权数据。 通过让 DFS 复制正常恢复数据库(如 2213 事件中的指示),最后一个编写器仍将赢得任何冲突的数据版本 SYSVOL
。
步骤 1 - 评估所有域控制器上的 DFS 复制状态
评估未共享 SYSVOL
的域控制器数、最近记录了错误事件以及处于错误状态的域控制器数。 请执行这些步骤。
SYSVOL
检查共享可以使用 net view 命令手动检查是
SYSVOL
共享的还是可以检查每个域控制器:For /f %i IN ('dsquery server -o rdn') do @echo %i && @(net view \\%i | find "SYSVOL") & echo
检查 DFS 复制状态
若要检查域控制器上的 DFS 复制状态,可以查询 WMI。 可以使用 WMI 查询域中
SYSVOL
共享复制文件夹的所有域控制器,如下所示:For /f %i IN ('dsquery server -o rdn') do @echo %i && @wmic /node:"%i" /namespace:\\root\microsoftdfs path dfsrreplicatedfolderinfo WHERE replicatedfoldername='SYSVOL share' get replicationgroupname,replicatedfoldername,state
这些
state
值可以是以下任一值:
0 = 未初始化
1 = 已初始化
2 = 初始同步
3 = 自动恢复
4 = 普通
5 = 错误注意
根据域控制器的条件,它可能无法报告状态值,并指示没有可用的实例。
检查事件日志中是否有最近的错误或警告
如果任何域控制器未将“共享复制”文件夹报告
SYSVOL
为处于状态 4(正常),请检查这些域控制器的事件日志以评估其条件。 查看每个域控制器,了解 DFS 复制事件日志中最近的错误或警告,例如指示 DFS 复制当前已暂停的警告事件 ID 2213。检查内容新鲜度配置
确定 DFS 复制是否触发了受影响域控制器上的内容新鲜度保护。 默认情况下,Windows Server 2012(及更高版本)域控制器上启用了内容新鲜度。 但是,也可能在 Windows Server 2008 R2 服务器上手动启用它。
若要评估是否启用了内容新鲜度,该
MaxOfflineTimeInDays
设置将设置为 60。 如果禁用内容新鲜度,MaxOfflineTimeInDays
将设置为 0。 若要检查MaxOfflineTimeInDays
,请运行以下命令:wmic.exe /node:%computername% /namespace:\\root\microsoftdfs path DfsrMachineConfig get MaxOfflineTimeInDays
若要查询域中的所有域控制器,请运行以下命令:
For /f %i IN ('dsquery server -o rdn') do @echo %i && @wmic /node:"%i" /namespace:\\root\microsoftdfs path DfsrMachineConfig get MaxOfflineTimeInDays
对于为内容新鲜度启用的每个域控制器,评估 DFS 复制是否记录了一个事件 ID 4012,该事件 ID 指示文件夹的复制已停止,因为复制失败的时间超过
MaxOfflineTimeInDays
参数。
步骤 2 - 准备处于错误状态的域控制器
安装适当的更新
对于运行 Windows Server 2008 R2 的任何域控制器,请先安装 DFS 复制更新,以防止数据丢失并修复已知问题。 最佳做法是使用最新版本的 DFS 复制。 有关最新版本的 DFS 复制,请参阅 分布式文件系统 (DFS) 技术的 当前可用修补程序列表。
备份
SYSVOL
数据在每个域控制器上备份
SYSVOL
数据(如果存在)。 备份可以是内容到安全位置的文件副本SYSVOL
,也可以是使用备份软件的备份。根据情况,可将策略文件移动到 PreExisting 或 Conflict and Deleted。 如果在服务器上多次执行初始同步,将清除预先存在的 和 冲突和已删除 的内容。 备份这些位置中的数据以避免数据丢失。
步骤 3 - 在处于错误状态的域控制器上恢复 DFS 复制
根据域中的域控制器数,选择适当的方法来恢复 DFS 复制服务。
对于具有两个域控制器的环境
确定是否在任一域控制器上检测到脏关(事件 ID 2213)。 你可能会发现第二个域控制器正在等待完成初始化 SYSVOL
。 原因是升级后,它将记录一个 4614 事件,该事件指示 DFS 复制正在等待执行初始复制。 此外,它不会记录 4604 事件,指示 DFS 复制已 SYSVOL
初始化。
如果在两个域控制器上启用了内容新鲜度
如果第二个域控制器等待执行初始同步(在没有 4604 反事件的情况下记录的事件 4614),请按照 “如何强制 DFSR 复制的 SYSVOL(如 FRS 的”D4/D2“)强制进行权威和非权威同步, 将第一个域控制器设置为权威。 无需将第二个域控制器配置为非授权,因为它已经在等待进行初始同步。
或者,如果第二个域控制器正常运行且
SYSVOL
已共享,请执行以下步骤:备份第一个域控制器的所有内容
SYSVOL
。评估第二个域控制器
SYSVOL
的数据是否为最新。 否则,可能需要将更新SYSVOL
的文件从第一个域控制器复制到第二个域控制器。 否则,第一个域控制器上不存在的任何现有数据都将进入 PreExisting 和 Conflict 和 Deleted 文件夹。通过针对 DFSR 复制的 SYSVOL(如 FRS 的“D4/D2”)禁用成员身份,将第一个域控制器设置为非授权性。 确认记录事件 ID 4114 以指示已禁用成员身份。
启用第一个域控制器的成员身份,并等待报告初始同步完成的 4614 和 4604 事件。 如有必要,将任何更新的文件从 PreExisting 还原到原始位置。
如果未在两个域控制器上启用或触发内容新鲜度
如果第一个域控制器处于事件 ID 2213 状态,并且第二个域控制器在升级后从未完成初始化,并且尚未触发内容新鲜度。 请执行以下步骤:
ResumeReplication
按照 2213 事件中的指示,在第一个域控制器上运行 WMI 方法。复制恢复后,它将记录一个事件 ID 4602,该 ID 指示 DFS 复制初始化
SYSVOL
了复制的文件夹,并将其指定为主要成员。在
dfsrdiag pollad
第二个域控制器上运行命令以触发它以完成初始同步(事件 ID 4614)。 初始同步完成后,将记录事件 ID 4604,信号SYSVOL
已完成初始化。
或者,如果第一个域控制器处于 2213 状态,并且第二个域控制器正常(
SYSVOL
已共享),请在ResumeReplication
第一个域控制器上运行 WMI 方法。 它将在完成脏关机恢复时记录事件 ID 2214。
对于具有三个或多个域控制器的环境
确定是否检测到脏关闭,以及是否在任何域控制器上暂停 DFS 复制(事件 ID 2213)。 你可能会发现域控制器正在等待完成升级后初始化 SYSVOL
。 它将记录一个 4614 事件,该事件指示 DFS 复制正在等待执行初始复制。 它还不会记录 4604 事件,指示 DFS 复制已 SYSVOL
初始化。
如果启用了内容新鲜度,并且域中有三个或多个域控制器。
内容新鲜度保护将记录事件 ID 4012,该事件 ID 指示复制已停止,因为文件夹中的复制失败的时间超过
MaxOfflineTimeInDays
参数。 若要在受影响的域控制器上重新初始化 DFS 复制,请按照如何强制 DFSR 复制的 SYSVOL(如 FRS 的“D4/D2”)强制进行权威和非权威同步的说明进行操作。如果所有域控制器都记录了 4012 事件,并且其状态为 5,请按照 “如何强制 DFSR 复制的 SYSVOL(如 FRS 的”D4/D2“)的权威和非权威同步的说明完全初始化
SYSVOL
。 将 DFS 复制服务器设置为权威的唯一情况。 确保配置为权威的域控制器具有所有SYSVOL
内容的最新版本副本。或者,如果一个或多个域控制器因内容新鲜度而阻止复制,则每个域控制器必须不可权威地恢复。 执行以下步骤:
备份域控制器的所有内容
SYSVOL
。 通常,策略编辑是在 PDC 模拟器上完成的,但不能保证。 恢复的域控制器上存在的任何数据(s)与合作伙伴不匹配,都将进入 PreExisting 或 Conflict and Deleted 文件夹,或同时进入这两者。通过禁用成员身份将域控制器设置为非授权,如如何强制 DFSR 复制
SYSVOL
的权威和非权威同步(如 FRS 的“D4/D2”)。 必须了解复制拓扑,并且必须从正常的域控制器中扇出,方法是选择它的直接合作伙伴,然后恢复其他下游域控制器等。 将记录事件 ID 4144 以确认成员身份已禁用。 确保所有需要恢复日志的域控制器都记录该事件。 可能需要强制 Active Directory 复制,然后在dfsrdiag pollad
每个域控制器上运行命令以快速检测禁用的成员身份。启用成员身份并等待 4614 和 4604 事件报告初始同步完成情况。 根据需要从备份或 从 PreExisting 和 Conflict 和 Delete 还原 任何必需的文件。
如果未启用或触发内容新鲜度,并且域中有三个或更多域控制器
如果未触发内容新鲜保护,请在
ResumeReplication
受影响的域控制器上运行 WMI 方法。 必须了解复制拓扑,并且必须从正常的域控制器中扇出,方法是选择它的直接合作伙伴,然后恢复其他下游域控制器等。 复制恢复后,DFS 复制将记录事件 2212、2218 和 2214(指示 DFS 复制初始化SYSVOL
了复制的文件夹)。
防止将来出现此问题
检查应用程序和系统事件日志是否经常报告 ESENT 数据库恢复操作、磁盘性能问题或两者。 事件日志通常与系统意外关闭、DFS 复制未正常停止或磁盘子系统故障相吻合。 请考虑更新系统的驱动程序、安装磁盘子系统的相应更新,或联系系统的硬件制造商进一步调查。 还可以联系Microsoft客户支持服务,以帮助评估系统的运行状况和 DFS 复制行为。
服务控制管理器(SCM)使用默认超时时间为 20 秒来停止服务。 在某些复杂的 DFS 复制实现中,此超时值可能太短,并且 DFS 复制在关闭相应的数据库之前停止。 在服务重启时,DFS 复制会检测此情况,然后执行数据库恢复。 WaitToKillServiceTimeout 可用于授予 DFS 复制在关闭期间向数据库提交更改的更多时间。 有关详细信息,请转到重启 DFSR 服务后收到 DFSR 事件 ID 2212 的文章。
还原 DFS 复制 SYSVOL
后,必须在环境中仔细监视 DFS 复制运行状况,以防止出现这种情况。 建议定期查看 DFS 复制事件日志、收集 DFS 复制运行状况报告和收集复制状态(使用步骤 1 下的 “检查 DFS 复制状态”部分中的 WMI 查询 - 评估所有域控制器上的 DFS 复制状态)。