问题现象
Linux操作系统云主机删除或者修改文件的时候会提示文件系统:Read-only file system,最终导致操作失败。
问题分析
造成这个问题的原因大多数是因为非正常关机后导致文件系统受损引起的,在系统重启之后,受损分区就会被Linux自动挂载为只读。解决的方法是通过fsck来修复文件系统,然后重启即可。报错read-only file system的原因是所在的分区只有读权限,没有写权限(如下图)。
解决方法
使用fsck手动修复,具体操作如下:
重启系统后使用root进入单用户模式,运行。
fsck.ext3 -y /dev/vda3
说明ext3的文件系统使用fsck.ext3,ext4文件系统使用fsck.etx4。/dev/vda3是系统/根分区。运行完毕后,reboot重启系统就恢复正常。fsck.ext3开始进入扫描、修正文件系统,这个过程有时很快,有时比较长,中间有数次停顿的过程,只需等待即可,千万不要以为死机而重启服务器。修正完文件系统后,如果没有提示重启系统,也需要reboot来重启系统。
附fsck参数详解:
使用方法:fsck [参数] 设备名
参数:
-t : 给定档案系统的型式,若在/etc/fstab中已有定义或kernel 本身已支援的则不需加上此参数。
-s : 依序一个一个地执行fsck 的指令来检查。
-A : 对/etc/fstab 中所有列出来的partition做检查。
-C : 显示完整的检查进度。
-d : 列印e2fsck的debug 结果。
-p : 同时有-A 条件时,同时有多个fsck的检查一起执行。
-R : 同时有-A 条件时,省略/ 不检查。
-V : 详细显示模式。
-a : 如果检查有错则自动修复,所以你不用一直按y 键。
-y: 与-a类似,但是某些文件系统仅支持-y 这个参数,所以也可以用-y。
-r : 如果检查有错则由使用者回答是否修复。