在Windows 2000 活動目錄(AD)環境裡,你可以使用網站(Site)把網路物理地劃分開,從而最佳化AD複製。通過理解微軟是如何在你的域裡實現AD複製,你能夠更有效地對把你的網路劃分成AD網站,從而減少通過低速網路連接的網路流。這篇文章是關於活動目錄網站的兩篇系列文章的第一部分,在這篇文章裡,我們要研究預設的AD網站內(intra-site)複製的配置,以及資訊如何被複製。
活動目錄複寫
在活動目錄(AD) 網域控制站(DC)安裝到域裡時,活動目錄會建立預設的複製模板,並且在活動目錄之間自動建立起一個環形的複寫拓撲,建立的依據是確保複製流量沿著最有效路徑進行。你可以沿著環的任意方向把變化複製到AD。
因為在AD裡所有的DC的地位都相等,都包含可以寫入的ADDatabase Backup,因此在實現多主機複製系統時,有一些潛在的挑戰面對著微軟。在你可能考慮到的問題裡,有些是:
DC如何把複製流量控制在最小?
DC如何保持所有的資料庫拷貝同步?
如果DC從兩個複製夥伴得到相同的修改,會怎麼樣?
如果兩個修改同時發生,會怎麼樣?
那麼就讓我們按順序來看看這些問題。
DC如何把複製流量控制在最小?
為了把網路流保持在最小,AD的複製在每-屬性(per-attribute )的基礎上進行。簡單地說,這就是指如果一個屬性發生了變化(比如,使用者的電話號碼),那麼只有這個小小的變化被複製到你的域裡的其它DC上。你可以想象,AD的每屬性複製,和把整個資料庫拷貝都通過網路傳遞比起來,更加有效率,需要網路頻寬也更少。
DC如何保持所有的資料庫拷貝同步?
AD DC 使用一套更新順序數字(USN)系統對彼此間流動的AD資料庫的不同版本進行校正和同步。每當一個DC對它的資料庫做了修改,它就用一個USN來標識這個修改。在它通知其它DC它有一個修改需要複製時,它還把與被修改的屬性相關聯的USN通知給其它DC。
每個DC都維護了一個表格,裡面儲存著它從環裡它的每個複製夥伴那裡收到的最高的USN數字。如果一個DC收到了一個修改的通知,而與修改相關聯的USN值要比在它的表裡的記載的USN值高,那麼它就向複製夥伴請求所有插入的修改。你可以在圖 A 和 圖B 裡看到這個過程。
圖 A: 活動目錄變化通知裡包括更新順序數字USN。
圖 B: AD 資料庫使用USN在多主機環境裡控制同步。