You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chef Server突发sqerl池启动失败问题求助

排查Chef Server突发数据库连接失败问题

嘿,你的Chef Server突然罢工确实头疼!从你贴的错误日志和chef-server-ctl status输出来看,核心问题是Chef的核心组件(尤其是opscode-pushy-server)无法正常建立PostgreSQL数据库连接——日志里的econnrefused和PostgreSQL错误码<<"57P03">>是关键线索:57P03对应的是PostgreSQL的「数据库正在启动中」或者「进入维护模式」,虽然status显示PostgreSQL网络连通正常,但这个检测只是基础的端口可达性,实际数据库可能没法处理连接请求。

下面是一步步的排查修复步骤,按顺序来:

1. 先确认PostgreSQL的真实运行状态

别光信chef-server-ctl status的提示,直接登到PostgreSQL所在的服务器(10.0.1.86)做实际检查:

# 查看PostgreSQL进程是否真的在正常运行
ps aux | grep postgres

# 翻PostgreSQL日志找异常(Omnibus安装的Chef,日志路径一般是这个)
tail -n 50 /var/opt/opscode/postgresql/9.6/log/postgresql.log

重点找有没有database is in recovery、max_connections exceeded或者maintenance mode这类关键词,这些都是导致连接被拒的常见原因。

2. 检查PostgreSQL的连接数是否耗尽

如果数据库的连接数被占满,新的连接请求也会被拒绝。登录PostgreSQL执行:

-- 统计当前活跃连接数
SELECT count(*) FROM pg_stat_activity;
-- 查看配置的最大连接数上限
SHOW max_connections;

如果当前连接数接近或达到上限,需要修改postgresql.conf里的max_connections参数(比如调到200),然后重启PostgreSQL服务:

# Omnibus安装的Chef,重启PostgreSQL用这个命令
chef-server-ctl restart postgresql

3. 单独修复opscode-pushy-server的连接问题

日志里报错最多的就是这个组件,先单独重启它试试:

chef-server-ctl restart opscode-pushy-server

重启后再看日志有没有57P03错误。如果还有,手动验证它的数据库配置:

# 查看pushy-server的数据库配置文件
cat /var/opt/opscode/opscode-pushy-server/etc/sqerl.conf

确认里面的主机、端口、用户名、密码都正确,然后手动用这些参数连接数据库测试:

psql -h 10.0.1.86 -U opscode_pushy -d opscode_pushy

如果手动连不上,就得排查PostgreSQL的用户远程连接权限(比如pg_hba.conf里有没有允许Chef Server的IP访问),或者服务器之间的防火墙规则。

4. 按依赖顺序重启所有Chef组件

如果单个组件重启没用,就按「数据库优先」的顺序重启所有依赖数据库的组件:

# 先停掉所有需要数据库的组件
chef-server-ctl stop opscode-erchef opscode-pushy-server oc_bifrost oc_id
# 重启PostgreSQL
chef-server-ctl restart postgresql
# 等30秒让数据库完全启动,别着急起其他组件
sleep 30
# 再启动之前停掉的组件
chef-server-ctl start opscode-erchef opscode-pushy-server oc_bifrost oc_id

最后再检查一遍所有组件状态:

chef-server-ctl status

5. 别忘了检查磁盘空间

如果PostgreSQL所在的磁盘满了,数据库也会进入异常状态,连不上是常事:

df -h /var/opt/opscode/postgresql

如果磁盘使用率超过90%,赶紧清理旧日志、备份文件,或者扩展磁盘空间。


内容的提问来源于stack exchange,提问作者Meet Dave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:01:38