我们遇到过这样的情况:在 RHEL 上我们无法启动正在运行的应用程序,并且我们刚刚停止了。
sudo systemctl start myservice
我们无权访问journald
该服务器上的日志,因此服务器的状态是一个谜。
应用程序实例没有“启动”,因为它记录了详细的日志,但应用程序日志没有被触及。
我的朋友过来并在这个盒子上运行了傀儡代理更新:
puppet agent --environment=production --test
之后 - 我们可以停止和启动服务。
据我所知,木偶有能力删除和创建服务,也有“守护进程重新加载”的能力。即类似的东西
systemctl stop [servicename]
systemctl disable [servicename]
rm /etc/systemd/system/[servicename]
systemctl daemon-reload
systemctl reset-failed
现在回想起来我意识到我应该逃跑
sudo systemctl reset-failed
我正在尝试弄清楚木偶做了什么具体的事情来让“卡住”的服务正常工作。
我的问题是:puppet 如何修复 systemctl 拒绝启动服务的“卡住”systemctl 服务?
答案1
我访问了journald
日志并发现了以下内容。
有趣的是,如果磁盘已满,服务将无法启动。
Puppet运行时可以选择运行一个
yum clean all
这解决了问题并使服务能够启动。