温馨提示×

centos mount为何只读挂载

小樊
50
2026-09-03 00:35:24
栏目: 智能运维

在 CentOS 中,分区或设备被只读(read-only)挂载通常有以下几种常见原因。你可以按场景逐一排查:


一、文件系统本身有问题(最常见)

1. 文件系统错误导致内核自动只读

当文件系统(如 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

二、mount 时显式指定了只读

检查 /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

三、存储设备本身是只读的

1. 物理写保护

  • U 盘 / SD 卡有写保护开关
  • 光盘(ISO)天然只读

2. 设备被设置为只读

blockdev --getro /dev/sdb

返回 1 表示只读。

✅ 解除:

blockdev --setrw /dev/sdb

四、LVM / 快照导致只读

如果是 LVM 快照:

lvdisplay

快照默认是只读的。

✅ 解决:

  • 合并快照
  • 或创建可写快照:
lvcreate -s -n snap -L 1G /dev/vg/lv --permission rw

五、SELinux / 权限问题(不是真正只读)

有时报错像只读,其实是权限问题:

ls -ld /mount/point
getenforce

六、磁盘满或 inode 满

虽然挂载不是只读,但写入会失败:

df -h
df -i

快速排查清单 ✅

mount | grep your_mount
dmesg | tail
cat /etc/fstab
blockdev --getro /dev/xxx

如果你愿意,可以把下面信息发我,我能精准判断:

  • mount 输出
  • /etc/fstab
  • dmesg | tail
  • 设备类型(硬盘 / U盘 / 虚拟磁盘)

我可以一步一步帮你定位。

0