服务热线:0838-3644370

我们没什么了不起! (除了海外服务器)

centos提示Read-only file system 2019年12月27日 运维技术 < 文章文档 < 首页

问题原因:系统没有正常关机,导致虚拟磁盘出现文件系统错误。


解决方法:使用fsck手动修复,具体操作如下:


重启系统后使用root进入单用户模式,运行


fsck.ext3 -y /dev/vda3


说明:ext3的文件系统使用fsck.ext3,ext4文件系统使用fsck.etx4。/dev/vda3是系统/根分区。运行完毕后,reboot重启系统就恢复正常。20多台出问题的都是这样修复的,无失败案例。fsck.ext3开始进入扫描、修正文件系统,这个过程有时很快,有时比较长,中间有数次停顿的过程,只需等待即可,千万不要以为死机而重启服务器。修正完文件系统后,如果没有提示重启系统,也需要reboot来重启系统。


扩展知识:fsck简介


fsck不仅可以对文件系统进行扫描,还能修正文件系统的一些问题。注意的是fsck扫描文件系统时一定要在单用户模式、修复模式或把设备umount后进行。建议在单用户模式下运行。如果扫描正常运行中的系统,会造成系统文件损坏。


文件系统扫描工具有fsck、fsck.ext2、fsck.ext3、fsck.ext4、fsck.msdos、fsck.cramfs、fsck.ext4dev、fsck.vfat。最好是根据不同的文件系统来调用不同的扫描工具,比如ext3的文件系统使用fsck.ext3,ext4文件系统使用fsck.ext4等。


/dev/vda3是ext3的文件系统,这里介绍fsck.ext3的参数:


fsck.ext3


[语法]

fsck.ext3[必要参数][选择参数][设备代号]


[功能]

fsck.ext3命令:针对ext3文件系统进行检测修复


[执行权限]

root


[参数]


必要参数


-a非互交模式,自动修复

-c检查是否存在有损坏的区块。

-C fsck.ext3命令会把全部的执行过程,都交由其逆向叙述,便于监控程序

-d详细显示命令执行过程

-f强制进行检查

-F检查文件系统之前,先清理该保存设备块区内的数据

-l把文件中所列出的损坏区块,加入标记

-L清除所有损坏标志,重新标记

-n非交互模式,把欲检查的文件系统设成只读

-P 设置fsck.ext2命令所能处理的inode大小为多少

-r交互模式

-R忽略目录

-s顺序检查

-S效果和指定“-s”参数类似

-t 显示fsck.ext2命令的时序信息。

-v显示详细的处理过程

-y关闭互动模式


选择参数


-b指定分区的第一个磁区的起始地址/Super Block

-B 设置该分区每个区块的大小

-I设置欲检查的文件系统,其inode缓冲区的区块数目

-V显示版本信息

相关专题: centos