Active-Directory

為什麼域控制器會在不正常關機後遇到 USN 回滾?

  • October 9, 2013

我有一個在物理戴爾伺服器上執行的 Windows Server 2008 R2 域控制器,型號為 PowerEdge R510。

這裡有一些電氣問題,因此不幸的是,停電是很常見的事情;有 UPS,但它們並不像應有的那樣可靠,有時伺服器會遇到不正常的關機。

出於某種原因,我真的無法理解,有時這個特定的 DC 會在不正常關機後出現並遇到USN 回滾,迫使我們將其降級並提升回來。

這根本沒有意義,因為伺服器是物理伺服器,並且從未在其上執行過快照、複製和/或還原;此外,它沒有安裝額外的軟體,它只執行 DC 職責;具體來說,不存在複製/恢復/任何軟體。

文件系統損壞至少會有意義,但 USN 回滾確實沒有,因為伺服器無法恢復到以前的狀態。不過這兩個月里至少發生過3次,絕對不是一次性的瘋狂事件;但我完全無法做出解釋。

這個問題的原因可能是什麼?

我今天想了幾個小時。這有點令人困惑,但正如我在評論中指出的那樣,我最好的猜測是,在停電/臟關機清除記憶體內容之前,您要麼正在進行某種磁碟記憶體,而該記憶體未送出到磁碟… 或者,由於您在包含 ntds.dit 的 RAID 卷上執行,斷電可能會導致您的 RAID 卷暫時中斷或變得不連貫,即使是片刻。

我們知道 USN 回滾的相關方線是當 DC 恢復到較早的狀態時,經典範例是從快照恢復虛擬化 DC。我知道這並不完全適用於您……但即使在具有寫入記憶體的磁碟的情況下,您也可以將磁碟上物理上的數據視為包含“先前狀態”,而寫入記憶體實際上包含 DC 的最新狀態…即使這兩個狀態僅相隔半秒。

仔細思考微軟的這些評論:

虛擬化域控制器指南

與虛擬 IDE 相比,虛擬 SCSI 磁碟提供了更高的性能,並且它們支持強制單元訪問 (FUA)。FUA 確保作業系統繞過任何和所有記憶體機制直接從媒體寫入和讀取數據。

我知道您的 DC 不是 VM,但這個概念仍然適用。磁碟記憶體和 DC 不能混用。這就是為什麼安裝 Active Directory 會將寫入記憶體作為 Windows 策略關閉,但您仍然可以在硬體 RAID 控制器等中擁有記憶體機制。

方案 B:從損壞的鏡像中的其他驅動器啟動 Active Directory

  1. 提升域控制器。在鏡像驅動器上找到 Ntds.dit 文件。
  2. 打破鏡子。
  3. 繼續使用鏡像中第一個驅動器上的 Ntds.dit 文件進行入站複製和出站複製。
  4. 使用鏡像中第二個驅動器上的 Ntds.dit 文件啟動域控制器。

這是一個複制殺手,在具有 RAID 1 卷的物理 DC 上讓我深受其害。我個人從未有過由它引起的實際 USN 回滾,但它會殺死該 DC 上的複制。我的意思是,想像一個包含 2 個磁碟的 RAID 1 卷。1 個驅動器當機。你刪除它,彈出一個新驅動器…… aaaaaaand DSA Not Writable。

來自AskDS 部落格

如果您的 VM 主機或 Active Directory 數據庫所在的儲存磁碟沒有不間斷電源 (UPS),請確保在虛擬機的主機上禁用寫入記憶體。請參閱此連結以獲取更多指導。相反,如果需要為託管 DC 的 VM 主機保持啟用寫入記憶體,則安裝 UPS 以避免損壞 DC。

同樣,它談論的是虛擬化 DC,但磁碟記憶體概念也適用於物理 DC。

所以有我的想法。我認為這與您的儲存系統有關。絕對希望至少在 ntds.dit 卷上禁用任何和所有記憶體機制,尤其是在您容易斷電的情況下。

引用自:https://serverfault.com/questions/544553