みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

RAID0の片割れHDDからデータを取り出すレスキュー方法

NASなどでRAID 0 (ストライピング) を設定していたが,片方のHDDが壊れてもう1つのHDDしか残っていないけど,保存したデータをなんとか取り出したいんだよね,ということはたまにある話です.みーの備忘録も兼ねて,方法をまとめておきます.

最初にLinuxを起動します.みーはUbuntuが好きなので,Ubuntuで動作検証していますが,基本的には他のディストリビューションでも読みかえれば動作するはずです.

まず,mountコマンドはRAID 0のHDDを読むことはできません.試してみると以下の様にエラーとなります.

$ sudo mount -t ext4 /dev/sdc6 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/sdc6,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

Linuxで使用するソフトウエアRAIDはmdadmを使うことが多いので,このコマンドのお世話になります.まずはapt-get でインストールして,以下のようなコマンドを実行します.--assembleと--runともにハイフンは2つであることに注意.マウント先は通常ならば/dev/md0を指定し,マウントするHDDは/dev/sda2のような書式で指定します.

$ sudo apt-get install mdadm
...
$ sudo mdadm --assemble --run /dev/md0 /dev/sdc6
mdadm: /dev/md0 has been started with 1 drive (out of 2).

もしもマウントするHDDが分からない場合は,慌てずfdiskのお世話になりましょう.すべてのディスクの詳細が表示されます.

$ sudo fdisk -l

以上でRAID 0のディスクのデータにアクセスできるはずです.

ちなみにUbuntuのDiskで情報を取得すると以下のようになりました.Array is degraded. 1 disk is missing. と正常に警告が出ています.

f:id:atsuhiro-me:20151104005043p:plain:w300

また,NASなどから取り出したHDDをPCに接続するには,以下のように電源がリッチでSATAがたくさんあるマザボのPCを容易するのが簡単ですが,これみたいにUSB接続のアダプターを使用するのも便利みたいです.

f:id:atsuhiro-me:20151104005045j:plain:w300

以上です.お疲れ様でした.