mdadmでのRAID構築までの記録2

前々回の更新でmdadmでWD30EZRX(3TB)のHDD3台でのRAID5の構築ができました。
本当は3台追加してパリティディスクを2台に分散したRAID6へ移行するつもりだったのですが、途中でRAID5の状態でHDDが1台故障してしまったり、移行にも失敗してしまったのでその記録を書いておきます。タイでの洪水により現在は3TBのHDDも1台が2万円以上になるほど価格が高騰していますが、1ヶ月ほど前の時点では1台8000円程でしたので追加用に3台購入して次の休日にケースを空けてHDDを追加しよう…と思っていた矢先に保存していたアニメを見ていたら

「カコ~ン」という音とともにアクセス速度が急に落ちるという現象がorz

cat /proc/mdstat

としてみると正常な状態であれば、

Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdc1[2] sdb1[1] sda1[0]
      586082736 blocks super 1.0 level 5, 128k chunk, algorithm 2 [3/3] [UUU]
      bitmap: 2/350 pages [8KB], 4096KB chunk

みたいな出力がされるものなんですが、先ほどの異音発生後、mdstatを見ると

$ cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdc1[1] sda1[0] 
      586082736 blocks super1.0 level 5, 128k chunk, algorithm 2 [3/2] [U_U]
      bitmap: 2/350 pages [8KB], 4096KB chunk
      unused devices: <none>

てな感じの出力がされました。 BIOS(使用しているマザーボードはUEFIですが便宜上)で確認してみると既に2番目のSATAコネクタに挿してあるHDDが認識されていません。マザーボード側の問題という事も考えられなくはないためRAIDのHDDのコネクタを外した上で別のHDDを同じコネクタに挿して起動してみた所、認識されますし、OS起動後(USBにインストールしてあるLinuxでテスト。こういう時に非常に便利)データの読み込みも可能であったためHDDの不具合と判断しました。
RAID5で運用している場合、2台HDDが故障するとデータが失われてしまいます。 次の休日に組み込んでと思っていたのですが、予定を前倒しして買い置きしていた1台を用いて交換しました。同じコネクターに接続した後、前々回の記事の要領でパーティション作成後、


$ sudo mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: added /dev/sdb1

 として、/dev/md0のRAIDに/dev/sdb1のHDDを加えると、あとは自動的に再構築を始めてくれました。いやはや簡単です。
しかし、約6TBの容量ともなると、再構築完了まで約2日ほどかかりました。リカバリーの状況は
$ cat /proc/mdstat
で確認できます。残り時間が分単位で表示されます。リカバリーを始めた直後は4000分前後と表記されていました。この場合単純計算では3日近くかかることになります。しかし、リカバリーの時点では6TBの容量のうち、データが書き込まれていたのは2.5TB前後であったためデータのある部分のリカバリーの残り時間は時計と同じように(約2時間後に /proc/mdstatを見ると残り時間が120分前後減っている)減っていきました。何も書き込まれていない領域のリカバリーになったであろう1日目を過ぎたあたりから実時間よりもリカバリーの残り時間が減る方が早くなり48時間弱でリカバリーは終了しました。

 故障したHDDは、購入して2ヶ月ほどであったため、購入したショップに申し出た所、無償交換して頂けました。
代替の新品が送られてくる頃にはリカバリーも終了しているだろうから、到着したら6台でのRAID6に変更しようと思ったんですが、ここで手順を間違いを犯してしまい、長時間を無駄にするハメになりました。
 それについては次回まとめて書いていこうと思います。



コメント

このブログの人気の投稿

オルテガの 「大衆の反逆」

Ultr@VNCの設定でハマる

DREMEL ルータービットのちょっとした改造