Active Directory管理之六:活動目錄數據庫維護

維護活動目錄數據庫是一個很重要的管理任務,它需要定期幫助覆蓋丟失和出錯的數據,修正活動目錄數據庫。活動目錄數據庫存儲包含有AD中所有數據,所以活動目錄數據庫維護是一項非常重要的工作。一般情況下,管理員很少會直接管理活動目錄數據庫,因爲有規律的自動化數據庫管理可以維護數據庫健康。這些自動進程包括活動目錄數據庫聯機碎片整理和清除已刪除的垃圾收集。對於需要直接管理活動目錄數據庫,可以使用ntdsutil工具進行管理。

一、活動目錄數據文件介紹

活動目錄數據文件默認存儲在C:\Windows\NTDS目錄下:

p_w_picpath

1.edb.chk:這是檢查點文件。edb.chk文件存儲數據庫的檢查點,這些檢查點標識數據庫引擎需要重複播放日誌的點,通常在恢復或初始化時。

2.edbxxxxx.log:事務日誌文件。edb.log是日誌文件,對數據庫進行更改後,將該更改寫入到edb.log文件中。當edb.log文件充滿事務之後,會被重新命名爲edbxxxxx.log,日誌文件從edb00001開始,並使用十六進制數累加。由於ActiveDirectory使用循環記錄,所以在舊日誌文件寫入數據庫之後,這些舊日誌文件會及時刪除。在任何時刻都可以找到edb.log文件,而且還可能有一個或多個Edbxxxxx.log文件。

3.edbresxxxx.jrs:這些文件是保留的日誌文件僅當含有日誌文件的磁盤空間不足時使用。如果當前的日誌文件填滿了且由於磁盤剩餘空間不足服務器不能創建新的日誌文件,服務器會將當前記憶體中的活動目錄處理記錄到兩個保留日誌文件中然後關閉活動目錄。每一個日誌文件也是10MB大小。

4.edbtmp.log:該日誌是噹噹前日誌文件(Edb.log)填滿時的暫時日誌。一個edbtmp.log的新文件被創建來記錄處理,同時edb.log文件被重命名爲下一個以往日誌文件,然後edbtmp.log文件會被重名爲edb.log。

5.ntds.dit:數據庫文件。ntds.dit會隨着數據庫的填充而不斷增大。但是,日誌的大小卻是固定的10MB。對數據庫進行的任何更改都會被追加到當前的日誌文件中,而且其磁盤映像會不斷保持更新。

6.Temp.edb:這是個在數據庫維護時使用的暫時文件用於存儲當前進程中處理的信息。

二、垃圾收集

用戶維護活動目錄數據庫的一個自動化進程是垃圾收集。垃圾收集是一個每12小時在每臺域控制器上運行一次的進程。在垃圾收集進程中,將收回活動目錄數據庫中的可用空間。

垃圾收集進程首先從刪除數據庫中的邏輯刪除開始。邏輯刪除是已經從AD中刪除的對象的部分剩餘。當某個對象被刪除時,該對象不會被立即刪除,而是將該對象的isDeleted屬性設置爲true,對象被邏輯刪除後,對象的大部分屬性會刪除,只有用於標識該對象的幾種屬性被保留,如:SID、GUID、USN(更新序列號)和可分辨名稱。默認情況下,邏輯刪除的生存時間爲180天,期限滿後,垃圾收集進程下次運行時,對象會從數據庫中刪除。刪除萬邏輯刪除後,垃圾收集進程將刪除所有不要的事務日誌文件。

三、聯機碎片整理

垃圾收集進程的最後一步是活動目錄數據庫的聯機碎片整理。聯機碎片整理釋放熟即可的空間,並重新安排數據庫中活動目錄的存儲位置,從而提高數據庫的效率。

聯機碎片徵集進程清理數據庫,使數據庫的存儲處於一種更優化的狀態。聯機碎片整理的一個缺點是不會減少活動目錄數據庫的大小。作爲垃圾收集的一部分,聯機碎片整理也是每12小時運行一次。當聯機碎片整理完成後,會生出一個日誌事件。如下圖:

p_w_picpath

四、脫機碎片整理

聯機碎片整理不會減少活動目錄數據庫的大小,在正常環境中是沒有問題的。但是,在某些情況下,可能需要使用脫機碎片整理來減少數據庫的整體大小。運行脫機碎片整理的方法:

1.停止活動目錄服務,使用services.msc打開服務控制檯,找到“ActiveDirectoryDomainServices”服務,將該服務停止(或者使用netstopntds命令也可以)。

p_w_picpath

2.打開CMD命令提示符,輸入ntdsutil。如果忘記命令,可以輸入?來獲取幫助信息。

p_w_picpath

3.輸入:activateinstancentds設置活動實例,輸入:files,接着輸入:info可以顯示數據庫及日誌文件的路徑和大小。

p_w_picpath

4.輸入:compacttoD:\NDTS,這個可以根據自己需求設置路徑的。脫機碎片整理會在你指定的路徑創建一個名爲ntds.dit的新數據庫文件。當數據庫被複制到新位置時,會對數據庫執行碎片整理。

p_w_picpath

5.依次輸入2次quit,退出ntdsutil。

6.將碎片整理後的數據庫文件ntds.dit拷貝並替換C:\Windows\NTDS目錄的數據庫文件。並刪除日誌文件。

p_w_picpath

7.啓動“ActiveDirectoryDomainServices”服務,或者重啓域控制器。

五、移動活動目錄數據庫

隨着域中的計算機和用戶以及其他對象的增加,活動目錄數據會變得較大,如果存儲數據庫的分區容量不夠大,則可能需要更改動目錄數據庫和日誌文件的存儲位置,將其移動到一個較大的磁盤分區。

1.停止活動目錄服務,使用services.msc打開服務控制檯,找到“ActiveDirectoryDomainServices”服務,將該服務停止(或者使用netstopntds命令也可以)。

2.在需要移動到的目標分區上創建存放數據庫及日誌文件的文件夾,如:D:\NTDS。

3.打開CMD命令提示符,依次輸入:ntdsutil----activateinstancentds----files----info,可以查看到當前數據庫及日誌文件的路徑和大小。

p_w_picpath

4.移動數據庫文件,在filemaintenance:提示符下輸入:movedbtoD:\ntds回車。

p_w_picpath

5.移動日誌文件,在filemaintenance:提示符下輸入:movelogstoD:\NTDS,並回車。

p_w_picpath

6.完成上述步驟後,可以輸入info查看數據庫及日誌文件位置,可以看到已經成功移動到目標位置

p_w_picpath

7.移動完後檢查數據庫完整性,filemaintenance:提示符下輸入:integrity

p_w_picpath

8.啓動“ActiveDirectoryDomainServices”服務,或者重啓域控制器。

本文出自“蠟筆小牛”博客,請務必保留此出處http://labixiaoniu.blog.51cto.com/695063/1283038

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章