首页 > 代码库 > Linux文件系统只读Read-only file system

Linux文件系统只读Read-only file system


技术分享

问题描述:

1、系统无法进行磁盘的读写操作(touch,cp,chmod)等等

2、服务器无法启动(也是因为无法创建文件)

3、只有涉及到系统磁盘的写操作,都会报错"Read-only file system"

问题原因:

1、系统没有正常关机,导致虚拟磁盘出现文件系统错误;

2、机器硬盘故障导致硬盘只读


   一般情况是由于系统发现磁盘硬件(Riad卡,硬盘)故障或文件系统中文件被损坏后而采取的保护机制导致的。为了保护数据不破坏分区中已有内容,Linux在挂载文件系统是就只用read-only只读方式加载。


问题解决:

1、将系统重要的文件备份到远程主机中

    scp -r  dirname/filename  user@remote_hostIP:/backupdir

通过scp -r 可以避免对系统有写操作

2、然后重启系统,切换单用户模式。

    init 1

3、使用fsck手动修复,具体操作如下:

    fsck.ext4 -y  /dev/vda1(根分区对应的磁盘分区,可通过df -h 命令获取)

友情提示:根据不同的文件系统试用不同的fsck版本,如果是ext3文件系统,应该使用fsck.ext3对文件系统进行修复。在修复的过程中可能花费时间较长,请耐心等待,不要轻易手动重启服务器。修复完成之后可以通过命令“shutdown -r now"  reboot重启服务器

4、在实验的过程中,还可常识使用如下命令进行修复

    mount -o  remount rw /




扩展知识: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显示版本信息


本文出自 “傻子太多,骗子不够用了” 博客,请务必保留此出处http://dadonggg.blog.51cto.com/12672150/1947687

Linux文件系统只读Read-only file system