本文介绍 Active Directory 复制失败并出现 Win32 错误 1127 的问题:“访问硬盘时,即使重试后磁盘操作也失败。
原始 KB 数: 2025726
现象
本文介绍 AD 操作失败并出现 Win32 错误 1127 的情况的症状、原因和解决方法步骤:“访问硬盘时,即使重试后磁盘操作也失败。
-
新域控制器的 DCPROMO 升级失败,出现错误 1127:访问硬盘时,即使重试后磁盘操作也失败
DCPROMO 中显示的屏幕错误为:
对话框标题文本:Active Directory 安装向导 消息文本:
操作失败,因为: Active Directory 无法从远程域控制器<完全限定的计算机名称(帮助程序 DC>)复制失败分区>的目录分区 <DN 路径。 “访问硬盘时,即使重试后,磁盘操作也会失败。DCPROMO。LOG 包含以下文本: [INFO]复制 <分区名称> 目录分区 [INFO]错误 - Active Directory 无法从远程域控制器<帮助程序 DC> 复制目录分区 <DN>。 (1127) [INFO]DNS <域> 的 NtdsInstall 返回 1127 [INFO]DsRolepInstallD 返回 1127 [错误] 未能安装到目录服务 (1127)
-
DCDIAG 报告 Active Directory 复制测试失败并出现错误状态(1127):访问硬盘时,即使重试后磁盘操作也失败
DCDIAG 中的示例错误文本如下所示:
测试服务器: <站点><DC 名称> 开始测试:复制 * 复制检查 [复制检查,<DC 名称>] 最近的复制尝试失败: 从 <源 DC> 到 <目标 DC> 命名上下文:DC=<DN 路径> 复制生成了错误(1127): 访问硬盘时,即使重试,磁盘操作也会失败。 失败发生在 <日期><时间>。 上次成功发生在 (从不)| <date>。
-
REPADMIN.EXE报告上次复制尝试失败,状态为 1127
通常引用 1127 状态的 REPADMIN 命令包括但不限于:
- REPADMIN /REPLSUM
- REPADMIN /SHOWREPL
- REPADMIN /SHOWREPS
- REPADMIN /SYNCALL
-
Active Directory 站点和服务(DSSITE)中的“立即复制”命令。MSC) 失败并出现屏幕错误“访问硬盘时,即使重试后磁盘操作也失败”
对话框标题:立即复制 消息文本:尝试从域控制器<源 DC 同步目录分区>的命名上下文 <DNS 名称期间发生以下错误> 到域控制器 <目标 DC>: 访问硬盘时,即使重试,磁盘操作也会失败。 此操作不会继续。
-
目录服务事件日志中的事件引用错误状态 1127
通常引用 1127 状态的事件包括但不限于:
事件源和事件 ID 消息字符串 NTDS KCC 1926 尝试建立指向具有以下参数的只读目录分区的复制链接失败 NTDS 复制 1084 内部事件:Active Directory 无法通过从以下源域控制器接收的更改更新以下对象。 这是因为在对域控制器上的 Active Directory 进行更改期间发生了错误。 NTDS 复制 1699 本地域控制器未能检索为以下目录分区请求的更改。 因此,无法在以下网络地址将更改请求发送到域控制器。 NTDS 复制 2108 此事件包含以前记录的 1084 事件的 REPAIR PROCEDURES。 此消息指示此复制目标上 Active Directory 数据库的一致性存在特定问题。 将复制的更改应用于以下对象时发生数据库错误。 数据库具有意外的内容,从而阻止进行更改。 -
NTDS 复制事件 2108 可能记录在目录服务事件日志中,引用对象、源 DC 和喷气式错误,该错误触发了屏幕上错误、记录的事件和诊断工具输出中 1127 状态的日志记录。
已知出现在状态为 1127 的 NTDS 复制事件 2108 中的 Jet 错误包括但不限于:
Jet 错误(小数) 符号错误 错误字符串 -510 JET_errLogWriteFail 写入日志文件失败 -1018 JET_errReadVerifyFailure 数据库页存在校验和错误 -1019 JET_errPageNotInitialized 空白数据库页 -1021 JET_errDiskReadVerificationFailure 从文件 IO 返回 ERROR_CRC 的 OS -1022 JET_errDiskIO 磁盘 IO 错误 -1605 JET_errKeyDuplicate 非法的重复键 -
NTDS ISAM 事件可能记录在目录服务事件日志中,指示存在与其他屏幕错误、记录的事件和诊断工具输出中显示的 1127 状态相关的喷气式错误
事件源 + 事件 ID 事件文本 NTDS ISAM 474 从文件驱动器:\path\ntds.dit 读取的数据库<页(偏移<量(十六进制偏移<>量>),小<数页大小(<十六进制页大小>>)字节未能验证到页面校验和不匹配。...>读取操作将失败,并出现错误<小数喷气错误>(<十六进制喷气错误>)。 ). 如果此条件仍然存在,请从以前的备份还原数据库。 此问题可能是由于硬件故障造成的。 请联系硬件供应商,进一步帮助诊断问题。 NTDS ISAM 475 从文件驱动器:\path\ntds.dit 读取的数据库<页(偏移<量(十六进制偏移>量>),<小数页大小(<<十六进制页大小>>)字节未能验证到页码不匹配。...>读取操作将失败,并出现错误<小数喷气错误>(<十六进制喷气错误>)。 ). 如果此条件仍然存在,请从以前的备份还原数据库。 此问题可能是由于硬件故障造成的。 请联系硬件供应商,进一步帮助诊断问题。
原因
Active Directory 无法写入 Active Directory 数据库或日志文件。 根本原因包括:
- 本地计算机上的软件干扰了 Active Directory 向 Active Directory 数据库和/或日志文件写入更改的能力
- 磁盘子系统中存在缺陷,包括主板/驱动程序控制器、固件、驱动程序、物理驱动器。
解决方法
-
在目录服务事件日志中找到 NTDS 复制事件 1084 事件
对于记录 1127 状态的 DC,请打开目录服务事件日志,并专注于 NTDS 复制事件 1084。
NTDS 复制事件 1084 指示 Active Directory 无法将更新写入 Active Directory 的本地副本中的对象。
事件 1084 中的元数据标识 (1.) DN 路径(因此无法更新的对象主机分区),以及正在发送更新的源 DC 的完全限定 CNAME 记录(2.)和 (3.)
-
找到紧接在每个 NTDS Replication 1084 事件后记录的 NTDS 复制事件 2108,并识别记录在 2108 事件中的 jet 错误。
NTDS 复制事件 2108 是 NTDS 复制 1084 事件的“用户操作”。
对于记录的每个 NTDS 复制 1084 事件,应在目录服务事件日志中记录相应的 NTDS 复制 2108 事件,该事件日志引用了相同的对象 DN 路径和 (2.) objectguid 和 (3.) 源 DC,该事件记录在前面的 NTDS 复制 1084 事件中,以及定义/范围的原因和恢复计划以解决错误条件的喷气式错误。
-
执行 NTDS 复制事件 2108 中记录的 Jet 错误的行动计划:
如果 NTDS 复制事件中记录的 Jet 错误列在下表中,请执行用户操作,否则请跳到步骤 #4:
Jet 错误(小数) 符号错误 + 错误字符串 用户操作 -510 JET_errLogWriteFail/写入日志文件失败 目标 DC 上发生日志写入失败。检查目标 DC 上的磁盘、分区和文件系统运行状况。检查可能在 Active Directory 日志文件(如目标 DC 上的防病毒软件)上创建锁的软件。查看问题是否在重新启动后仍然存在,或尝试清理启动方法 1:停止在文件系统中创建文件锁的服务,并专门关注防病毒软件。方法 2:在 OS 启动期间按 F8 并选择“使用网络的安全模式”。 方法 3:禁用与非启动相关的第三方服务。 重新启动。 Windows 密钥 + R -> MSCONFIG -> 服务选项卡 - > 隐藏所有Microsoft 服务 -> 禁用第三方服务的复选框 Windows 密钥 + R -> MSCONFIG -> 启动选项卡 - > 隐藏所有Microsoft 服务 -> 单击“全部禁用” -1018 JET_errReadVerifyFailure/数据库页存在校验和错误 DB 已损坏硬件故障导致的错误。评估磁盘堆栈,包括主板/控制器、固件、连接电缆和物理驱动器,并联系相关供应商以了解已知问题。 将当前配置与供应商参考配置进行比较。评估问题是否可以由最新的固件更新解决,还是由最近的固件更新触发。如果某些 DC 正在日志记录 -1018,而同一环境中的其他 DC 则不记录,请查找硬件配置的差异。无法通过 NTDSUTIL 或 ESENTUTL 中的完整性检查或语义数据库分析来恢复或修复此错误的数据库。脱机碎片整理后,该问题不太可能由索引一致性问题引起。请尝试脱机碎片整理,否则,还原预约会损坏的系统状态备份,或强制降级,执行完整的元数据清理,然后重新升级。 如果出现 -1018 错误,请重复,直到解决硬件根本原因。一位客户报告了仅在使用板载突袭控制器的计算机上运行的虚拟化 DC 上的喷气式错误 -1018。 目前的想法是,UPS 缺乏足够的电源,板上突袭控制器在断电后提交磁盘更改。 解决方法是将 UPS 软件配置为在断电时关闭虚拟化来宾。 具有专用(非板载)突袭控制器的服务器本身的电池备份没有遇到 -1018 喷气式飞机错误。 -1019 JET_errPageNotInitialized/空白数据库页 类似于 -1018 错误,但由于页面刷新丢失。丢失的刷新可以表示关键的 USN 更改。 如果存在单个复制路径,则无法对本地 DC 或可传递复制伙伴应用相同的操作可能会有害。在服务器类硬件和磁盘子系统组件上部署 OS在主计算机上安装 UPS。使用板载电池备份安装磁盘控制器。在驱动器控制器上禁用写回缓存。避免放置 NTDS。IDE 驱动器上的 DIT 和日志文件无法通过 NTDSUTIL 或 ESENTUTL 中的完整性检查或语义数据库分析来恢复或修复此错误的数据库。脱机碎片整理可能会解决该问题,因为问题不太可能是由索引一致性问题引起的。请尝试脱机碎片整理,否则,还原预约会损坏的系统状态备份,或强制降级,执行完整的元数据清理,然后重新升级。 重复,直到解决硬件根本原因。 -1021 JET_errDiskReadVerificationFailure/从文件 IO 返回的 OS ERROR_CRC Jet 错误 -1021 是 Windows Server 2008 R2 的新增功能。对于这种情况,Windows Server 2008 R2 操作系统返回 -1022。-1021 标识磁盘级别发生 -1018 错误。 重述,-1021 指示磁盘驱动器返回了错误的检查和错误,并且是磁盘堆栈中问题的特定来源。问题可能是硬盘驱动器上存在错误的块,硬盘驱动器可能会跟踪。降级和重新提升域控制器可能会触发在正常块上存储数据。 -1022 JET_errDiskIO/磁盘 IO 错误 通用磁盘错误磁盘 IO 错误意味着 OS 遇到访问磁盘的非特定错误。 当控制器返回泛型错误(如“设备不起作用”)时,可能会记录此错误。 对于 CRC 问题,某些磁盘和喷气式飞机版本返回此错误。验证整个驱动程序堆栈。 -1605 JET_errKeyDuplicate/非法重复密钥 偶发错误。降级和重写。可能是由索引损坏引起的。 运行 NTDUSITL 语义数据库分析。 如果仍未解决,请执行脱机碎片整理。 -
如果 NTDS 复制事件中的 Jet 错误不在上表中,请验证垂直 Jet 数据库堆栈
如果 2108 事件日志中记录了表中未引用的喷气式错误,请使用 Microsoft错误查找工具(ERR.exe) 实用工具使用语法“err <jet error>”将喷气式错误解析为其符号和友好的错误字符串。
使用 ERR.EXE 解决喷气式错误时,必须添加前导“-”前缀字符。 (例如,“c:>err -1018”)。
NTDS 复制事件 2108 中的事件消息文本包含 NTDS 复制 1084 事件的部分用户操作。
NTDS Replication 2108 用户操作记录在链接的知识库文章 MSKB 837932中。 如果上表中未引用事件的用户操作,请通过验证垂直喷气式数据库堆栈(仅在基础层签出“良好”时),在 MSKB 837932 中执行修改后的行动计划版本(仅当基础层签出“良好”时,才能继续到下一层)。
层 NTDSUTIL 命令 ESENTTUL 命令 (1.) 物理一致性 无等效项 ESENTUTL /K (2.) ESE 逻辑一致性 NTDSUTIL 文件完整性 ESENTUTL /G (3.) 应用程序逻辑一致性 NTDSUTIL ->Semantic 数据库分析+NTDSUTIL -> 脱机碎片整理 SDA 没有等效项+ESENTUTL / D
数据收集
如果需要Microsoft支持方面的帮助,建议按照使用 TSS 收集 Active Directory 复制问题的信息中所述的步骤收集信息。