16.2. 复制相关错误、原因和可能的解决方案概述
以下是复制相关错误和可能的解决方案概述:
agmt=agreement_name (host_name:port) Replica 具有与本地数据不同的生成 ID
- reason: 在消息的括号中指定的消费者尚未成功初始化,或者从不同的根供应商初始化。
- 影响:本地供应商不会将任何数据复制到消费者。
-
解决方案 :如果在消费者初始化之前发生,则忽略此消息。否则,如果消息持久,重新初始化消费者。在多层次环境中,所有服务器都只需要从 root 供应商直接或间接初始化一次。例如,服务器
S1初始化S2和S4,S2会初始化S3,以此类推。请注意,需要注意的是,在初始化完成前,S2 不得开始初始化S2S3。为此,请从S1上的 web 控制台或S1或S2错误日志中检查总更新状态。此外,S2不应重新初始化S1。
warning: 重新载入副本的数据,它不再与更改日志中的数据匹配。重新创建 changelog 文件。这可能会影响带有副本消费者的复制,在这种情况下,应该重新初始化用户。
- 原因 :只有在重启供应商时,才会显示此消息。这表示供应商无法写入更改日志,或者没有在最后一次关闭时清除其副本更新向量(RUV)。由于磁盘空间问题,以前的情况通常是因为服务器崩溃或未正常关闭的情况。
-
影响:如果服务器的 changelog 中不再存在使用者的
maxcsn值,服务器将无法将更改发送到消费者。 - Remedy :检查磁盘空间以及服务器日志目录下可能的核心文件。如果这是单层次复制,则重新初始化用户。否则,如果服务器稍后提示它无法找到消费者的序列号(CSN),请验证消费者是否可以从其他供应商接收 CSN。如果没有,重新初始化消费者。
过长的时间偏移
- 原因:主机机器上的系统时钟非常不同步。
- 影响:目录服务器使用系统时钟生成 CSN 的一部分。为了反映多个供应商之间的更改序列,供应商将根据其他供应商的远程时钟转发其本地时钟。由于调整仅限于特定数量,超过允许的限制的任何差别都将中止复制会话。
-
remedy:通过配置
chronyd服务,同步目录服务器主机机器上的系统时钟。
agmt=agreement_name (host_name:port): Warning: Unable to send endReplication extended operation (error_message)
- reason: 消费者没有响应。
- 影响:如果消费者在没有重启的情况下恢复,则消费者中的副本会被锁定,如果它没有从供应商收到发行版本锁定消息。
- Remedy :查看消费者是否可以从任何供应商收到任何新更改,或者启动复制监控器,并查看此消费者的所有供应商是否都处于忙碌状态。如果副本似乎被锁定,且没有供应商可以获得,则重启消费者。
更改日志太大。
- 原因 :关闭更改日志清除(这是默认设置),或者更改日志清除被打开,但有些消费者在供应商后面是方法。
remedy :默认情况下,更改日志清除会被关闭。要从命令行打开它,请输入:
# dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --max-age 1d --suffix "dc=example,dc=com"1d表示 1 天。其他有效的时间单位为s(秒)、m表示分钟、h表示小时,以及w周。值0可关闭清除。打开 changelog 清除后,如果其年龄大于您设置的值,则每分钟唤醒一次清除线程会删除更改,如果它已重新执行到这个供应商或 hub 的所有直接消费者。
如果显示更改日志在达到清除阈值时没有清除,请检查所有消费者中复制监控器的最大时间。无论清除阈值是什么,所有消费者都会清除任何更改。