「mdadm」を使用したハードウェアRAID5の復元

「mdadm」を使用したハードウェアRAID5の復元

ヒドラLCDモジュール4つのベイを備えたRAIDデバイス(4TBの2TB Hitachi)。私は2010年からRAID5モードで実行してきました。 5月、デバイスはドライブのパフォーマンスが低下したため、交換する必要があるというメッセージを送信し始めました。私も。 1ヶ月後、2番目のドライブでダウングレードメッセージが表示されました。だからこれも変わりました。

2番目のドライブが正常に復元された後、すべてが正常に実行されたようです。数日後にストレージボックスの電源を入れ直すと、突然もはやRAIDモードが検出されなくなります。ディスプレイにディスクやモードを初期化していないと表示されます。

このデバイスが廃止されたので(2015年以降だと思います)本当にパニックになります。製造元の「標準RAID技術」を使用して、一部のソフトウェアRAID代替品(たとえば)を使用してmdadmこのハードウェアRAIDを回復できることを願っています。

内部に役に立ったことを願って:

Hydra Super-S LCM内のRAIDコントローラはリバースパリティローテーションを使用し、RAIDストライプは512セクタなので、すべてのディスクにバランスの取れた方法でアクセスされ、パリティディスクに追加のワークロードがありません。

ここに画像の説明を入力してください。

mdadmRAID5などを使用してこの特定のハードウェアを復元する可能性があるかどうかを知っている人はいますか?

ところで。もう1つの問題は、ディスクが特定のOSXファイルシステムでフォーマットされていることです。しかし、いくつかのUSB3ディスクリーダーが用意されており、現在Ubuntuに接続されています。このアダプタは4つのドライブを同時に接続できます。mdadm既存のファイルシステムテーブルやRAID情報(または残りの情報)を上書きするかどうかを見て、このようなタスクを実行するのは怖いです。どんなアドバイスでも高く評価いたします。

ベストアンサー1

読み取り専用モードで実験を実行する必要があります。

RAIDレイアウトを再現しようとする素朴な試み:

# mdadm --create /dev/md100 --assume-clean --metadata=0.90 --level=5 --chunk 256K --raid-devices=4 /dev/loop[0123]

トレースデータで上書きします(データ= 16進オフセット)。

# for ((i=0; 1; i+=16)); do printf "%015x\n" $i; done > /dev/md100
# hexdump -C /dev/md100
00000000  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 0a  |000000000000000.|
00000010  30 30 30 30 30 30 30 30  30 30 30 30 30 31 30 0a  |000000000000010.|
00000020  30 30 30 30 30 30 30 30  30 30 30 30 30 32 30 0a  |000000000000020.|
00000030  30 30 30 30 30 30 30 30  30 30 30 30 30 33 30 0a  |000000000000030.|

このレイアウトでは、ブロックはどこにありますか?

# grep -ano $(printf "%015x" $((0 * 512*512))) /dev/loop[0123]
/dev/loop0:1:000000000000000 # Disk A 1
# grep -ano $(printf "%015x" $((1 * 512*512))) /dev/loop[0123]
/dev/loop1:1:000000000040000 # Disk B 2
# grep -ano $(printf "%015x" $((2 * 512*512))) /dev/loop[0123]
/dev/loop2:1:000000000080000 # Disk C 3
# grep -ano $(printf "%015x" $((3 * 512*512))) /dev/loop[0123]
/dev/loop3:16385:0000000000c0000 # Disk D 4
# grep -ano $(printf "%015x" $((4 * 512*512))) /dev/loop[0123]
/dev/loop0:16385:000000000100000 # Disk A 5

だからこれは近いですが、写真が示すものとまったく同じではありません。これはRAIDレイアウトの問題です。マウントするのに十分似ている可能性がありますが、いくつかのブロックだけが順序が間違っているため、ファイルに奇妙な破損が表示されることがあります。

mdadmデフォルトの4つのディスクRAID 5レイアウトでは、left-symmetric最初の4つのブロックを読み取る場合は、実際には4つのディスクからそのブロックを読み取ることになります。示されているレイアウトでは、ブロック4は再び4番目のディスクではなく1番目のディスクにあるため、3つのディスクから読み取られます。

したがって、画像を一致させるには別のレイアウトを試してください。

一緒に行きましょうleft-asymmetric

# mdadm --create /dev/md100 --assume-clean --metadata=0.90 --level=5 --layout=left-asymmetric --chunk 256K --raid-devices=4 /dev/loop[0123]
# for ((i=0; 1; i+=16)); do printf "%015x\n" $i; done > /dev/md100
# mdadm --stop /dev/md100
# echo 3 > /proc/sys/vm/drop_caches
# for i in {0..23}; do grep -ano $(printf "%015x" $(($i * 512*512))) /dev/loop[0123]; done

出力(より良い理解のために追加された説明):

/dev/loop0:1:000000000000000 # Disk A 1
/dev/loop1:1:000000000040000 # Disk B 2
/dev/loop2:1:000000000080000 # Disk C 3
# skips parity loop3
/dev/loop0:16385:0000000000c0000 # Disk A 4
/dev/loop1:16385:000000000100000 # Disk B 5
# skips parity loop2
/dev/loop3:16385:000000000140000 # Disk D 6
/dev/loop0:32769:000000000180000 # Disk A 7
# skips parity loop1
/dev/loop2:32769:0000000001c0000 # Disk C 8
/dev/loop3:32769:000000000200000 # Disk D 9
# skips parity loop0
/dev/loop1:49153:000000000240000 # Disk B 10
/dev/loop2:49153:000000000280000 # Disk C 11
/dev/loop3:49153:0000000002c0000 # Disk D 12
/dev/loop0:65537:000000000300000 # Disk A 13
/dev/loop1:65537:000000000340000 # Disk B 14
/dev/loop2:65537:000000000380000 # Disc C 15
# skips parity loop3
/dev/loop0:81921:0000000003c0000 # Disk A 16
/dev/loop1:81921:000000000400000 # Disk B 17
# skips parity loop2
/dev/loop3:81921:000000000440000 # Disk D 18
/dev/loop0:98305:000000000480000 # Disk A 19
# skips parity loop1
/dev/loop2:98305:0000000004c0000 # Disk C 20
/dev/loop3:98305:000000000500000 # Disk D 21
# skips parity loop0
/dev/loop1:114689:000000000540000 # Disk B 22
/dev/loop2:114689:000000000580000 # Disk C 23
/dev/loop3:114689:0000000005c0000 # Disk D 24

このレイアウトがあなたのイメージによく合うようです。おそらく効果があるでしょう。頑張ってください。

おすすめ記事