在 CentOS 中,分区或设备被只读(read-only)挂载通常有以下几种常见原因。你可以按场景逐一排查:
当文件系统(如 ext4/xfs)检测到错误时,Linux 内核会自动以只读方式重新挂载,防止数据进一步损坏。
查看内核日志:
dmesg | grep -i "read-only"
dmesg | grep -i "error"
常见提示:
EXT4-fs error (device sdb1): ... remounting filesystem read-only
✅ 解决方法:
umount /mount/point
fsck -y /dev/sdb1
mount /dev/sdb1 /mount/point
⚠️ xfs 不能用 fsck,用:
xfs_repair /dev/sdb1
检查 /etc/fstab 或 mount 命令:
mount | grep sdb1
cat /etc/fstab
如果看到:
/dev/sdb1 /data ext4 ro 0 0
或
mount -o ro /dev/sdb1 /data
✅ 解决: 修改为:
/dev/sdb1 /data ext4 defaults 0 0
然后:
mount -o remount,rw /data
blockdev --getro /dev/sdb
返回 1 表示只读。
✅ 解除:
blockdev --setrw /dev/sdb
如果是 LVM 快照:
lvdisplay
快照默认是只读的。
✅ 解决:
lvcreate -s -n snap -L 1G /dev/vg/lv --permission rw
有时报错像只读,其实是权限问题:
ls -ld /mount/point
getenforce
虽然挂载不是只读,但写入会失败:
df -h
df -i
mount | grep your_mount
dmesg | tail
cat /etc/fstab
blockdev --getro /dev/xxx
如果你愿意,可以把下面信息发我,我能精准判断:
mount 输出/etc/fstabdmesg | tail我可以一步一步帮你定位。