11.3. 配置供应商以避免发生重复副本
此流程描述了如何在供应商上设置参数,以防止对副本进行 monopolization。
由于环境和负载的区别,仅设置与您的情况相关的参数,并根据您的环境调整值。
前提条件
- 复制拓扑中有多个供应商。
-
目录服务器频繁记录
Replica Busy!Status: [Error (1) Replication error acquiring replica: replica busy]
错误。
流程
设置
nsds5ReplicaBusyWaitTime
参数,以配置供应商在启动另一个尝试在副本发送忙碌响应后获取对副本的访问前等待的时间:dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --busy-wait-time 5 replication_agreement_name
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --busy-wait-time 5 replication_agreement_namedsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --busy-wait-time 5 replication_agreement_namedsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --busy-wait-time 5 replication_agreement_namedsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --busy-wait-time 5 replication_agreement_namedsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --busy-wait-time 5 replication_agreement_namedsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --busy-wait-time 5 replication_agreement_name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令设定等待
5
秒的时间。此设置仅适用于指定的复制协议。设置
nsds5ReplicaSessionPauseTime
参数,以配置供应商在两个更新会话之间等待的时间:dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --session-pause-time 15 replication_agreement_name
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --session-pause-time 15 replication_agreement_namedsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --session-pause-time 15 replication_agreement_namedsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --session-pause-time 15 replication_agreement_namedsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --session-pause-time 15 replication_agreement_namedsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --session-pause-time 15 replication_agreement_namedsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --suffix "dc=example,dc=com" --session-pause-time 15 replication_agreement_name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令将 pause 设为
15
秒。默认情况下,nsds5ReplicaSessionPauseTime
是nsds5ReplicaBusyWaitTime
中的值之一。此设置仅适用于指定的复制协议。设置
nsds5ReplicaReleaseTimeout
参数,以便在给定时间后终止复制会话,而不考虑是否发送更新是否完成:dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication set --suffix "dc=example,dc=com" --repl-release-timeout 90
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication set --suffix "dc=example,dc=com" --repl-release-timeout 90dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication set --suffix "dc=example,dc=com" --repl-release-timeout 90dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication set --suffix "dc=example,dc=com" --repl-release-timeout 90dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication set --suffix "dc=example,dc=com" --repl-release-timeout 90
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令将超时设置为
90
秒。此设置适用于指定后缀的所有复制协议。可选:为供应商设置一个超时时间,使其不会保持连接到消费者无限尝试通过缓慢或有问题的连接发送更新:
dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --conn-timeout 600 --suffix "dc=example,dc=com" replication_agreement_name
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --conn-timeout 600 --suffix "dc=example,dc=com" replication_agreement_namedsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --conn-timeout 600 --suffix "dc=example,dc=com" replication_agreement_namedsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --conn-timeout 600 --suffix "dc=example,dc=com" replication_agreement_namedsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --conn-timeout 600 --suffix "dc=example,dc=com" replication_agreement_namedsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --conn-timeout 600 --suffix "dc=example,dc=com" replication_agreement_namedsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt set --conn-timeout 600 --suffix "dc=example,dc=com" replication_agreement_name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令将超时设置为
600
秒(10 分钟)。要识别 optimum 值,请检查访问日志是否有复制过程的平均时间,并相应地设置超时时间。