今天客户反馈服务器执行rm命令报错:rm:cannot remove `d’: Read-only file system,下面为处理思路和解决办法:
1、首先看报错判断,是否权限问题?核实要删除的文件权限没有异常;
2、核实是否所有命令都有报错,确认touch、vi等数据相关的命令几乎也用不了,怀疑磁盘或者文件系统异常;
3、核实是否所有路径都有报错,确认只有/下挂载的目录有问题,进一步确认磁盘/dev/vda异常;
4、从日志入手(/var/log/message或者直接命令demsg查看),发现日志有如下异常信息:
ext3_abort called. EXT3-fs error (device vda1): ext3_journal_start_sb: Detected aborted journal Remounting filesystem read-only
5、/etc/mtab和/proc/mounts显示的结果不同,/proc/mounts是实际mount的情况,看下异常的时候磁盘权限情况,发现是ro,而不是rw。
[root@qht108 qht108]# cat /proc/mounts|grep vda1 /dev/vda1 / ext3 ro,data=ordered 0 0
6、尝试用fsck -y自动修复,修复完后需要重新卸载再挂载一下,系统盘的话需要重启一下,后成功删除了文件!
总结:每一个问题的产生都有原因,而且一定都能找到原因(和谈恋爱一样?)就看你愿不愿意花时间和精力去琢磨了,有时甚至不止一个原因,对于服务器问题,日志和监控真的是比较关键的两个线索,最后温馨提示,rm为高危操作命令,建议mv到特定文件夹并定期清理。