故障排查GitHub issue4 分钟阅读排错/错误码

解决FastGPT 4.9.6私有部署中observer启动失败的排查与修复

部署FastGPT 4.9.6私有版本时,observer服务启动失败。启动日志中出现以下警告与报错: 1.

现象

部署FastGPT 4.9.6私有版本时,observer服务启动失败。启动日志中出现以下警告与报错:

  1. 系统参数警告:core file size当前值为0(推荐unlimited)、stack size当前值为8192(推荐unlimited)、vm.maxmapcount当前值262144(推荐655360)、vm.overcommit_memory当前值1(推荐0)。
  2. 磁盘警告:clog与数据目录使用同一块磁盘/root/ob。
  3. 最终报错:[WARN] OBD-2002: Failed to start 127.0.0.1 observer,附带Trace ID 275b4f8a-21a4-11f0-8bd6-0242ac120003,可通过obd display-trace 275b4f8a-21a4-11f0-8bd6-0242ac120003查看详细日志。

可能原因

根据日志信息,启动失败的可能原因包括:

  1. 系统内核参数未达到运行的推荐配置。
  2. clog与数据目录挂载至同一块磁盘,不符合存储要求。
  3. 未配置足够的资源限制参数,如core文件大小、栈大小等。

排查步骤

  1. 执行命令obd display-trace 275b4f8a-21a4-11f0-8bd6-0242ac120003,查看启动的详细日志,确认具体报错细节。
  2. 检查当前系统参数:通过sysctl vm.max_map_count vm.overcommit_memory查看对应参数值,通过ulimit -culimit -s查看core文件大小与栈大小。
  3. 查看clog与数据目录的挂载情况,确认是否使用同一块磁盘。
  4. 核对集群场景配置,确认是否为htap模式。

解决与验证

  1. 调整系统参数:
    • 临时调整vm.maxmapcount为655360:sudo sysctl -w vm.max_map_count=655360,永久配置需写入/etc/sysctl.conf,添加vm.max_map_count=655360后执行sysctl -p生效。
    • 临时调整vm.overcommitmemory为0:`sudo sysctl -w vm.overcommitmemory=0,永久配置写入/etc/sysctl.conf并执行sysctl -p`。
    • 调整core文件大小与栈大小:编辑/etc/security/limits.conf,添加"* soft core unlimited""* hard core unlimited""* soft stack unlimited""* hard stack unlimited",重启会话后生效。
  2. 调整磁盘挂载:将clog目录与数据目录分别挂载至不同磁盘,避免同盘存储。
  3. 重启相关服务:执行obd cluster restart [你的集群名称],查看启动日志是否不再出现相关警告。
  4. 验证修复效果:执行obd cluster list,确认127.0.0.1的observer状态为running。

来源:FastGPT GitHub issue