Mdadm

無法檢查 mdadm RAID1 陣列,說文件系統是只讀的?

  • January 13, 2015

我最近將 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>

我指出這一點只是因為在Google搜尋時我發現了這個關於錯誤的執行緒,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

感謝@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 into readonly mode with host networking #7101。該問題的解決方法是/sys像這樣重新安裝讀寫(rw):

$ mount -o remount,rw /sys

查看 docker 的問題跟踪器中的問題,我不清楚這是否是故意留下的。解決方法暫時對我來說已經足夠好了,但這對我來說似乎是一個錯誤。

引用自:https://unix.stackexchange.com/questions/178811