Linux文件系统只读 解决方案:
Linux系统Read-only file system,文件系统只读排查解决方案:
文件系统只读机制:
当文件系统自身的校验机制发现文件系统存在问题时,为避免文件系统受到进一步的损坏,系统会把文件系统设置为只读。
造成的原因:
一般情况是由于系统发现磁盘硬件(Riad卡,硬盘)故障或文件系统中文件被损坏后而采取的保护机制导致的。
为了保护数据不破坏分区中已有内容,Linux在挂载文件系统时会以read-only只读方式加载。
目前已知的造成硬盘分区只读的可能原因有:
文件系统错误
磁盘坏道
RAID卡故障
inode资源耗尽
IO繁忙
硬盘背板故障
硬盘线缆故障
HBA卡故障
内核相关硬件驱动bug
FW固件类问题
另:系统没有正常关机,也会导致磁盘出现文件系统错误;
排查处理:
先重启一下(一般重启都能好,好不了就看下面的)
①、cat /proc/mounts 确认是哪个分区只读(ro状态的)
dmesg |grep error 看报错信息,是I/O错误,还是文件系统错误
cat /var/log/messages 看是否有错误信息
②、mount -o remount,rw 挂载点
尝试重新挂载一下,如果不行,往下
③、df -T 查看文件系统版本是ext2/3/4,使用对应的命令:
fsck.ext2/3/4 -y 设备名 (修复文件系统,取消交互)
fsck.ext2/3/4 -n 设备名 (扫描文件系统,不执行操作)
注:fsck扫描文件系统时一定要在单用户模式、修复模式或把设备umount后进行,不然可能会导致文件损坏、丢失。扫描正常运行中的系统,会造成系统文件损坏。