3.4. 恢复包含复制条目的数据库
恢复供应商服务器时可能会出现几个情况:
消费者服务器也会恢复。
在不太可能的情况下,所有数据库都会同时从备份中恢复(因此数据同步),用户仍然与供应商同步,不需要执行任何其他操作。复制可在不中断的情况下恢复。
只恢复供应商。
如果只恢复供应商,或者消费者在不同时间从备份中恢复,请重新初始化供应商的用户来更新数据库中的数据。
changelog 条目尚未在供应商服务器上过期。
如果因为进行数据库备份以来供应商的 changelog 没有过期,则恢复本地消费者并继续正常操作。只有在备份在超过最大更改期限属性
nsslapd-changelogmaxage
( cn=changelog,cn=database_name
,cn=ldbm database,cn=plugins,cn=plugins,cn=plugins,cn=config 条目)设置的值时,才会发生此情况。目录服务器自动检测副本及其更改日志之间的兼容性。如果检测到不匹配,服务器会删除旧的 changelog 文件,并创建一个新的空更改文件。
自本地备份起,更改日志条目已在供应商服务器上过期。
如果 changelog 条目已过期,请重新初始化消费者。
例 3.1. 恢复目录服务器复制拓扑
要恢复复制环境中的所有服务器,由两个供应商和两个消费者服务器组成:
- 使用 restore 或 import 重新初始化第一个供应商。
使用复制在线初始化剩余的服务器:
- 从第一个供应商初始化第二个供应商。
- 初始化来自供应商的消费者。
- 在每个服务器上,显示复制状态以验证复制是否正常工作。
在恢复操作过程中,与恢复的数据库关联的 changelog 将被删除。将消息记录到供应商服务器的日志文件,表示需要重新初始化。