Active Directory 復寫錯誤 1127:存取硬碟時,即使重試之後,磁碟作業仍失敗

本文說明 Active Directory 複寫失敗的問題,並出現 Win32 錯誤 1127:「存取硬碟時,即使重試後,磁碟作業也會失敗。

原始 KB 編號: 2025726

徵兆

本文說明 AD 作業失敗、Win32 錯誤 1127 的情況徵兆、原因和解決步驟:“存取硬碟時,即使重試後磁碟作業也失敗。

  1. 新域控制器的 DCPROMO 升級失敗,錯誤 1127:存取硬碟時,即使重試之後,磁碟作業也會失敗

    DCPROMO 中顯示的螢幕錯誤為:

    對話框標題文字:Active Directory 安裝精靈
    訊息文字:

    工作失敗,因為:
    Active Directory 無法從遠端域控制器<完整計算機名稱協助程式 DC> 複寫失敗資料分割的目錄<磁碟分區> DN 路徑。
    「存取硬碟時,即使重試之後,磁碟作業也會失敗。DCPROMO。LOG 包含下列文字:
    [INFO]複寫分割 <區名稱> 目錄分割區
    [INFO]錯誤 - Active Directory 無法從遠端域控制器協助程式 DC 複寫目錄磁碟分區 <DN>>。< (1127)
    [INFO]DNS 網域>的 <NtdsInstall 傳回 1127
    [INFO]DsRolepInstallDs 傳回 1127 [ERROR] 無法安裝到目錄服務 (1127)

  2. DCDIAG 報告 Active Directory 複寫測試失敗,並出現錯誤狀態 (1127):存取硬碟時,即使重試后,磁碟作業仍失敗

    來自 DCDIAG 的錯誤文字範例如下所示:

    測試伺服器: <月臺><DC 名稱>
    開始測試:複寫
    * 複寫檢查
    [複寫檢查,<DC 名稱>] 最近的複寫嘗試失敗:
    從 <來源 DC> 到 <目的地 DC>
    命名內容:DC=<DN 路徑>
    複寫產生錯誤 (1127):
    存取硬碟時,即使重試之後,磁碟作業也會失敗。
    失敗發生在 <日期><時間>。
    上次成功發生在 (永不)| <date>。

  3. REPADMIN.EXE報告上次復寫嘗試失敗,狀態為 1127

    通常引用 1127 狀態的 REPADMIN 命令包括,但不限於:

    • REPADMIN /REPLSUM
    • REPADMIN /SHOWREPL
    • REPADMIN /SHOWREPS
    • REPADMIN /SYNCALL
  4. Active Directory Sites and Services 中的 「立即複寫」命令(DSSITE。MSC) 失敗,畫面上的錯誤「存取硬碟時,即使重試後磁碟作業也失敗」

    對話框標題:立即複寫
    消息正文:嘗試從域控制器<來源DC同步處理目錄分割>的命名內容 <DNS 名稱期間發生下列錯誤>
    至域控制器 <目的地 DC>:
    存取硬碟時,即使重試之後,磁碟作業也會失敗。
    此作業不會繼續。

  5. 目錄服務事件記錄檔中的事件會引用錯誤狀態 1127

    通常引用 1127 狀態的事件包括,但不限於:

    事件來源和事件標識碼 訊息字串
    NTDS KCC 1926 嘗試建立只讀目錄分割區的復寫連結,但下列參數失敗
    NTDS 複寫 1084 內部事件:Active Directory 無法以從下列來源域控制器收到的變更來更新下列物件。 這是因為在域控制器上變更 Active Directory 期間發生錯誤。
    NTDS 複寫 1699 本機域控制器無法擷取下列目錄分割區所要求的變更。 因此,它無法將變更要求傳送至位於下列網路位址的域控制器。
    NTDS 複寫 2108 此事件包含先前記錄之 1084 事件的 REPAIR PROCEDURES。 此訊息指出此復寫目的地上 Active Directory 資料庫一致性的特定問題。 將復寫的變更套用至下列物件時發生資料庫錯誤。 資料庫有非預期的內容,導致無法進行變更。
  6. NTDS 複寫事件 2108 可能會記錄在目錄服務事件記錄檔中,理由是觸發螢幕錯誤、記錄事件和診斷工具輸出中 1127 狀態的 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 不合法的重複索引鍵
  7. NTDS ISAM 事件可能會記錄在目錄服務事件記錄檔中,指出是否有與出現在其他螢幕錯誤、記錄事件和診斷工具輸出中之 1127 狀態相關的噴氣式錯誤

    事件來源 + 事件識別碼 事件文字
    NTDS ISAM 474 從檔案<磁碟驅動器:\path\ntds.dit> 讀取的資料庫頁面,位<移十進位頁面大小(<十六進位位移>>)<位元組的十進位頁面大小>(<十六進位頁面大小>)位元組無法驗證到頁面總和檢查碼不符...。讀取作業將會失敗,並出現錯誤<十進位噴氣式錯誤>(<十六進位噴氣式錯誤>)。 ). 如果此條件持續發生,請從先前的備份還原資料庫。 此問題可能是因為硬體故障。 請連絡您的硬體廠商,以進一步協助診斷問題。
    NTDS ISAM 475 從檔案<磁碟驅動器:\path\ntds.dit> 讀取的資料庫頁面,位<移十進位頁面大小(<十六進位位移>>)<位元組的十進位頁面大小>(<十六進位頁大小>)位元組無法驗證到頁碼不符...。讀取作業將會失敗,並出現錯誤<十進位噴氣式錯誤>(<十六進位噴氣式錯誤>)。 ). 如果此條件持續發生,請從先前的備份還原資料庫。 此問題可能是因為硬體故障。 請連絡您的硬體廠商,以進一步協助診斷問題。

