【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】4.2.1
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
5个zone,5个副本,10台机器。租户分配的unit个数为2,每个unit基本用尽了一台机器的所有资源。当一台服务器故障了启动不了了,这个故障服务器的数据会自动迁移到同zone下面的另外一台机器上吗?同zone下的另外一台服务器上的observer里面的数据还可以正常使用吗?还是所有的数据都是4副本了?@论坛小助手
2 个赞
论坛小助手
#3
日志采集场景: 集群基础信息
日志采集命令: obdiag gather scene run --scene=observer.base
为了更好地分析和确认问题,请您按照上述命令进行日志采集,并将采集到的日志提供给我们以便进一步确认问题所在。此外,还需要您提供以下信息:
- 当服务器故障无法启动时,是否观察到数据迁移的相关日志或告警信息?
- 同一 zone 下其他机器上的 observer 是否有出现异常状态(如负载变化、错误日志等)?
- 故障服务器上的数据是否配置了多副本策略,具体副本分布情况能否提供?
- 在服务器故障后,租户的业务是否受到影响?如果有影响,具体表现是什么?
- 是否可以通过
SHOW TABLET
或类似命令查看当前的数据副本分布情况?如果可以,请提供相关输出结果。
通过以上信息,我们可以更准确地判断数据迁移及副本可用性的情况。
附上敏捷诊断工具 obdiag 使用帮助链接
1 个赞
淇铭
#5
你可以参考这个图 理解一下 数据分布的leader节点不一样 就会不同
2 个赞
论坛小助手
#8
根据文档库中的信息,当您新增一台服务器并希望了解同步进度时,可以通过以下方式查看日志同步进度:
-
查看日志同步进度
根据文档片段《查看日志同步进度》的描述,您可以使用视图来实时查看备租户的日志同步进度。具体步骤如下:
-
理解同步进度计算规则
- 每个租户至少有两个日志流(系统日志流和普通日志流)。
- 备租户总的同步进度为每个日志流同步进度的最小值。
-
优化同步性能(可选)
如果同步进度较慢,可以参考文档《优化日志同步性能》中的建议进行调优。例如,检查网络带宽、调整日志传输参数等。
注意事项
- 新增服务器后,OceanBase 会自动将数据副本迁移到新服务器上,并开始同步日志。
- 同步进度仅在备租户进入持续同步模式后才能通过视图查看。
- 如果需要更详细的诊断信息,可以结合
GV$OB_PX_WORKER_STAT
或其他系统视图进行分析。
如果您无法看到同步进度,请确认新服务器是否已成功加入集群,并且相关租户的副本分布是否已更新。如果仍有疑问,可以提供更多信息以便进一步排查。
检索到的文档如下:
- 查看日志同步进度
- V$OB_COMPACTION_PROGRESS
- 暂停或开启日志同步
- 优化日志同步性能
- 并行执行问题诊断
- 并行查询的参数调优
- 查看数据备份进度
- 400.view-the-log-synchronization-progress.md
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
独善其身
#10
建议理解一下原生分布式数据库的运行原理,特别是oceanbase
淇铭
#11