无法检查 mdadm RAID1 阵列,表示文件系统为只读?

无法检查 mdadm RAID1 阵列,表示文件系统为只读?

我最近将 RAID1 从 CentOS 5 系统迁移到 CentOS 6 系统,从那时起,当我尝试执行检查时,我得到以下信息:

$ echo 'check' > /sys/block/md127/md/sync_action
-bash: /sys/block/md127/md/sync_action: Read-only file system

这实际上也从 CRON 中体现出来,特别是/etc/cron.d/raid-check.这包含在mdadmRPM 中:

$ rpm -ql mdadm | head -5
/etc/cron.d/raid-check
/etc/rc.d/init.d/mdmonitor
/etc/sysconfig/raid-check
/lib/udev/rules.d/63-md-raid-arrays.rules
/lib/udev/rules.d/65-md-incremental.rules

在这里,我运行 CRON 使用的相同命令:

$ raid-check
/usr/sbin/raid-check: line 96: /sys/block/md127/md/sync_action: Read-only file system

这通常每周运行一次并发送一封电子邮件,这正是最初提醒我该问题的原因。但无论如何,我不明白为什么这个 RAID 似乎无法被检查。

不过检查起来 RAID 似乎没问题。

$ cat /proc/mdstat 
Personalities : [raid1] 
md127 : active raid1 sda1[0] sdb1[1]
      976759936 blocks [2/2] [UU]

unused devices: <none>

我指出这一点只是因为在谷歌搜索时我发现了这个关于错误的线程,mdadm但这是针对旧版本的mdadm.

版本信息

$ lsb_release -d
Description:    CentOS release 6.6 (Final)

$ rpm -q mdadm
mdadm-3.3-6.el6_6.1.x86_64

$ mdadm --version
mdadm - v3.3 - 3rd September 2013

答案1

感谢 @frostschutz 的评论,该问题似乎是由于/sys安装为只读 (ro) 造成的。通过以下命令可以明显看出这一点:

$ cat /proc/mounts |grep sys
sysfs /sys sysfs ro,seclabel,relatime 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0

这似乎是 docker 的问题。我发现这个问题的标题是:sysfs 进入主机网络的只读模式 #7101。该问题的解决方法是重新挂载/sys读写 (rw),如下所示:

$ mount -o remount,rw /sys

通过查看 docker 问题跟踪器中的问题,我不清楚这是否是故意这样留下的。目前,解决方法对我来说已经足够好了,但这对我来说似乎是一个错误。

相关内容