web-dev-qa-db-ja.com

RAIDリカバリ後のLVMの再構築

Md0を作成するためにRAID-5された4つのディスクと、md1を作成するためにRAID-5された別の4つのディスクがあります。次に、これらをLVMを介して結合して、1つのパーティションを作成します。

私が行っている間に停電があり、戻ったとき、md1のディスクの1つが同期していないように見えました-mdadmは4つのドライブのうち3つしか見つけられないと主張し続けました。何かを実現するために私ができる唯一のことは、これら4つのディスクでmdadm --createを使用してから、アレイを再構築することでした。これは私には悪い考えのように思えましたが、私が持っていたものはどれも重要ではありませんでした(すべてを取り戻すには時間がかかりますが)、そして スレッド どこかでこれで問題が解決すると主張しました。これが私のすべてのデータを破壊した場合は、読むのをやめて、それを教えてください。

アレイが再構築されるのを4時間待った後、md1は正常に見えましたが(おそらく)、lvmは、おそらくmd1がUUIDを変更したために、正しいUUIDを持つデバイスを見つけることができないと不平を言っていました。文書化されているように、pvcreateコマンドとvgcfgrestoreコマンドを使用しました ここ 。ただし、その上でlvchange -a yを実行しようとすると、resume ioctl failedメッセージが表示されます。

データを回復する希望はありますか、それとも完全に台無しにしましたか?


私のLVは直線的に設定されました。 TestDisk のようなものを使用することで、少なくともmd0からデータを回復できるはずです。ただし、 examples TestDiskにリストされているLVMパーティションを表示しますが、sda、sdbなどしか表示されません。およびmd0およびmd1。

[$]> lvdisplay
  --- Logical volume ---
  LV Name                /dev/VolGroup/lvm
  VG Name                VolGroup
  LV UUID                b1h1VL-f11t-TGJv-ajbx-4Axn-wi89-fReUKu
  LV Write Access        read/write
  LV Status              suspended
  # open                 0
  LV Size                6.14 TiB
  Current LE             1609648
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:0

[$]> lvchange -ay /dev/VolGroup/lvm
  device-mapper: reload ioctl failed: Invalid argument

2つの(RAID)ディスクをLVMボリュームに結合し、それらのディスクの1つを削除して再作成すると、実際にはデータが失われるのではないかと心配しています。 LVMストライピングを使用した場合、ファイルの他のすべてのチャンクがそのディスク上にあったため、それらは確実になくなりました。線形モードでは、いくつかのディスク回復ソフトウェアでファイルの一部を取り戻すことができるかもしれません。

あなたの基本的な構成が賢明なので、残念です。 RAID5のおかげで、1つのディスクが欠落していてもボリュームにアクセスできたはずです。 「mdadm--create」の前にバックアップを提案したと思います...

4
geewiz

次回は、2つのオプションがあります...どちらか、-createの代わりにmdadm--assembleを使用して手動でレイドをアセンブルすることができます。または、ファイルシステムチェックと同様に「ckraid」を使用できますが、RAID5アレイ用です。 (Linux Software Raid How-Toは後者について言及しています)。

ただし、個人的には、UPSなしでSW Raidを使用している場合は、電源の問題に対する耐性が高いため、個人的には5または6ではなくRAID10を使用します。

1