我最近将 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
.这包含在mdadm
RPM 中:
$ 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 问题跟踪器中的问题,我不清楚这是否是故意这样留下的。目前,解决方法对我来说已经足够好了,但这对我来说似乎是一个错误。