RAID 10を起動できません。

RAID 10を起動できません。

私が管理しているRAID 10アレイにmdadmエラーが発生しました。症状は、Xがクラッシュして端末からログインできないことです。コンピュータを再起動しましたが起動/dev/md1しません。

次の情報を収集しました。一部の情報は他のコンピュータに手動でコピーしたため、不完全です。

$ cat /proc/mdstat

....

md1 :   inactive sdb3[1](S) sdd1[3](S) sdc2[2](S) sda1[0](S)
        1250273760 blocks super 1.0

インストール失敗

$ mount /dev/md1    
EXT4-fs (md1): unable to read superblock

スキャンでメタデータが見つかりました。

$ mdadm --examine --scan
...
ARRAY /dev/md/1 metadata=1.0 UUID=2c... name=linux:1

運用イメージ不足で実行失敗

$ mdadm --run /dev/md1
md/raid0:md1: not enough operational mirrors.
md: pers->run() failed...
mdadm:failed to run array /dev/md1: Input/output error

実行しようとした後、アレイには2つのディスクしか残りません。

$ cat /proc/mdstat
....
md1  : inactive sdd1[3] sdc2[2]
       62513638 blocks super 1.0

ディスクを再度追加しようとしましたが失敗しました。

$ mdadm /dev/md1 --add /dev/sda1
mdadm: /dev/sda1 reports being an active member for /dev/md1, but --re-add fails
mdadm: not performing --add as that would convert /dev/sda1 in to a spare
mdadm: To make this a spare, use "mdadm --zero-superblock /dev/sda1" first

配列を再生成するためにいくつかのメタデータを記録しました。

$ mdadm --examine /dev/sdb3 /dev/sdd1 /dev/sdc2 /dev/sda1 | grep -E 'dev|Update|Role|State|Chunk Size'
/dev/sdb3:
  State: active
  Update time:  Mon May 14 21:51:41 2012
  Chunk Size: 256K
  Device Role: Active device 1
  Array State : AAAA
/dev/sdd1:
  State: active
  Update time:  Mon May 14 22:11:11 2012
  Chunk Size: 256K
  Device Role: Active device 3
  Array State : ..AA
/dev/sdc2:
  State: active
  Update time:  Mon May 14 22:11:11 2012
  Chunk Size: 256K
  Device Role: Active device 2
  Array State : ..AA
/dev/sda1:
  State: active
  Update time:  Mon May 14 21:51:41 2012
  Chunk Size: 256K
  Device Role: Active device 0
  Array State : AAAA

以前に記録された情報に基づいて配列を手動で再生成してみました。

$ mdadm --create --metadata=1.0 --assume-clean --level=10 --raid-devices=4 --chunk=256K /dev/md1 /dev/sda1 /dev/sdb3 /dev/sdc2 /dev/sdd1
mdadm: /dev/sda1 appears to contain an ext2fs file system
mdadm: /dev/sda1 appears to be part of a raid array
mdadm: /dev/sdb3 appears to contain an ext2fs file system
mdadm: /dev/sdb3 appears to be part of a raid array
mdadmin: /dev/sdc2 appears to be part of a raid aray
mdadmin: /dev/sdd1 appears to be part of a raid aray

マウントが再び失敗します。これは、攻撃者が正しく作成されていないことを意味する可能性があります。

$マウント/dev/md1 /mnt

EXT4-fs (md1): ext4_check_descriptors: Checksum forgroup 0 failed (54076!=0)
EXT4-fs (md1): group descriptors corrupted!

fsckを実行すると、重大に考慮できないほど多くのエラーが発生するため、実行を許可しませんでした。

「欠けている」デバイスと2つのディスクを使用してアレイを再作成しようとしましたが、組み合わせは機能しませんでした。みんな試してみたかどうかはわかりませんが、確かにたくさん試してみました。


いくつかの詳細:

  • mdadmバージョンは2.3.2で、OpenSUSE 12.1、カーネル3.1.10、x86_64で実行されます。
  • smartctl -t shortすべてのハードドライブがエラーなく完了しました。

情報を失うことなくRAIDアレイを再構築する方法または情報を抽出して別の場所にコピーしますか?また、配列を再作成しようとしたときに上記で何か間違ったことをしているかどうかを知りたいです。

ベストアンサー1

いくつかの助けを借りて、次のことでパフォーマンスが低下したアレイを再構築することができました。

  1. 使用テストディスクユーティリティを実行し、ディスク/dev/sdc/dev/sddパーティションテーブルの両方がGPTとしてマークされていることを確認してください。
  2. パーティションタイプではなく/dev/sdd列としてリストされるようにパーティションテーブルを変更しました。fd83
  3. /dev/sda1RAIDアレイのみを使用して作成します。/dev/sdd1
  4. 実行e2fsck -y /dev/md1(多数の修正が期待される)

RAIDアレイを再構築するのに役立つヒントは、rawデバイスの最初の100 MBを見て、e2fsckに渡す必要がある有効なext2のように見えることを確認することです。

dd if=/dev/md1 of=/tmp/md1.img bs=1k count=1024
strings md1.img | lesss

おすすめ記事