1.2. 使用命令行将现有服务器配置为消费者的供应商
要准备 provider .example.com 主机,您需要:
- 为后缀启用复制。
- 创建到消费者的复制协议。
- 初始化消费者。
在复制拓扑中的现有供应商上执行这个步骤。
前提条件
-
您在使用者上启用了
dc=example,dc=com后缀的复制。
流程
为
dc=example,dc=com后缀启用复制:# dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication enable --suffix "dc=example,dc=com" --role "supplier" --replica-id 1此命令将 provider.
example.com主机配置为dc=example,dc=com后缀的供应商,并将此条目的副本 ID 设置为1。重要对于拓扑中的所有供应商,副本 ID 必须是
1到65534之间的唯一整数。添加复制协议并初始化消费者:
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt create --suffix "dc=example,dc=com" --host "consumer.example.com" --port 389 --conn-protocol=LDAP --bind-dn "cn=replication manager,cn=config" --bind-passwd "password" --bind-method=SIMPLE --init example-agreement此命令创建名为
example-agreement的复制协议。复制协议定义设置,如消费者的主机名、协议和身份验证信息,如供应商在将数据连接和复制到此消费者时使用的身份验证信息。创建协议后,目录服务器会初始化
consumer.example.com。根据要复制的数据量,初始化可能会非常耗时。
验证
显示复制配置:
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com replication get --suffix "dc=example,dc=com" dn: cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config ... nsDS5ReplicaRoot: dc=example,dc=com nsDS5ReplicaType: 3 ...这些参数表示:
-
nsDS5ReplicaRoot设置复制的后缀。 -
nsDS5ReplicaType设置为3定义此主机是一个供应商。
-
验证初始化是否成功:
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt init-status --suffix "dc=example,dc=com" example-agreement Agreement successfully initialized.显示复制状态:
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com repl-agmt status --suffix "dc=example,dc=com" example-agreement Status For Agreement: "example-agreement" (consumer.example.com:389) Replica Enabled: on Update In Progress: FALSE Last Update Start: 20210330075608Z Last Update End: 20210330075608Z Number Of Changes Sent: 1:3/0 Number Of Changes Skipped: None Last Update Status: Error (0) Replica acquired successfully: Incremental update succeeded Last Init Start: 20210330074603Z Last Init End: 20210330074606Z Last Init Status: Error (0) Total update succeeded Reap Active: 0 Replication Status: Not in Synchronization: supplier (6062d73c000000010000) consumer (Unavailable) State (green) Reason (error (0) replica acquired successfully: incremental update succeeded) Replication Lag Time: Unavailable验证
Replication Status和Last Update Status字段。
故障排除
默认情况下,服务器上所有协议的复制闲置超时为 1 小时。如果因为超时而导致大型数据库的初始化失败,请将
nsslapd-idletimeout参数设置为更高的值。例如,要将参数设置为7200(2 小时),请输入:# dsconf -D "cn=Directory Manager" ldap://supplier.example.com config replace nsslapd-idletimeout=7200要设置无限周期,请将
nsslapd-idletimeout设置为0。