OCP4.3.1扩容单节点时,提示超时

【 使用环境 】生产环境
【 OB or 其他组件 】
Observer OCP
【 使用版本 】
Observer-4.2.4 OCP-4.3.1
【问题描述】清晰明确描述问题
使用OCP扩容分布式集群时,在Add observer子任务持续10分钟后超时
observer日志报错:
[2024-09-11 15:49:20.158754] ERROR [LIB] issue_dba_error (ob_log.cpp:1987) [74200][observer][T0][Y0-0000000000000001-0-0] [lt=4][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4009, file=“ob_server.cpp”, line_no=429, info=“init ObStorageLoggerManager failed”)
[2024-09-11 15:49:20.158766] EDIAG [SERVER] init (ob_server.cpp:429) [74200][observer][T0][Y0-0000000000000001-0-0] [lt=12][errcode=-4009] init ObStorageLoggerManager failed(ret=-4009, ret=“OB_IO_ERROR”) BACKTRACE:0x2504ceab 0x256e705c 0x24e1f0ea 0x24e1bcd2 0x24e1bc12 0x24e1ba77 0xb8dd03c 0xb8d1c7d 0x7fe4b0e 0x7f529d923d85 0x5e8fa4e

【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

3 个赞

用户问题: “在使用 OCP 4.3.1 对 OceanBase 4.2.4 版本的集群进行扩容单个 Observer 节点时出现了超时现象,并且报错了错误代码 -4009,应该如何解决这个问题?”

推荐使用 obdiag 工具进行日志采集,并且将采集到的日志提供给我们以便确认问题所在。

日志采集场景: IO问题
日志采集命令: obdiag gather scene run --scene=observer.io

该命令会帮助我们收集与 IO 相关的日志信息,便于进一步分析问题原因。另外,为了更准确地定位问题,请您提供一些额外的信息:

  1. 扩容操作是在什么样的负载情况下进行的?
  2. 是否有其他并发操作正在进行,例如备份、恢复或其他 DDL 操作?
  3. 扩容前集群的状态如何,是否有任何异常警告或错误?
  4. 报错的具体信息是什么?能否提供完整的错误信息或日志片段?
  5. 扩容失败后,集群当前的状态如何?

请您执行上述命令并将生成的日志压缩包发送给我们,以便于我们进一步分析问题。

检索到的文档如下:

  1. 10000 ~ 12000
  2. 4000 ~ 4499
  3. 数据备份失败
  4. 900.9000-9499-of-mysql-mode.md
  5. 4500 ~ 4999

附上敏捷诊断工具 obdiag 使用帮助链接

2 个赞

麻烦下载发下完整的任务日志,observer.log,rootservice.log

1 个赞

observer.log (33.5 MB)
rootservice.log (5.8 KB)

2 个赞

根据您提供的日志文件以及问题描述,您在使用OCP对Observer节点进行扩容时遇到了超时问题,并且在日志中发现了错误码-4009。错误码-4009通常表示IO相关的系统调用失败,这可能是由于磁盘IO问题、文件系统权限问题或其他与IO操作有关的问题引起的 [8]

从您提供的日志文件中,我们可以看到以下关键信息:

  1. 错误码-4009init ObStorageLoggerManager failed(ret=-4009, ret="OB_IO_ERROR"),这表明在初始化存储日志管理器时发生了IO错误。
  2. 超时信息[2024-09-11 15:49:20.158754] ERROR [LIB] issue_dba_error (ob_log.cpp:1987) [74200][observer][T0][Y0-0000000000000001-0-0] [lt=4][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4009, file="ob_server.cpp", line_no=429, info="init ObStorageLoggerManager failed"),这表明在初始化过程中发生了内部错误,并且具体指向了IO错误。

解决方案建议

  1. 检查磁盘IO性能:确保磁盘没有达到性能瓶颈,可以通过监控工具检查磁盘的读写延迟和吞吐量。
  2. 检查文件系统状态:确认文件系统的健康状态,包括是否有损坏的文件或分区,可以使用fsck命令进行检查。
  3. 检查磁盘空间:确保有足够的磁盘空间来完成日志初始化操作,不足的空间可能导致IO错误。
  4. 检查权限问题:确认日志文件所在的目录和文件权限正确,允许Observer进程进行读写操作。

进一步排查步骤

  1. 查看日志文件:检查observer.logrootservice.log文件中是否有更多的错误信息,特别是与IO相关的错误。
  2. 联系技术支持:如果上述步骤无法解决问题,建议联系OceanBase的技术支持团队进行进一步排查。他们可能需要更多的系统信息来进行深入分析。

日志文件分析

  • observer.log:这个文件通常包含了Observer运行时的日志信息,可以帮助我们了解Observer在启动和运行过程中的状态。
  • rootservice.log:这个文件包含了Root Service的日志信息,可以帮助我们了解集群管理和元数据操作的情况。

请根据上述建议进行初步排查,并考虑联系OceanBase的技术支持团队以获得更详细的帮助。如果您有更多的日志信息或系统状态信息,请提供给我们以便进一步分析。

具体信息可参考以下文档:

  1. 日志
  2. ob_host_task_timeout OBServer 任务超时
  3. 日志概述
  4. 优化日志同步性能
  5. OCP 配置参数列表
  6. 安全审计
  7. OB 日志告警
  8. OceanBase 云平台概览
  9. 错误日志

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)

2 个赞

1.检查下磁盘IO /var/log/message
2.发下ocp完整的任务日志

2 个赞

系统IO没有发现异常
ocp-server.log (26.1 MB)

2 个赞

扩容节点时ocp会创建一个任务,这里的任务日志,麻烦点击下载上传下

2 个赞

log_task_4048203.zip (30.0 KB)

2 个赞

好的,这个问题我反馈研发进一步分析下,有进展尽快回复你

2 个赞

slog目录没有创建出来,我们复现下这个问题

[2024-09-11 15:49:20.158490] WDIAG [STORAGE.REDO] check_log_disk (ob_storage_logger_manager.cpp:321) [74200][observer][T0][Y0-0000000000000001-0-0] [lt=11][errcode=-4009] fail to get slog directory vfs(ret=-4009, log_dir="/data/oceanbase/slog")
[2024-09-11 15:49:20.158503] WDIAG [STORAGE.REDO] init (ob_storage_logger_manager.cpp:69) [74200][observer][T0][Y0-0000000000000001-0-0] [lt=13][errcode=-4009] fail to set need reserved(ret=-4009)
[2024-09-11 15:49:20.158754] ERROR [LIB] issue_dba_error (ob_log.cpp:1987) [74200][observer][T0][Y0-0000000000000001-0-0] [lt=4][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4009, file=“ob_server.cpp”, line_no=429, info=“init ObStorageLoggerManager failed”)

1 个赞

1.麻烦问下 源OB集群是OCP部署的 还是OBD部署然后OCP接管的?
2.分别看下35.6,35.7的/data/oceanbase目录内容
ls /data/oceanbase

1 个赞

是ocp部署的,我重置服务器,重新部署了ob4.2.4的三节点集群,然后又有新的问题了

1 个赞

上面那个问题我们还在排查中,新问题是什么问题呢?

麻烦确认下ocp_agent版本
root用户执行:/home/admin/ocp_agent/bin/ocp_agentctl version

1 个赞

现在有进展了吗?
一个类似的案例,通过OCP431接管OBD部署的集群后,再 add server、add zone会出现这个现象,已确认为ocp bug,在ocp 432 修复

这个在hotfix版本修复了,已解决

好的,谢谢