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

通过 WAN 执行复制

目录服务器允许您执行所有形式的复制,包括通过广域网 (Wide Area Network, WAN) 连接的计算机之间的多主复制。此复制允许提供方服务器在初始化和更新使用方时,在具有较高时延和较低带宽的网络上以最佳方式使用带宽。


注 –

对通过 WAN 复制的复制拓扑进行部署和故障排除时,必须检查网络速度、时延和数据包丢失情况。上述任一方面的网络问题都可能会导致复制延迟。

此外,复制数据传输速率将始终低于可用物理介质所允许的速率(在带宽方面)。如果副本之间的更新量无法实际符合可用带宽,则调整操作将无法阻止各个副本在较重的更新负载下产生差异。复制延迟和更新性能由许多因素决定,包括但不限于以下因素:修改率、条目大小、服务器硬件、错误率、平均时延和平均带宽。

如果您的环境中存在复制方面的问题,请与 Sun 服务提供商联系。


默认情况下,复制机制的内部参数针对 WAN 进行了优化。但是,如果由于以上因素导致您的复制速度很慢,则可能需要根据经验调整窗口大小和组大小参数。您还可以安排复制以避开高峰网络时间,从而改善整个网络的使用情况。最后,目录服务器还支持复制数据压缩,以优化带宽使用。

配置网络参数

窗口和组网络参数确定了复制机制如何对条目进行分组,以便通过网络更有效地发送这些条目。这些参数会影响提供方和使用方交换复制更新消息和确认的方式。可以在每个复制协议中配置这些参数,以便您根据每个使用方的特定网络条件调整复制性能。

请监视您所做的任何修改的效果,并相应地调整这些参数。有关说明,请参见获取复制状态。您不必中断复制来修改窗口大小和组大小参数。

配置窗口大小

窗口大小(默认值为 10)表示在无需使用方立即确认的情况下可以发送的更新消息的最大数目。

与发送每条消息后等待确认相比,快速连续地发送多个消息效率更高。使用适当的窗口大小,可以缩短副本等待复制更新或确认到达所花费的时间。

如果使用方副本落后于提供方,请将窗口大小调整为比默认值更大的值(如 100),并在进一步调整之前再次检查复制性能。当复制更新速率很高而使得更新之间的时间较短时,甚至由局域网 (Local Area Network, LAN) 连接的副本都能从较大的窗口大小中获益。

Procedure配置窗口大小

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 修改窗口大小。


    $ dsconf set-repl-agmt-prop -h host -p port suffix-DN consumer-host:consumer-port transport-window-size:value
    

    例如:


    $ dsconf set-repl-agmt-prop -h host2 -p 1389 dc=example,dc=com host1:1389 \
     transport-window-size:20

配置组大小

组大小(默认值为 1)表示可以绑到单个更新消息中的数据修改的最大数目。如果网络连接似乎要妨碍复制,请将组大小调整为比默认值更大的值(如 10),然后重新检查复制性能。

增加组大小时,请确保满足以下条件:

Procedure配置组大小

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 修改组大小。


    $ dsconf set-repl-agmt-prop -h host -p port suffix-DN \
     consumer-host:consumer-port transport-group-size:value
    

    例如:


    $ dsconf set-repl-agmt-prop -h host2 -p 1389 dc=example,dc=com host1:1389 \
     transport-group-size:10

安排复制操作

如果没有必要立即实现副本之间的同步,则可以在网络使用率较低的时段安排复制。当可用的网络资源较多时,完成数据复制的过程应明显加快。

可以将复制安排在一天中的特定时间(基于每天或每周)开始和结束。可以通过每个使用方的复制协议独立为每个使用方执行此操作。新的计划将立即生效,这会导致相应使用方的下一个数据复制出现延迟,直到此计划允许的第一个复制完成为止。

Procedure安排复制操作

可使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。

  1. 修改复制计划。


    $ dsconf set-repl-agmt-prop -h host -p port suffix-DN \
     host:port repl-schedule:value
    

    例如,如果要将复制设置为在每天凌晨 2:00 到 4:00 之间发生,请键入:


    $ dsconf set-repl-agmt-prop -h host2 -p 1389 dc=example,dc=com host1:1389 \
     repl-schedule:"0200-0400 0123456"

    其中 0123456 表示一周内的各天,0 表示星期日,1 表示星期一,依此类推。

配置复制压缩

要减小复制所使用的带宽,可以将复制配置为在更新使用方时压缩所发送的数据。复制机制使用 Zlib 压缩库。提供方和使用方都必须在 Solaris 或 Linux 平台上运行才能启用压缩。

应该根据经验测试并选择压缩级别,以便在 WAN 环境中使用预期复制时获得最佳结果。请勿在网络带宽很高的 LAN 中设置此参数,因为压缩和解压缩计算会降低复制速度。

Procedure配置复制压缩

无法使用 DSCC 执行此任务。请使用命令行,如以下过程所述。

  1. 在主服务器中的复制协议条目上配置复制压缩。


    $ dsconf set-repl-agmt-prop -h host -p port suffix-DN \
     consumer-host:consumer-port transport-compression:level
    

    其中 level 可以为 highmediumlownone

    例如,要在将复制更新发送到 host1:1389 上的使用方时使用最快速的压缩,请键入:


    $ dsconf set-repl-agmt-prop -h host2 -p 1389 dc=example,dc=com host1:1389 \
     transport-compression:high

    有关设置压缩级别的详细信息,请参见《Sun Java System Directory Server Enterprise Edition 6.3 Reference》