记一次rsyslog 引发的Structure needs cleaning问题处理

本文描述了一次开发人员在部署过程中遇到的Structureneedscleaning错误,通过分析rsyslog日志、服务操作、系统重启和修复rpm数据库,最终解决了因rsyslog问题导致的数据库无法打开的问题。
摘要由CSDN通过智能技术生成

记一次rsyslog 引发的Structure needs cleaning问题处理

问题回顾:

​ 开发人员在本地服务器上pull代码的时候页面显示 Structure needs cleaning 已部署的系统中数据库无法打开。

排查过程:

​ 查阅系统日志发现是 rsyslog 报错 imjournal: fopen() failed for path: ‘/var/lib/rsyslog/imjournal.state.tmp’: Structure needs cleaning [v8.24.0-57.el7_9.1 try http://www.rsyslog.com/e/2013 ]

​ 查看服务状态

systemctl status rsyslog

​ 尝试重启服务

systemctl restart rsyslog

​ 尝试重启系统,重启后未解决

​ 必应搜索相关问题给出的结果均是需要重新挂载目录,查看了目录所在分区为根目录,无法重新挂载

​ 尝试重装rsyslog

# 删除/var/log/messages文件
rm -rf /var/log/messages
# 重装rsyslog
yum reinstall rsyslog

​ 此处出现问题,提示rpmdb open failed

​ 删除原rpm db 文件

rm -f /var/lib/rpm/__db*

​ 重建rpm数据库

rpm --rebuilddb

​ 清除所有yum的缓存

yum clean all

​ 重新安装rsyslog

​ 安装后重启rsyslog,此时之前的报错已解决

​ 重启系统,数据库自动启动,至此问题全部解决。

参考资料:

rpmdb open failed 的解决办法_凌轩志的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值