本節說明管理現有複寫拓樸的以下幾方面:
您可以編輯複寫協議,以變更用以連結至用戶伺服器的複寫管理員身份識別。若要避免複寫中斷,請在用戶上定義新的複寫管理員項目或憑證項目,再修改複寫協議。但是,如果複寫因為連結失敗而中斷,複寫機制將在複寫回復設定的限制內,於更正錯誤時自動傳送所有必要的更新。如需相關程序,請參閱使用非預設複寫管理員。
您可以停用、啟用或刪除複寫協議。
停用複寫協議時,主伺服器會停止傳送更新給指定的用戶。複寫到該伺服器的動作會停止,但是會保留協議中所有的設定。您可能會在稍後重新啟用協議而繼續複寫。如需有關中斷之後繼續複寫機制的資訊,請參閱啟用複寫協議。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
停用複寫協議。
$ dsconf disable-repl-agmt -h host -p port suffix-DN consumer-host:consumer-port |
例如:
$ dsconf disable-repl-agmt -h host2 -p 1389 dc=example,dc=com host1:1389 |
啟用複寫協議會繼續指定用戶的複寫。但是,如果複寫中斷的時間比複寫回復設定所允許的時間長,且其他供應者尚未更新用戶,就必須重新初始化用戶。複寫回復設定的大小為此供應者變更記錄的大小上限以及用戶清除延遲之最長存在期限 (請參閱執行進階用戶配置)。
當中斷時間很短且複寫可以回復時,主伺服器將會在重新啟用協議時自動更新用戶。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
啟用複寫協議。
$ dsconf -h host -p port enable-repl-agmt suffix-DN consumer-host:consumer-port |
例如:
$ dsconf -h host2 -p 1389 enable-repl-agmt dc=example,dc=com host1:1389 |
刪除複寫協議時會停止對應用戶的複寫,並會移除關於協議的所有配置資訊。若要在稍後繼續複寫,請改以停用複寫協議。中所述停用協議。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
刪除複寫協議。
$ dsconf delete-repl-agmt -h host -p port suffix-DN consumer-host:consumer-port |
例如:
$ dsconf delete-repl-agmt -h host2 -p 1389 dc=example,dc=com host1:1389 |
升級或降級複本會變更其在複寫拓樸中的角色。專屬用戶可升級為集散中心,而集散中心可升級為主伺服器。主伺服器可降級為集散中心,而集散中心也可降級為專屬用戶。但是,主伺服器無法直接降級為用戶,正如用戶無法直接升級為主伺服器。
多重主伺服器複寫機制內所允許的升級與降級使得拓樸非常具有彈性。之前由用戶複本提供服務的站點可能會增大,而需要集散中心與多個複本以處理負載。如果負載包含許多複本內容修改,集散中心會變成主伺服器以允許更快速的本機變更,而能接著複寫至其他站點的其他主伺服器。
升級或降級複本時,請注意下列事項:
如果您將用戶升級,它會變成集散中心。如果您將集散中心升級,它會變成主伺服器。您無法將伺服器直接從用戶升級為主伺服器。您必須先將用戶升級為集散中心,然後再將集散中心升級為主伺服器。反之亦然,當您將主伺服器降級為用戶時,必須先將主伺服器降級為集散中心,然後才能從集散中心降級為用戶。
將主伺服器降級為集散中心時,複本會變成唯讀且會配置成傳送參照至其他主伺服器。新的集散中心會保留所有用戶,不論是集散中心或專屬用戶。
將單一主伺服器降級為集散中心會建立不含主伺服器複本的拓樸。假設您將定義新的主伺服器,目錄伺服器可讓您執行此項作業。但是,最好增加新主伺服器做為多重主伺服器並初始化該主伺服器,再降級其他主伺服器。
將集散中心降級為用戶之前,必須停用或刪除出入集散中心的所有複寫協議。若未這麼做,降級作業將失敗並出現錯誤:LDAP_OPERATIONS_ERROR “Unable to demote a hub to a read-only replica if some agreements are enabled (如果啟用某些協議,便無法將集散中心降級為唯讀的複本)”。
如果其他集散中心或主伺服器尚未更新集散中心的用戶,之後將無法更新。您應該在其他集散中心或主伺服器上建立新的協議,以更新這些用戶。
將用戶升級為集散中心時,會啟用其變更記錄,且可利用用戶定義新的協議。
將集散中心升級為主伺服器時,複本會接受修改請求,且您可利用其他主伺服器、集散中心或專屬用戶定義新的協議。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
使用下列其中一個指令升級或降級複本:
$ dsconf promote-repl -h host -p port role suffix-DN |
$ dsconf demote-repl -h host -p port role suffix-DN |
其中 role 是 master、hub 或 consumer。
停用複寫的尾碼會從複寫拓樸中移除該尾碼。若尾碼角色為主伺服器、集散中心或用戶,尾碼將再也無法更新或傳送更新。停用供應者伺服器上的尾碼會刪除所有複寫協議,且如果再次啟用複本,將必須重新建立複寫協議。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
停用複寫的尾碼。
$ dsconf disable-repl -h host -p port suffix-DN |
例如:
$ dsconf disable-repl -h host2 -p 1389 dc=example,dc=com |
在停止複寫中所包含的目錄伺服器以進行定期維護之後,必須確保當伺服器恢復連線時,能立即透過複寫取得更新。若是多重主伺服器環境中的主伺服器,必須有多重主伺服器集中的其他主伺服器更新目錄資訊。在其他情況下,集散伺服器或專屬用戶伺服器離線進行維護之後,當伺服器再次連線時,必須由主伺服器加以更新。
本節說明複寫重試演算法,並說明如何不等待下次重試便強制執行複寫更新。
本節所述的程序僅能在已設定複寫且已初始化用戶時使用。
當來源複本複寫至目標失敗時,會定期依遞增時間間隔重試。重試間隔會視錯誤類型而定。
請注意,如果所配置的複寫協議一律會使來源複本與目標複本保持同步化,光是立即更新離線超過五分鐘的複本都會不足。
如果停止複寫,您可以強制執行目標尾碼的複寫更新。
無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。
在來源伺服器上重新啟動目標伺服器的複寫更新。
$ dsconf update-repl-dest-now -h host -p port suffix-DN destination-host:destination-port |
例如:
$ dsconf update-repl-dest-now -h host2 -p 1389 dc=example,dc=com host1:1389 |
在某些情況中,可能需要將主伺服器複本移至不同的機器。若不需要使用相同的主機名稱與連接埠號碼,請使用 dsconf change-repl-dest 變更遠端複本的主機名稱與連接埠號碼。如需更多資訊,請參閱變更複寫協議的目標。
若需要保留相同的主機名稱與連接埠號碼,您必須從現有的拓樸中移除主伺服器,再將主伺服器重新加入拓樸。
由於 DSCC 會處理所有受影響的複寫協議,因此使用 DSCC 比較容易執行這些作業。但是,如果使用 DSCC,您將無法指定主伺服器在拓樸中原本就有的相同複本 ID。若要使用相同的複本 ID,您必須使用如下的指令行來執行這些作業。
請確定已複寫所有來自主伺服器的變更。
如果可以的話,請使用二進位副本備份主伺服器,以避免遺失任何變更。
將主伺服器複本降級為集線器複本。
請參閱升級或降級複本。
等候集線器啟動至其他伺服器的複寫。
當集線器開啟至拓樸中其他伺服器的複寫階段作業時,RUV 中會保留該集線器,但參照已不再使用。
停止集線器。
從拓樸中移除集線器。
請參閱停用複寫的尾碼。
使用相同複本 ID 增加主伺服器複本。
請參閱啟用主伺服器複本上的複寫。
從該主伺服器重建至拓樸中其他複本的複寫協議。
初始化新的主伺服器。