しばらく前に、私は自宅でRAID5システムを使用していました。4つのディスクの1つが故障しましたが、取り外して元に戻した後は問題ないように見えたため、再同期を開始しました。それが終わったとき、4枚のディスクのうち3枚が故障したことに、私の恐怖に気付きました。しかし、私はそれが可能だと信じていません。ディスクには複数のパーティションがあり、それぞれが異なるRAIDアレイの一部です。
- md0は、sda1、sdb1、sdc1、およびsdd1で構成されるRAID1アレイです。
- md1は、sda2、sdb2、sdc2およびsdd2で構成されるRAID5アレイです。
- md2は、sda3、sdb3、sdc3、およびsdd3で構成されるRAID0アレイです。
md0とmd2はすべてのディスクを報告し、md1は3つの障害(sdb2、sdc2、sdd2)を報告します。私の理解では、ハードドライブが故障すると、真ん中のパーティションだけでなく、すべてのパーティションが失われるはずです。
その時点で、コンピューターの電源を切り、ドライブのプラグを抜きました。それ以来、私はそのコンピューターをより小さな新しいディスクで使用していました。
データを回復する希望はありますか?私のディスクが実際に動作していることをmdadmに何らかの形で納得させることはできますか?実際に問題がある可能性がある唯一のディスクはsdcですが、そのディスクも他のアレイによって報告されます。
更新
私はついに古いディスクを接続し、SystemRescueCdからこのマシンを起動する機会を得ました。上記はすべてメモリから書き込まれました。現在、いくつかのハードデータがあります。以下が出力ですmdadm --examine /dev/sd*2
/dev/sda2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 GiB 640.07 GB)
Array Size : 1875194880 (1788.33 GiB 1920.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 1
Update Time : Mon Aug 23 11:40:48 2010
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 1
Spare Devices : 1
Checksum : 68b48835 - correct
Events : 53204
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 0 8 2 0 active sync /dev/sda2
0 0 8 2 0 active sync /dev/sda2
1 1 8 18 1 active sync /dev/sdb2
2 2 8 34 2 active sync /dev/sdc2
3 3 0 0 3 faulty removed
4 4 8 50 4 spare /dev/sdd2
/dev/sdb2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 GiB 640.07 GB)
Array Size : 1875194880 (1788.33 GiB 1920.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 1
Update Time : Mon Aug 23 11:44:54 2010
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 1
Spare Devices : 1
Checksum : 68b4894a - correct
Events : 53205
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 1 8 18 1 active sync /dev/sdb2
0 0 0 0 0 removed
1 1 8 18 1 active sync /dev/sdb2
2 2 8 34 2 active sync /dev/sdc2
3 3 0 0 3 faulty removed
4 4 8 50 4 spare /dev/sdd2
/dev/sdc2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 GiB 640.07 GB)
Array Size : 1875194880 (1788.33 GiB 1920.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 1
Update Time : Mon Aug 23 11:44:54 2010
State : clean
Active Devices : 1
Working Devices : 2
Failed Devices : 2
Spare Devices : 1
Checksum : 68b48975 - correct
Events : 53210
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 2 8 34 2 active sync /dev/sdc2
0 0 0 0 0 removed
1 1 0 0 1 faulty removed
2 2 8 34 2 active sync /dev/sdc2
3 3 0 0 3 faulty removed
4 4 8 50 4 spare /dev/sdd2
/dev/sdd2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 GiB 640.07 GB)
Array Size : 1875194880 (1788.33 GiB 1920.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 1
Update Time : Mon Aug 23 11:44:54 2010
State : clean
Active Devices : 1
Working Devices : 2
Failed Devices : 2
Spare Devices : 1
Checksum : 68b48983 - correct
Events : 53210
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 4 8 50 4 spare /dev/sdd2
0 0 0 0 0 removed
1 1 0 0 1 faulty removed
2 2 8 34 2 active sync /dev/sdc2
3 3 0 0 3 faulty removed
4 4 8 50 4 spare /dev/sdd2
前回のブート以降、状況が変わったようです。これを正しく読んでいる場合、sda2、sdb2およびsdc2は動作しており、同期データが含まれており、sdd2はスペアです。3台のディスクが故障したことをはっきりと覚えていますが、これは朗報です。それでも、アレイはまだ機能していません。
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md125 : inactive sda2[0](S) sdb2[1](S) sdc2[2](S)
1875194880 blocks
md126 : inactive sdd2[4](S)
625064960 blocks
md127 : active raid1 sda1[0] sdd1[3] sdc1[2] sdb1[1]
64128 blocks [4/4] [UUUU]
unused devices: <none>
md0はmd127に名前が変更されたようです。md125とmd126は非常に奇妙です。それらは2つではなく1つの配列でなければなりません。以前はmd1と呼ばれていました。md2は完全に削除されましたが、それは私のスワップだったので気にしません。
私は異なる名前を理解できますが、それは実際には問題ではありません。しかし、3つの「アクティブ同期」ディスクを持つアレイが読み取れないのはなぜですか?そして、sdd2が別の配列になっているのはどうですか?
更新
スーパーブロックをバックアップした後、次のことを試しました。
root@sysresccd /root % mdadm --stop /dev/md125
mdadm: stopped /dev/md125
root@sysresccd /root % mdadm --stop /dev/md126
mdadm: stopped /dev/md126
ここまでは順調ですね。sdd2はスペアなので、まだ追加しません。
root@sysresccd /root % mdadm --assemble /dev/md1 /dev/sd{a,b,c}2 missing
mdadm: cannot open device missing: No such file or directory
mdadm: missing has no superblock - assembly aborted
どうやらそれはできません。
root@sysresccd /root % mdadm --assemble /dev/md1 /dev/sd{a,b,c}2
mdadm: /dev/md1 assembled from 1 drive - not enough to start the array.
root@sysresccd /root % cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : inactive sdc2[2](S) sdb2[1](S) sda2[0](S)
1875194880 blocks
md127 : active raid1 sda1[0] sdd1[3] sdc1[2] sdb1[1]
64128 blocks [4/4] [UUUU]
unused devices: <none>
それもうまくいきませんでした。すべてのディスクで試してみましょう。
mdadm --stop /dev/md1
mdadm: stopped /dev/md1
root@sysresccd /root % mdadm --assemble /dev/md1 /dev/sd{a,b,c,d}2
mdadm: /dev/md1 assembled from 1 drive and 1 spare - not enough to start the array.
root@sysresccd /root % cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : inactive sdc2[2](S) sdd2[4](S) sdb2[1](S) sda2[0](S)
2500259840 blocks
md127 : active raid1 sda1[0] sdd1[3] sdc1[2] sdb1[1]
64128 blocks [4/4] [UUUU]
unused devices: <none>
運がありません。この答えに基づいて、私は試してみる予定です:
mdadm --create /dev/md1 --assume-clean --metadata=0.90 --bitmap=/root/bitmapfile --level=5 --raid-devices=4 /dev/sd{a,b,c}2 missing
mdadm --add /dev/md1 /dev/sdd2
安全ですか?
更新
コメントでそのテーブルを作成するために使用したスーパーブロックパーサースクリプトを公開します。誰かが役に立つと思うかもしれません。ご助力いただきありがとうございます。
mdadm -A /dev/md1 /dev/sd{b,c,d}2
(おそらく--force
)でアレイを停止し、新しいアレイを再構築しようとしましたか?(あなたは、最初のスーパーブロックをバックアップしていない場合。)
/dev/sdd2
同じUUIDを持っているにも関わらず、どのようにして別の配列に入れることができるのか分かりませんsd{a,b,c}2
。
mdadm --re-add
はあなたが探しているものではないと思います。最近、メモリテストをしましたか?アレイの障害に関連するログメッセージはありますか?