Sun Java System Directory Server Enterprise Edition 6.2 管理指南

修改複寫拓樸

本節說明管理現有複寫拓樸的以下幾方面:

變更複寫管理員

您可以編輯複寫協議,以變更用以連結至用戶伺服器的複寫管理員身份識別。若要避免複寫中斷,請在用戶上定義新的複寫管理員項目或憑證項目,再修改複寫協議。但是,如果複寫因為連結失敗而中斷,複寫機制將在複寫回復設定的限制內,於更正錯誤時自動傳送所有必要的更新。如需相關程序,請參閱使用非預設複寫管理員

管理複寫協議

您可以停用、啟用或刪除複寫協議。

停用複寫協議。

停用複寫協議時,主伺服器會停止傳送更新給指定的用戶。複寫到該伺服器的動作會停止,但是會保留協議中所有的設定。您可能會在稍後重新啟用協議而繼續複寫。如需有關中斷之後繼續複寫機制的資訊,請參閱啟用複寫協議

Procedure停用複寫協議。

您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 停用複寫協議。


    $ 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

啟用複寫協議

啟用複寫協議會繼續指定用戶的複寫。但是,如果複寫中斷的時間比複寫回復設定所允許的時間長,且其他供應者尚未更新用戶,就必須重新初始化用戶。複寫回復設定的大小為此供應者變更記錄的大小上限以及用戶清除延遲之最長存在期限 (請參閱執行進階用戶配置)。

當中斷時間很短且複寫可以回復時,主伺服器將會在重新啟用協議時自動更新用戶。

Procedure啟用複寫協議

您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 啟用複寫協議。


    $ 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

刪除複寫協議。

刪除複寫協議時會停止對應用戶的複寫,並會移除關於協議的所有配置資訊。若要在稍後繼續複寫,請改以停用複寫協議。中所述停用協議。

Procedure刪除複寫協議

您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 刪除複寫協議。


    $ 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

升級或降級複本

升級或降級複本會變更其在複寫拓樸中的角色。專屬用戶可升級為集散中心,而集散中心可升級為主伺服器。主伺服器可降級為集散中心,而集散中心也可降級為專屬用戶。但是,主伺服器無法直接降級為用戶,正如用戶無法直接升級為主伺服器。

多重主伺服器複寫機制內所允許的升級與降級使得拓樸非常具有彈性。之前由用戶複本提供服務的站點可能會增大,而需要集散中心與多個複本以處理負載。如果負載包含許多複本內容修改,集散中心會變成主伺服器以允許更快速的本機變更,而能接著複寫至其他站點的其他主伺服器。

升級或降級複本時,請注意下列事項:

Procedure升級或降級複本

您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 使用下列其中一個指令升級或降級複本:


    $ dsconf promote-repl -h host -p port role suffix-DN
    

    $ dsconf demote-repl -h host -p port role suffix-DN
    

    其中 rolemasterhubconsumer

停用複寫的尾碼

停用複寫的尾碼會從複寫拓樸中移除該尾碼。若尾碼角色為主伺服器、集散中心或用戶,尾碼將再也無法更新或傳送更新。停用供應者伺服器上的尾碼會刪除所有複寫協議,且如果再次啟用複本,將必須重新建立複寫協議。

Procedure停用複寫的尾碼

您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 停用複寫的尾碼。


    $ dsconf disable-repl -h host -p port suffix-DN
    

    例如:


    $ dsconf disable-repl -h host2 -p 1389 dc=example,dc=com

保持複寫的尾碼同步化

停止複寫中所包含的目錄伺服器以進行定期維護之後,必須確保當伺服器恢復連線時,能立即透過複寫取得更新。若是多重主伺服器環境中的主伺服器,必須有多重主伺服器集中的其他主伺服器更新目錄資訊。在其他情況下,集散伺服器或專屬用戶伺服器離線進行維護之後,當伺服器再次連線時,必須由主伺服器加以更新。

本節說明複寫重試演算法,並說明如何不等待下次重試便強制執行複寫更新。


備註 –

本節所述的程序僅能在已設定複寫已初始化用戶時使用。


複寫重試演算法

當來源複本複寫至目標失敗時,會定期依遞增時間間隔重試。重試間隔會視錯誤類型而定。

請注意,如果所配置的複寫協議一律會使來源複本與目標複本保持同步化,光是立即更新離線超過五分鐘的複本都會不足。

Procedure強制執行複寫更新

如果停止複寫,您可以強制執行目標尾碼的複寫更新。

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

  1. 在來源伺服器上重新啟動目標伺服器的複寫更新。


    $ 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,您必須使用如下的指令行來執行這些作業。

Procedure從現有的複寫拓樸中移除主伺服器

開始之前

請確定已複寫所有來自主伺服器的變更。

  1. 如果可以的話,請使用二進位副本備份主伺服器,以避免遺失任何變更。

  2. 將主伺服器複本降級為集線器複本。

    請參閱升級或降級複本

  3. 等候集線器啟動至其他伺服器的複寫。

    當集線器開啟至拓樸中其他伺服器的複寫階段作業時,RUV 中會保留該集線器,但參照已不再使用。

  4. 停止集線器。

    請參閱啟動、停止與重新啟動目錄伺服器實例

  5. 從拓樸中移除集線器。

    請參閱停用複寫的尾碼

Procedure將主伺服器增加至現有的複寫拓樸

  1. 使用相同複本 ID 增加主伺服器複本。

    請參閱啟用主伺服器複本上的複寫

  2. 從該主伺服器重建至拓樸中其他複本的複寫協議。

  3. 初始化新的主伺服器。

    1. 如果您之前可以備份主伺服器,請從此備份初始化主伺服器。

    2. 如果您之前無法備份主伺服器 (例如因為當機),請從拓樸中的其他主伺服器初始化該主伺服器。