複寫與組態集
Active Directory 輕量型目錄服務 (AD LDS) 可使用複寫來提供目錄服務的容錯與負載平衡。AD LDS 會使用一種名為多重主機複寫的複寫類型。透過複寫,AD LDS 會將針對某個 AD LDS 執行個體的目錄分割進行的目錄資料更新,複製到其他含有相同目錄分割複本的 AD LDS 執行個體上。保有相同目錄分割複本的 AD LDS 執行個體,會形成名為組態集的邏輯群組。
多重主機複寫
多重主機複寫就是指可以對任何 AD LDS 執行個體的目錄資料進行變更。AD LDS 會自動將這些變更複寫給組態集的其他成員。多重主機複寫的特性是,其資料一致性鬆散,但會有交集。當您對某個 AD LDS 執行個體上的指定目錄分割進行資料變更時,該目錄分割的複本在存放到其他 AD LDS 執行個體上後,就會變得與目錄分割 (進行變更的磁碟分割) 的最新複本不一致。但當變更透過組態集進行複寫時,所有磁碟分割複本又會再次變得一致,也就是說,它們同時回歸到最新的資料。
組態集
AD LDS 執行個體會根據組態集內的參與進行資料的複寫。所有加入同一個組態集的 AD LDS 執行個體,都必須複寫共同的設定目錄分割與一般架構目錄分割。組態集內的 AD LDS 執行個體也可以複寫不限數量的應用程式目錄分割。組態集內的 AD LDS 執行個體,並不需要複寫組態集內的所有應用程式目錄分割。單一 AD LDS 執行個體可以複寫其組態集內的所有應用程式目錄分割或任何子集。但是 AD LDS 執行個體無法從不同的組態集複寫應用程式目錄分割。
下圖將說明含有兩個 AD LDS 組態集的範例,每個組態集各包含兩個 AD LDS 執行個體。如圖所示,單一電腦可執行多個 AD LDS 執行個體,每個執行個體各位於不同的組態集內。
附註 | |
AD LDS 執行個體只能在執行個體安裝期間加入組態集內。 |
防止複寫衝突
若兩個使用者在兩個不同的 AD LDS 執行個體上,對相同目錄分割之複本的相同資料進行變更,會產生什麼結果?在這種情況下,每個 AD LDS 執行個體都會嘗試複寫變更,因此會產生衝突。若要解決此衝突,接收到這些衝突變更的複寫協力電腦必須驗證變更 (每個都持有版本及時間戳記) 中所包含的屬性資料。AD LDS 執行個體會接受較新版本的變更,並放棄其他變更。如果版本相同,AD LDS 執行個體會接受具有最新時間戳記的變更。
若某個物件的多值屬性同時在兩個不同的 AD LDS 執行個體上更新了兩個或多個值,則只會複寫一個更新值。換句話說,同時在兩個不同 AD LDS 執行個體上進行多值屬性更新,即視為衝突,即使更新套用的是多值屬性中的不同值也是如此。此規則唯一的例外是連結值屬性 (例如群組成員資格),此屬性允許同時對連結值屬性內的不同值進行更新。
複寫拓撲
知識一致性檢查程式 (KCC) 是一種做為每個 AD LDS 執行個體一部分執行的處理程序,會根據網路的情況,自動建構最有效的拓撲供複寫流量遵循。KCC 會定期重新計劃複寫技術,調整環境中發生的所有網路變更。
附註 | |
AD LDS 組態集含有自己的複寫拓撲,且會與可能同時存在的任何 Active Directory 網域服務 (AD LDS) 複寫拓撲分隔開來。目錄分割無法在 AD LDS 執行個體與 Active Directory 網域控制站之間複寫。 |
確定複寫安全性
為確定複寫安全性,AD LDS 在複寫之前,會先驗證複寫協力電腦,且一律會在安全通道上進行複寫驗證。AD LDS 會使用安全性支援提供者介面 (SSPI),在複寫協力電腦間建立適當的驗證安全性等級。針對組態集內的複寫驗證所使用的方法,取決於設定目錄分割上的 msDS-ReplAuthenticationMode 屬性值。當複寫協力電腦順利完成驗證後,就會為兩部協力電腦之間的所有複寫流量加密。
下表將說明複寫驗證的安全性等級,與每個安全性等級所對應的 msDS-ReplAuthenticationMode 屬性值。除非將本機工作站使用者帳戶指定為 AD LDS 服務帳戶,否則全新且唯一的 AD LDS 執行個體的預設複寫安全性等級是 1。若本機工作站帳戶指定為 AD LDS 服務帳戶,則複寫安全性等級會設為 0。
複寫安全性等級 | 驗證模式 | 描述 | 支援環境 |
---|---|---|---|
以 Kerberos 相互驗證 |
2 |
需要 Kerberos 驗證 (使用服務主要名稱 (SPN))。如果 Kerberos 驗證失敗,則 AD LDS 執行個體不會進行複寫。 |
組態集必須完整保存於 AD DS 網域、樹系或樹系信任中。 |
交涉 |
1 |
會先嘗試 Kerberos 驗證 (使用 SPN)。如果 Kerberos 失敗,嘗試 NTLM 驗證。如果 NTLM 失敗,則 AD LDS 執行個體不會進行複寫。 |
組態集可以包含 Microsoft Windows NT(R) 4.0 成員伺服器。 |
交涉傳遞 |
0 |
組態集內的所有 AD LDS 執行個體,都會使用 AD LDS 服務帳戶所使用的帳戶名稱與密碼。 |
組態集可以包含加入一或多個工作群組的電腦,或加入多個不具信任關係之網域或樹系的電腦。 |
若要維護 AD LDS 複寫安全性,則建議您使用下列最佳作法:
-
使用您的環境能支援的最高複寫安全性等級。
-
在 AD DS 環境中,盡可能於成員伺服器上執行 AD LDS,而不要在網域控制站上執行。
-
如果您在 AD DS 環境的網域控制站上執行 AD LDS,請不要將網路服務帳戶當成 AD LDS 服務帳戶。請使用不具系統管理員特殊權限的網域使用者帳戶。
-
在工作群組與 Windows NT 4.0 環境中,請不要將具有系統管理權限的帳戶當成 AD LDS 服務帳戶。
-
請針對必須個別執行的應用程式使用個別的組態集。
如需服務帳戶之 AD LDS 複寫需求的相關資訊,請參閱選取服務帳戶。