RAID1の動作確認

CentOS 4.3 のインストール時に設定したRAID1(ミラーリング)が正しく動作しているか確認してみよう。

/proc/mdstat を見ると、以下のようにmd1はsdb2とsda2で構成され、md0はsdb1とsda1で構成され、それぞれ2つのパーティションできちんとミラーリングされていることが確認できる。

$ cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb2[1] sda2[0]
78019584 blocks [2/2] [UU]

md0 : active raid1 sdb1[1] sda1[0]
104320 blocks [2/2] [UU]

unused devices:

では、ディスクが壊れたときシミュレートしてみよう。筐体を開いてディスクのケーブルを抜いてもいいが、対応しているのであれば、BIOSでディスクの認識を無効にするほうが手っ取り早い。片方のディスクを殺して起動させてると、なんの変わりもなく起動する。さすがRAID1。/proc/mdstat を見てみよう。md1はsda2のみになり、md0はsda1のみになり、[_U] からも片肺になっていることが分かる。

$ cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda2[1]
78019584 blocks [2/1] [_U]

md0 : active raid1 sda1[1]
104320 blocks [2/1] [_U]

unused devices:

BIOSでディスクを再認識させただけでは状態は変わらない。今回はシミュレートなのでパーティション済みだけど、本来ならばまっさらな新しいディスクのはずなので、まずは新しいディスクを現状のディスクと同じパーティションをfdiskで切る。が、シミュレートではそこまではやってないので割愛。パーティションを合わせたら、rootからmdadmでディスクを追加する。

# mdadm -a /dev/md0 /dev/sdb1
mdadm: hot added /dev/sdb1
# mdadm -a /dev/md1 /dev/sdb2
mdadm: hot added /dev/sdb2

/proc/mdstat を見てみると、/dev/md1のリカバリ中であることが分かる。リカバリ中も/dev/md1は利用できるが、78GBのディスクの同期には30分弱かかる。

$ cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda2[2] sdb2[1]
78019584 blocks [2/1] [_U]
[>………………..] recovery = 1.4% (1165696/78019584) finish=26.3min speed=48570K/sec
md0 : active raid1 sda1[0] sdb1[1]
104320 blocks [2/2] [UU]

unused devices:

以下のようにwatchを使えば、ぼーっと眺めておける。止めるときは Ctrl + C。

$ watch -d “cat /proc/mdstat”

mdmonitorサービスを起動しておけば、RAIDディスクに障害が起きたときに以下のようなメールをroot宛てに送ってくれるので安心だ。

[text title=”DegradedArray event on /dev/md0:oscar”]This is an automatically generated mail message from mdadm
running on oscar

A DegradedArray event had been detected on md device /dev/md0.

Faithfully yours, etc.[/text]

3 thoughts on “RAID1の動作確認”

  1. おー。着々とセットアップ進んでるね。

    メールサーバーがなくても、メールの送信は可能なんじゃないかな?

    $ date | mail root@example.com

    といった具合。

  2. Pingback: juyama.net

コメントを残す