防止文件系统进入只读模式

防止文件系统进入只读模式

我发现我的服务器的文件系统不断进入只读模式。raid1 阵列出现了一些问题,但我已从阵列中移除了坏磁盘。但是,由于我还没有机会转到数据中心,因此它仍然物理插入系统,我怀疑 udev 和系统内核仍在拾取坏磁盘并抛出错误。在 /var/log/messages 中,有如下错误:

Mar  2 06:53:14 nocloud kernel: ata1: exception Emask 0x10 SAct 0x0 SErr 0x4010000 action 0xe frozen
Mar  2 06:53:14 nocloud kernel: ata1: irq_stat 0x00400040, connection status changed
Mar  2 06:53:14 nocloud kernel: ata1: SError: { PHYRdyChg DevExch }
Mar  2 06:53:14 nocloud kernel: ata1: hard resetting link
Mar  2 06:53:20 nocloud kernel: ata1: link is slow to respond, please be patient (ready=0)
Mar  2 06:53:21 nocloud kernel: ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Mar  2 06:53:21 nocloud kernel: ata1.00: configured for UDMA/133
Mar  2 06:53:21 nocloud kernel: ata1: EH complete

这种情况在一天中随机发生,直到文件系统最终变为只读。发生这种情况时,我的系统将无法运行,这在某种程度上违背了使用 raid1 的目的。请注意,ata1 是坏磁盘(我认为 ata1 对应于 /dev/sda,因为它们都排在第一位)。

在 mdadm 下,/dev/sda1,2 不再被使用,但是当我不再使用它时,我无法阻止系统内核继续查询该磁盘并抛出这些错误。

有没有办法防止我的文件系统自动进入只读模式?此外,这样做安全吗?

提前致谢。

编辑:附加信息:cat /proc/mdstat 的输出

md1 : active raid1 sdb2[1]
      976554876 blocks super 1.1 [2/1] [_U]
      bitmap: 5/8 pages [20KB], 65536KB chunk

md0 : active raid1 sdb1[1]
      204788 blocks super 1.0 [2/1] [_U]

安装输出:

/dev/mapper/VolGroup-LogVol00 on / type ext4 (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/md0 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

EDIT2:pvdisplay输出:

--- Physical volume ---
PV Name               /dev/md1
VG Name               VolGroup
PV Size               931.32 GiB / not usable 2.87 MiB
Allocatable           yes (but full)
PE Size               16.00 MiB
Total PE              59604
Free PE               0
Allocated PE          59604

答案1

Ext3/4 文件系统(不确定 ext2)可以配置为在检测到某种形式的错误时翻转为只读,但当发生这种情况时,日志中通常会出现类似于“EXT4-fs(sdb1):以只读方式重新挂载文件系统”的消息。

什么是tune2fs向您展示?运行tune2fs -l /dev/md1以列出文件系统的当前值。您要查找的设置是“错误行为”。tune2fs可以用来改变错误行为,但是你真的应该在第二个驱动器出现问题之前更换该驱动器。

相关内容