私の友人は彼のオフィスでa NAS Buffalo-LS-WVLとそれぞれ1TBのディスクを2つ使用していました。2つのディスクはRAID1としてマウントされたようですが、後で読むように、おそらくそうではありませんでした。NASは非常に遅いという問題をいくつか引き起こし、その後突然機能しなくなりました。私は彼のデータを救助するために呼び出されました。両方のディスクはまったく同じです。パーティショニング:1つの物理データと6つの論理データ、および6番目のデータが存在します(0,95TBのうち約80GB)。
ディスク/dev/sdd
はハードウェアの問題(速度の遅さ、セクターの読み取りエラーなど)を引き起こすようですが、/ dev/sdeは物理的に機能するディスクです。
目標は、NASに含まれていたデータを抽出することです。すべてではないにしても、最も多く抽出されるデータの方が優れています。これらのデータは、私のこの友人の会社にとって不可欠です。
1回目の試行:ディスクのみのマウント
これは最初の試みであり、それが機能することを期待して、各ディスクを取得して単独でマウントしようとしましたが、次のメッセージが表示されました。
root@ubuntu:~# mount /dev/sdd6 /mnt/n
-or-
root@ubuntu:~# mount /dev/sde6 /mnt/n
両方とも私に同じメッセージを与えました:
mount: unknown filesystem type 'linux_raid_member'
2回目の試行:ディスクアレイRAID 1を作成し、それらをマウントしてみます
OK、それらを単独でマウントできない場合は、ディスクのアレイを作成する必要があります。 (最も論理的な)元の構成がRAID 1であり、一度に1つのディスクを使用するとします。
root@ubuntu:~# mdadm --create --run --level=1 --raid-devices=2 \
/dev/md/md-singolo-e6--create-missing /dev/sde6 missing
与える:
mdadm: /dev/sde6 appears to be part of a raid array:
level=raid0
devices=2
ctime=Mon Sep 26 10:23:48 2011
mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md/md-singolo-e6--create-missing started.
したがって、元のレイドは1モードではなく0モードであったようです。ディスクがセクターの問題を引き起こしているので、悪い新しさ。
とにかく、私は新しく作成されたRAID1アレイをマウントしようとしました(意味がないとわかっていても):
root@ubuntu:~# mkdir /mnt/md-singolo-e6--create-missing
root@ubuntu:~# mount /dev/md/md-singolo-e6--create-missing \
/mnt/md-singolo-a6--create-missing/
与えた:
mount: /dev/md127: can't read superblock
他のディスクについてもまったく同じ結果が得られました。
3回目の試行:ディスクアレイの作成RAIDそしてそれらをマウントしようとします
OK、Raid0であると述べられているので、それを実行しましょう。
root@ubuntu:~# mdadm --create --run --level=0 --raid-devices=2 \
/dev/md/md001hw /dev/sdd6 /dev/sde6
与える:
mdadm: /dev/sdd6 appears to be part of a raid array:
level=raid1
devices=2
ctime=Mon Oct 14 16:38:33 2013
mdadm: /dev/sde6 appears to be part of a raid array:
level=raid1
devices=2
ctime=Mon Oct 14 17:01:01 2013
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md/md001hw started.
OK、作成したらマウントしようとします:
root@ubuntu:~# mount /dev/md/md001hw /mnt/n
mount: you must specify the filesystem type
この時点で、-t
で指定されたすべてのext2,3,4でエラーが発生しました。
4回目の試行:ディスクイメージを作成して操作する
OK、ディスクに問題があるので、ブロック読み取りエラー(エラー)の場合に0(同期)で埋められたデータパーティションのコピー(dd)で作業する方がはるかに良いです。したがって、2つの画像を作成しました。
これは良いディスク用です(4MBのブロック、より高速に):
root@ubuntu:~# dd bs=4M if=/dev/sde6 of=/media/pietro/4TBexthdd/sde6-bs4M-noerror-sync.img conv=noerror,sync
これは問題のあるディスク用です(最小ブロックサイズ、より安全に)
root@ubuntu:~# dd if=/dev/sde6 of=/media/pietro/4TBexthdd/sdd6-noerror-sync.img conv=noerror,sync
2つのイメージを取得したら、上記で指定したコマンドを使用して、それらをRAID0として使用しようとしました。何もする必要はありません。答えは、イメージは「ブロックデバイスではなく」、アレイを作成しないというものです。
5回目の試行:一部のデータをレスキューするためにバイト単位で実行
OK、適切なマウントが機能していない場合は、バイト単位の読み取りとヘッダーおよびフッター情報を介してデータを抽出します。私は*最前線 *を使用して、このジョブを各単一ディスクで実行しました:ディスク1の場合:
root@ubuntu:~# foremost -i /dev/sde6 -o /media/pietro/4TBexthdd/foremost_da_sde6/
ファイル拡張子の付いたサブフォルダーを作成しますが、それらの中にはまったくデータがありません。一方、ディスク2(破損したディスク)の場合:
root@ubuntu:~# foremost -i /dev/sdd6 -o /media/pietro/4TBexthdd/foremost_da_sdd6_disco2/
どちらのサブフォルダ構造も、何よりもまず作成されたものではありません。
RAID0アレイで最初に試したときと同じ結果:
root@ubuntu:~# foremost -i /dev/md/md001hw -o /media/pietro/4TBexthdd/foremost_da_raid_hw/
どちらのサブフォルダー構造も作成されていません。
その他の質問:
mdadm
は初めてですが、すべて正しく実行しましたか?これは、障害のあるディスク(/dev/sdd
)から読み取る場合のdmesg
の出力です。
[ 958.802966] sd 8:0:0:0: [sdd] Unhandled sense code
[ 958.802976] sd 8:0:0:0: [sdd]
[ 958.802980] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 958.802984] sd 8:0:0:0: [sdd]
[ 958.802987] Sense Key : Medium Error [current]
[ 958.802994] sd 8:0:0:0: [sdd]
[ 958.802999] Add. Sense: Unrecovered read error
[ 958.803003] sd 8:0:0:0: [sdd] CDB:
[ 958.803006] Read(10): 28 00 00 d5 c7 e0 00 00 f0 00
[ 958.803021] end_request: critical target error, dev sdd, sector 14010336
[ 958.803028] quiet_error: 36 callbacks suppressed
[ 958.803032] Buffer I/O error on device sdd, logical block 1751292
[ 958.803043] Buffer I/O error on device sdd, logical block 1751293
[ 958.803048] Buffer I/O error on device sdd, logical block 1751294
[ 958.803052] Buffer I/O error on device sdd, logical block 1751295
[ 958.803057] Buffer I/O error on device sdd, logical block 1751296
[ 958.803061] Buffer I/O error on device sdd, logical block 1751297
[ 958.803065] Buffer I/O error on device sdd, logical block 1751298
[ 958.803069] Buffer I/O error on device sdd, logical block 1751299
[ 958.803074] Buffer I/O error on device sdd, logical block 1751300
[ 958.803078] Buffer I/O error on device sdd, logical block 1751301
[ 961.621228] sd 8:0:0:0: [sdd] Unhandled sense code
[ 961.621236] sd 8:0:0:0: [sdd]
[ 961.621238] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 961.621241] sd 8:0:0:0: [sdd]
[ 961.621243] Sense Key : Medium Error [current]
[ 961.621248] sd 8:0:0:0: [sdd]
[ 961.621251] Add. Sense: Unrecovered read error
[ 961.621254] sd 8:0:0:0: [sdd] CDB:
[ 961.621255] Read(10): 28 00 00 d5 c8 d0 00 00 10 00
[ 961.621266] end_request: critical target error, dev sdd, sector 14010576
[ 964.791077] sd 8:0:0:0: [sdd] Unhandled sense code
[ 964.791084] sd 8:0:0:0: [sdd]
[ 964.791087] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 964.791090] sd 8:0:0:0: [sdd]
[ 964.791092] Sense Key : Medium Error [current]
[ 964.791096] sd 8:0:0:0: [sdd]
[ 964.791099] Add. Sense: Unrecovered read error
[ 964.791102] sd 8:0:0:0: [sdd] CDB:
[ 964.791104] Read(10): 28 00 00 d5 c8 00 00 00 08 00
[ 964.791114] end_request: critical target error, dev sdd, sector 14010368
[ 964.791119] quiet_error: 22 callbacks suppressed
[ 964.791122] Buffer I/O error on device sdd, logical block 1751296
私は悪い知らせの担い手になるのは嫌いですが...
Q:mdadmは初めてですが、すべて正しく実行しましたか?
A:いいえ。実際、あなたは可能な限り最も破壊的な方法でほぼすべてを行いました。おそらくデータを読み取ることができる--create
を使用する代わりに、--assemble
を使用して配列メタデータを破棄しました(少なくとも、ディスクが読み取ることができる範囲で)。そうすることで、重要なメタデータ(特に、ディスクの順序、データオフセット、チャンクサイズ)が失われます。
さらに、--create
は、重要なファイルシステム構造の上に配列メタデータを走り書きしている可能性があります。
最後に、ステップ(3)で、mdadmが両方のディスクでRAID1について不平を言っていることがわかります。これは、両方のディスクで(2)を個別に試したことによるものだと思います。 RAID1がディスクの同期を開始しないように心から願っています(たとえば、両方を同じRAID1アレイに追加した場合)。
ついにドライブのイメージを作成したようです。少なくとも基本的な--assemble
以外のことを試す前に、これfirstを実行する必要があります。とにかく、
不良ドライブのイメージがほとんど/すべてのセクターを見逃した場合は、専門的なデータ復旧が価値があるかどうかを判断します。ファイル(およびファイルシステムメタデータ)はRAID0のドライブ間で分割されるため、回復するには両方が必要です。専門家による復旧では、おそらくドライブを読み取ることができます。
いくつかのセクターを除いて、画像にほとんど問題がない場合は、続行します。
画像ファイルのコピーを作成します。画像ファイルのコピーでのみ作業します。これを十分に強調することはできません。これらのコピーを数回破壊する可能性があります。最初からやり直す必要があります。 。また、特に1つが失敗しているため、ディスクを再度イメージ化する必要はありません。
他の質問の1つに答えるには:
Q:パーティションイメージを使用してアレイを作成できないのはなぜですか?
A:画像ファイルの配列をアセンブル(または作成)するには、ループバックデバイスを使用する必要があります。 losetup
を使用して、ループバックデバイスに画像を添付します。マンページを読んでください、しかしそれはlosetup --show -f /path/to/COPY-of-image
の線に沿った何かになるでしょう。ここで、ループデバイスでmdadm
を使用します(例:/dev/loop0
)。
元の配列レイアウトを決定します
アレイの作成に最初に使用されたすべてのmdadmオプションを見つける必要があります(以前に--create
でそのメタデータを破棄したため)。次に、2つのループバックデバイスで--create
を、これらのオプションを使用して正確に実行します。メタデータのバージョン(-e
)、RAIDレベル(-l
、0のように見える)、チャンクサイズ(-c
)、デバイスの数(-n
、2である必要があります)、およびデバイスの正確な順序を把握する必要があります。
これを取得する最も簡単な方法は、2つの新しいディスクを取得し、NASに配置して、NASに新しいアレイを作成させることです。できれば、同じNAS最初に使用されたファームウェアバージョン。IOW、初期セットアップを繰り返します。次にディスクを引き出し、メンバーの1つでmdadm -E
を使用します。これはRAID10アレイの例であるため、わずかに異なります。I '必要なものを強調するために、一連の行を省略しました。
Version : 1.0 # -e
Raid Level : raid10 # -l
Raid Devices : 4 # -n
Chunk Size : 512K # -c
Device Role : Active device 0 # gets you the device order
Array State : AAAA ('A' == active, '.' == missing)
注:ここでは、ext2/3/4を使用していると仮定します。そうでない場合は、実際に使用されているファイルシステムNASに適切なユーティリティを使用してください。
これらのオプションを使用して(ループバックデバイスで)作成を試みます。 e2fsck -n
がそれを認識しているかどうかを確認します。そうでない場合は、アレイを停止し、他の順序でデバイスを使用して再度作成します。 e2fsck -n
を再試行してください。
どちらも機能しない場合は、正しいと思われる順序に戻って、バックアップスーパーブロックを試してください。 e2fsck
マンページは、使用する番号を示しています。ほぼ確実に4Kのブロックサイズがあります。バックアップスーパーブロックのいずれも機能しない場合は、アレイを停止して、他のディスク順序を試してください。それが機能しない場合は、おそらく間違った--create
オプションがあります。画像の新しいコピーからやり直して、いくつかの異なるオプションを試してください。最初に異なるメタデータバージョンを試してみます。
E2fsckを実行したら、ファイルシステムがどれほどひどく損傷しているかを確認します。完全にゴミ箱に入れられている場合は、チャンクサイズが間違っている可能性があります(配列を停止して再作成し、さらに試してください)。
データをコピーします。
E2fsckにファイルシステムの修正を試みさせることをお勧めします。これはファイルシステムを破壊するリスクがありますが、まあ、それがあなたがコピーに取り組んでいる理由です!次に、それをマウントして、データをコピーします。一部のデータが破損している可能性があり、破損が隠されている可能性があることに注意してください(たとえば、ドキュメントのページがNULLに置き換えられている可能性があります)。
その後、あなたは困っています。もう1つのオプションは、最終的に機能するまで推測するか、16進エディターを使用してディスク上のフォーマットについて十分に理解することです。これを支援するユーティリティが1つか2つあるかもしれません。知りません。
または、データ復旧会社を雇います。