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

修改复制拓扑

本部分从以下几个方面介绍如何管理现有复制拓扑:

更改复制管理员

可以编辑复制协议以更改用于绑定到使用方服务器的复制管理员标识。为了避免复制中断,应该在使用方上定义新的复制管理员条目或证书条目,然后再修改复制协议。但是,如果复制由于绑定失败而中断,复制机制将在您更正错误时自动发送所有必要的更新,此过程将在复制恢复设置的限制下完成。有关过程,请参见使用非默认复制管理员

管理复制协议

可以禁用、启用或删除复制协议。

禁用复制协议。

禁用复制协议时,主服务器将停止向指定的使用方发送更新。到该服务器的复制将会停止,但协议中的所有设置将被保留。您可以稍后通过重新启用此协议来恢复复制。有关在复制中断后恢复复制机制的信息,请参见启用复制协议

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 enable-repl-agmt -h host -p port suffix-DN consumer-host:consumer-port
    

    例如:


    $ dsconf enable-repl-agmt -h host2 -p 1389 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. 如果无法备份主服务器(在计算机发生崩溃的情况下),请通过拓扑中的其他主服务器初始化该主服务器。