原因

Active Directory 無法寫入 Active Directory 資料庫或記錄檔。 根本原因包括:

  1. 本機電腦上的軟體干擾 Active Directory 將變更寫入 Active Directory 資料庫和/或記錄檔的能力
  2. 磁碟子系統中存在缺陷,包括主機板/驅動程式控制器、韌體、驅動程式、實體磁碟驅動器。

解決方法

  1. 在目錄服務事件記錄檔中找出NTDS複寫事件1084事件

    針對記錄 1127 狀態的 DC,開啟目錄服務事件記錄檔,並將焦點放在 NTDS 複寫事件 1084 上。

    NTDS 複寫事件 1084 表示 Active Directory 無法將更新寫入其 Active Directory 本機複本中的物件。

    事件 1084 中的元數據會識別 DN 路徑 (1.) DN 路徑(因此無法更新的物件主機數據分割),以及正在傳送更新之來源 DC 的完整 CNAME 記錄(2.) 物件GUID。

  2. 找出緊接在每個 NTDS 複寫 1084 事件之後記錄的 NTDS 複寫事件 2108,並識別記錄在 2108 事件中的 Jet 錯誤。

    NTDS 複寫事件 2108 是 NTDS 複寫 1084 事件的「用戶動作」。

    針對每個記錄的 NTDS 複寫 1084 事件,應該會有對應的 NTDS 複寫 2108 事件記錄在目錄服務事件記錄檔中,其中引用了相同物件 DN 路徑和 (2.) objectguid 和 (3.) 來源 DC 記錄在上述 NTDS 複寫 1084 事件中,以及定義/範圍的原因和復原計劃來解決錯誤狀況的噴氣式錯誤。

  3. 針對您 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 /
    資料庫頁面上的總和檢查碼錯誤
    資料庫已損毀

    硬體故障所造成的錯誤。

    評估磁碟堆疊,包括主機板/控制器、韌體、連接纜線和實體磁碟驅動器,並連絡相關廠商以取得已知問題。 比較目前的組態與廠商參考組態。

    評估最新韌體更新是否可以解決問題,還是由最近的韌體更新觸發。

    如果某些 DC 正在記錄 -1018,而相同環境中的其他 DC 則不是,請在硬體組態中尋找差異。

    在 NTDSUTIL 或 ESENTUTL 中,無法復原或修復此錯誤的資料庫完整性檢查或語意資料庫分析。

    離線重組會解決問題不太可能是因為索引一致性問題所造成的問題。

    請嘗試脫機重組,否則,請還原預先設定損毀日期的系統狀態備份,或強制降級、執行完整元數據清除,然後重新升級。 如果出現 -1018 錯誤,請重複執行,直到解決硬體根本原因為止。

    一位客戶報告噴氣式錯誤 -1018 在相同虛擬主機上執行的虛擬化DC上,只有使用機上突襲控制器的電腦。 目前的想法是,UPS 沒有足夠的電力供機上突襲控制器在電力中斷后認可磁碟變更。 因應措施是將 UPS 軟體設定為在電力中斷時關閉虛擬化來賓。 具有專用(非機上)突襲控制器的伺服器,其自己的電池備份沒有遇到 -1018 噴氣式飛機錯誤。
    -1019 JET_errPageNotInitialized /
    空白資料庫頁面
    類似於 -1018 錯誤,但因頁面排清遺失所造成。

    遺失的排清可能代表重大 USN 變更。 無法將相同套用至本機 DC 或可轉移的複寫夥伴,可能會對單一複寫路徑存在有害。

    在伺服器類別硬體和磁碟子系統元件上部署 OS

    在主電腦上安裝UPS。

    安裝具有內建電池備份的磁碟控制器。

    停用磁碟驅動器控制器上的回寫快取。

    避免放置 NTDS。IDE 磁碟驅動器上的 DIT 和 LOG 檔案

    在 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 存取磁碟時發生非特定錯誤。 當控制器傳回一般錯誤,例如「裝置無法運作」時,可能會記錄此錯誤。 某些磁碟和 Jet 版本會針對 CRC 問題傳回此錯誤。

    確認整個驅動程式堆疊。
    -1605 JET_errKeyDuplicate / 不合法的重複索引鍵 零星錯誤。
    降級和重述。
    可能是因為索引損毀所造成。
    執行 NTDUSITL 語意資料庫分析。 如果仍然無法解決,請執行脫機重組。
  4. 如果 NTDS 複寫事件中的 Jet 錯誤不在上表中,請驗證垂直 Jet 資料庫堆疊

    如果 2108 事件記錄資料表中未引用的噴氣式錯誤,請使用 Microsoft 錯誤查閱工具 (ERR.exe) 公用程式,使用語法 “err <jet error>” 將噴氣式錯誤解析為其符號和易記的錯誤字串。

    當您使用 ERR.EXE 解決 Jet 錯誤時,請務必新增前置 “-” 前置字元。 (例如,“c:\>err -1018” 。

    NTDS 複寫事件 2108 中的事件消息正文包含 NTDS 複寫 1084 事件的部分使用者動作。

    NTDS 複寫 2108 使用者動作記載於連結的 KB 文章 MSKB 837932。 如果上述表格中未引用事件的使用者動作,請在 MSKB 中執行已修改的行動計劃版本837932 驗證垂直噴氣式資料庫堆疊從上到上(只有在基礎層取出「良好」時,才會繼續進行下一層),就像您使用 TCP 一樣。

    NTDSUTIL 命令 ESENTTUL 命令
    (1.) 實體一致性 沒有對等專案 ESENTUTL /K
    (2.) ESE 邏輯一致性 NTDSUTIL FILES 完整性 ESENTUTL /G
    (3.) 應用程式邏輯一致性 NTDSUTIL ->Semantic 資料庫分析

    +

    NTDSUTIL -> 脫機重組
    SDA 沒有對等專案


    +

    ESENTUTL / D

資料收集

如果您需要Microsoft支援方面的協助,建議您遵循使用 TSS 收集 Active Directory 複寫問題的資訊中所述的步驟來收集資訊。