web-dev-qa-db-ja.com

データを回復するためにraid0セットアップから2つの古いディスクを再マウントします

サーバーのRAID0に2つの500GBディスクをセットアップしましたが、最近ハードディスク障害が発生しました(起動時にHDDでS.M.A.R.Tエラーが発生しました)。ホストが2つの新しいディスクをRAID-0に再度配置し(OSを再インストール)、同じマシンに古いドライブを再接続して、データを回復できるようにしました。

私の古いドライブは次のとおりです。

  • /dev/sdb
  • /dev/sdc

古いドライブからデータを回復できるように、これら2つのディスクをRAID0にマウントし直すにはどうすればよいですか?それとも、これはもう不可能ですか?すべてのデータを失いましたか?

これは私の /etc/fstabおよびdf -h

これは私のfdisk -l

[root@localhost ~]# fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00040cf1

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              13        1288    10240000   83  Linux
/dev/sda3            1288        2333     8388608   82  Linux swap / Solaris

Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005159c

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1       60802   488385536   fd  Linux raid autodetect

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006dd55

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sdb2              26        4106    32768000   82  Linux swap / Solaris
/dev/sdb3            4106        5380    10240000   83  Linux
/dev/sdb4            5380       60802   445172736    5  Extended
/dev/sdb5            5380       60802   445171712   fd  Linux raid autodetect

Disk /dev/sdd: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x9f639f63

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               1       60802   488385536   83  Linux

Disk /dev/md127: 956.0 GB, 955960524800 bytes
2 heads, 4 sectors/track, 233388800 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 524288 bytes / 1048576 bytes
Disk identifier: 0x00000000

このコマンドでこれを実行できることをどこかで読みました:mdadm -A --scanただし、結果は得られません->構成ファイルまたは自動的に配列が見つかりません

3
Latheesan

まず、データの値を決定します。これがあなたが持っているビジネスクリティカルなデータである場合持っている、専門のデータ復旧サービスにディスクを送ることに関してあなたのオプションを評価してください。死にかけているディスクとクラッシュしたRAIDアレイからの自己回復は、常にマップの端から少し外れています。古いドライブのデータが失われたと既に想定していて、データの回復を望んでいて、追加のお金を使いたくない場合は、次に進みます。

おそらく、配列を強制的にまとめる必要があります。 RAIDはクリーンではないことを認識しており、とにかく笑顔でふりをするように指示しているため、これによりサイレント破損が発生する可能性があります。 RAIDからプルオフするファイルの整合性を手動で検証する必要があることに注意してください。

次の方法で配列を強制できます。

mdadm --assemble --force /dev/md126 /dev/sdb5 /dev/sdc1

/dev/md126がシステムにすでに存在する場合は、空き(存在しない)デバイスが見つかるまで、次のデバイス(/dev/md125)を選択します。

これにより、アレイが強制的に動作状態になります。ファイルシステムをマウントしましょう読み取り専用これ以上何も破損することなくデータをプルできるようにします

mkdir /mnt/oldData
mount /dev/md126 /mnt/oldData -o ro

この時点で、/mnt/oldDataから安全な場所にデータをコピーできるはずです。

3
Darth Android