RAID5のHDD2本障害が発生したのでデータ復旧を試みた

2013年2月17日

以下の記事でも紹介した、我が家の「裸族のインテリジェントビルNAS」ですが、RAID5のHDDのうち2本に障害が発生しました。
裸族のインテリジェントビルNAS(CRIB35NAS) を買いました
裸族のインテリジェントビルNAS(CRIB35NAS)でRAID5のベンチマークテスト

経緯

  • 3TBのHDD4本のRAID5で運用
  • HDD1本故障
  • HDD交換後、リビルド開始
  • リビルド中に2本目のHDDが故障
  • NAS管理画面からRAIDディスク自体が見えなくなる

RAID5はHDD1本故障まではセーフだが、2本故障はアウト。
だが、ここであきらめるわけにはいかない。
全部とは言わないが、少しでもデータ復旧を…ということで頑張ってみました。
結果、今回は中に入っていた約4TBのデータのうち、100GBは救出できませんでしたが、残りは救出できました。
(まぁ障害の程度によるんですけどね)
LinuxでソフトウェアRAIDのシステムなら同手順でなんとかなるかもしれません。
特に、TeraStationとかね。
ということで、以下、データ復旧までの技術メモです。

準備物

  • CentOSのLiveDVD
  • SATAディスクが4本以上が接続できるPC(3本が救出元、1本が救出先)
  • データ救出先のHDD

作業の流れ

  1. CentOSのLiveDVDからPCを起動
  2. RAID5のHDD4本のうち、1本に障害が発生した状態の3本のHDDをPCに接続
  3. RAID5のmd(マルチプルデバイス)を強制的に有効にする
  4. 救出先のHDDを接続
  5. データを救出

手順

以下、出力結果等に"★"印でコメントを記載していますので、その部分に着目してください。
1.CentOSのLiveDVDからPCを起動
1.1 CentOSの公式サイトからダウンロード。
2.RAID5のHDD4本のうち、1本に障害が発生した状態の3本のHDDをPCに接続
2.1 接続する
2.2 ターミナルを起動し、fdisk -l でHDDを確認

2.3 parted でパーティション情報を確認

2.4 マルチプルデバイスの状態ディスクごとに確認

sdc3を確認

sdd3を確認

sde3を確認

2.5 マルチプルデバイスの状態確認

3.RAID5のmd(マルチプルデバイス)を強制的に有効にする
3.1 故障中のmdを停止

3.2 mdを強制的に有効にする

3.3 マルチプルデバイスの状態確認

3.4 mdをマウント

3.5 マウント状態確認

ちなみに、ファイルシステムはxfsでした。

3.6 ファイルシステムを修復

4.救出先のHDDを接続
4.1 接続しましょう
5.データを救出
5.1 GUIでコピーするなり、cpコマンドでコピーするなり、がんばりましょう
5.2 救出できないファイルや故障セクタにアクセスしようとした場合、mdが再度故障状態になるので、手順3から再実行する。
5.3 根気よく繰り返す。

私の場合、上記でなんとかなりましたが、環境や障害状況によると思うので、臨機応変にがんばりましょう。
実は本件、お正月の出来事でして、年明け早々縁起が良くない感じでした。
ある程度救出できたので縁起が良かったのかな??
でもさすがに3TBのHDDを複数買いなおす金銭的余裕が無かったので、
現在3TB×3本のRAID5で運用中だったりします…。
どなたかリッチな方、私にHDDをプレゼントしてください!
Amazon 欲しいものリスト