メイン

ソフトウェアRAID アーカイブ

2007年01月25日

ソフトウェアRAIDに障害が発生した時の確認方法

CentOS4インストール時にソフトウェアRAIDの機能を使ってRAID1を構成している場合の確認方法と障害が発生した場合の確認方法をみていきます。mdmonitorサービスが起動している必要があると思います。

# chkconfig --list mdmonitor
mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off

基本的には/proc/mdstatをみることで確認できます。
詳細な確認コマンドは以下。

# mdadm --detail /dev/md0

RAIDになんらかの障害が発生した場合,メールが送られるになっています。
仮想的に異常を発生させてメールが届くことを確認しましょう。

# mdadm /dev/md1 --fail /dev/hda1

/proc/mdstatを確認することで異常かどうかを確認することができます。

# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hdb2[2](F) hda2[0]
522048 blocks [2/1] [U_]

md2 : active raid1 hdb3[1] hda3[0]
29455104 blocks [2/2] [UU]

md0 : active raid1 hdb1[1] hda1[0]
48064 blocks [2/2] [UU]

unused devices:

md1に(F)マークが付き,[2/1] [U_]に表示が変わりました。
このとき/etc/mdadm.confのMAILADDRに指定したユーザにメールが届いています。
デフォルトでrootに届くはずです。内容は以下のよう。

---
Subject: Fail event on /dev/md1:yourhostname

This is an automatically generated mail message from mdadm
running on yourhostname

A Fail event had been detected on md device /dev/md1.

Faithfully yours, etc.
---

確認ができたので仮想的な異常を元に戻しましょう。

# mdadm /dev/md1 --remove /dev/hdb2
mdadm: hot removed /dev/hdb2

# mdadm /dev/md1 --add /dev/hdb2
mdadm: hot added /dev/hdb2

確認をしましょう。

# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hdb2[2] hda2[0]
522048 blocks [2/1] [U_]
[===>.................] recovery = 16.8% (88960/522048) finish=0.6min speed=11120K/sec
md2 : active raid1 hdb3[1] hda3[0]
29455104 blocks [2/2] [UU]

md0 : active raid1 hdb1[1] hda1[0]
48064 blocks [2/2] [UU]

unused devices:

元に戻してすぐ確認すると上のようにリカバリー状態をみることができます。
リカバリーがすむと下のような表示になっています。

# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hdb2[1] hda2[0]
522048 blocks [2/2] [UU]

md2 : active raid1 hdb3[1] hda3[0]
29455104 blocks [2/2] [UU]

md0 : active raid1 hdb1[1] hda1[0]
48064 blocks [2/2] [UU]

unused devices:

くれぐれも慎重に行いましょう。