故障排查

OM HA 快照安装

师成师成· 更新于 2026-09-28· 阅读 2 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

当一个新的 Ozone Manager(OM)被添加到现有的 OM HA 集群时,它需要从 leader OM 获取最新的 OM DB snapshot。在 OM DB 非常大的情况下,新 OM 可能会陷入不断尝试下载 snapshot 的循环。这种情况可能发生在 leader OM 在新 OM 完成下载之前就清除了与该 snapshot 关联的 Raft 日志。此时,新 OM 将不得不重新开始下载 snapshot,整个过程可能会无限重复。

为了避免这个问题,你可以在 leader OM 上配置以下属性:

  1. 将 ozone.om.ratis.log.purge.preservation.log.num 设置为一个较大的值(例如 1000000)。该属性控制 leader OM 上保留多少条 Raft 日志。将其设置为较大的值,可以防止 leader 清除新 OM 追赶所需的日志。这是一种更为均衡的做法,确保保留一部分日志,以便它们可以被复制到落后的 follower(而不是安装 snapshot);但如果日志数量超过该值,OM leader 将清除日志以防止磁盘被写满。
  2. 将 ozone.om.ratis.log.purge.upto.snapshot.index 设置为 false。该属性会阻止 leader OM 在所有 follower 完成最新 snapshot 安装之前清除任何日志。这样可以确保新 OM 有足够的时间下载并安装 snapshot,而不会日志被清除。这是一种风险更大的做法,因为在 OM follower 长时间宕机的情况下,它可能导致 Raft 日志无限增长,进而导致 OM 元数据目录被写满。

注意

如果 ozone.om.ratis.log.purge.preservation.log.num 被设置为非零值,建议将 ozone.om.ratis.log.purge.upto.snapshot.index 保持为 true(默认值),因为 ozone.om.ratis.log.purge.upto.snapshot.index 会覆盖保留配置。因此,这两个属性不应同时设置。

通过调整这两个参数,你可以避免 OM snapshot 安装循环,并成功地将新 OM 添加到你的 HA 集群中。

评论

登录后参与评论

正在加载评论…