问题描述:linux系统变为只读,出现提示Read-only file system, 如图所示:
问题原因:系统没有正常关机,导致虚拟磁盘出现文件系统错误.
说明:此修复可能会导致个别文件及数据丢失,修复之前建议做好文件备份工作.
解决方法:使用 fsck 手动修复磁盘文件,具体操作如下:
1.使用mount查看磁盘加载情况
mount: 用于查看哪个模块输入只读,一般显示为:
[root@localhost ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=388136k,mode=700)
/dev/vdb1 on /home type ext4 (ro,relatime,data=ordered)
[root@localhost ~]#
查看ro挂载的分区,如果发现有ro说明此磁盘是只读状态(最好也检查下/etc/fstab查看配置文件是否就已经设置为只读挂载权限)
2.卸载只读分区
[root@localhost ~]#umount /dev/vdb1
如果发现有提示“device is busy”,找到是什么进程使得他busy
比如可执行/etc/init.d/httpd stop 等命令停止正在运行的一些服务
fuser -m /home 将会显示使用这个模块的pid
fuser -mk /home 将会直接kill那个pid
3.fsck修复磁盘文件
[root@localhost ~]#fsck -fvy /home
修复异常的磁盘分区
然后重新mount即可。
4、直接remount或者是mount -a,命令为
[root@localhost ~]# mount -o rw,remount /home
最后启动开始停止的服务/etc/init.d/httpd start也可执行reboot重启下服务器让系统自动启动运行的服务.