web-dev-qa-db-ja.com

fsckによるリカバリ

最近、アイルランドでAWSの問題が発生し、ボリュームが失われたため、リカバリを試みる必要があります。

問題のボリュームを/ dev/sdfに添付しました-

私はこれに完全に不慣れで、何が起こっているのか完全にはわかりませんが、これは有望に見えません>>

> Sudo fsck /dev/sdf
fsck from util-linux-ng 2.17.2 
 e2fsck 1.41.12(17-May-2010)
 fsck。 ext4:スーパーブロックが無効です。バックアップブロックを試行しています... 
 fsck.ext4:/ dev/sdf 
 
を開こうとしているときにスーパーブロックのマジックナンバーが正しくありません。正しいext2 
ファイルシステムを読み取るか、説明していません。デバイスが有効で、実際にext2 
ファイルシステムが含まれている場合(スワップやufsなどは含まれていません)、スーパーブロック
が破損しているため、代替スーパーブロックを使用してe2fsckを実行してみてください。 
 e2fsck -b 8193 

Fdisk -l/dev/sdfを実行すると...受信します>>

 Sudo fdisk -l /dev/sdf

ディスク/ dev/sdf:8589 MB、8589934592バイト
 255ヘッド、63セクター/トラック、1044シリンダー
単位= 16065のシリンダー* 512 = 8225280バイト
セクターサイズ(論理/物理):512バイト/ 512バイト
 I/Oサイズ(最小/最適):512バイト/ 512バイト
ディスク識別子:0x00000000 
 
ディスク/ dev/sdfに有効なパーティションテーブルが含まれていません
 

詳細情報実行後:

> Sudo mke2fs -n/dev/sdf 
ブロックに保存されたスーパーブロックバックアップ:32768、98304、163840、229376、294912、819200、884736、1605632 

誰かが助けを提供できますか、fsckの実行に関する経験はあまりありません。

前もって感謝します!

編集>>答えを見つけました:

> Sudo mount -t xfs -o/dev/sdf /mnt/test-ebs
XFS:ファイルシステムsdkに重複したUUIDがあります-マウントできません
> Sudo mount -t xfs -o nouuid/dev/sdf /mnt/test-ebs
mount:構造をクリーニングする必要があります
> Sudo xfs_repair -L /dev/sdf
..
.
接続されたiノード9625284、lost + found 
切断されたiノード9625285に移動lost + found 
切断されたiノード9625286に移動、lost + found 
切断されたiノード9625287に移動、lost + found 
切断されたiノード17957583に移動、lost + found [.____に移動。] disconnected dir inode 17977810、lost + found 
 disconnected dir inode 17977835、lost + found 
フェーズ7-リンクカウントの確認と修正... 
 inodeのリセット368465nlinksを2から4 
 iノード17977810nlinksを0から2にリセット
 .. 

次に、これを再度実行しましたSudo mount -t xfs -o nouuid/dev/sdf/mnt/test-ebs

すべてが機能しています!

乾杯

4
williamsowen

Fsckを実行する前に、ファイルシステムのイメージを作成してから作業します。したがって、何か問題が発生した場合は、オリジナルがあります。ファイルシステム自体で作業しないでください。

また、sdfがファイルシステムであり、sdfがドライブ自体であり、ファイルシステムがその上のパーティションにある可能性はほとんどありません。 fdisk -l/dev/sdfを実行してパーティションを確認し、/ dev/sda1でfsckを試してください。

デバイスの画像を準備するには:

# dd if=/dev/sdfX of=sdfX.img

ここで、Xは、fdisk-lでリストされているパーティション番号です。

次に、イメージでfsckを実行します。編集:(注:fsckを直接使用することはできません。代わりに、これがどのタイプのファイルシステムであるかをfsckに通知する必要があります)

# fsck.ext3 sdfX.img

Fsckがパーティションを修正したら、次のようにマウントします。

# mount -o loop sdfX.img /mnt/somedir

あなたのコメントによると、fdiskはパーティションをリストしていません-これはパーティションテーブルも失われることを意味するかもしれません。

ここでも、デバイス全体のイメージを作成します。

# dd if=/dev/sdf of=sdf.img

次に、イメージで testdisk を使用して、パーティションテーブルの回復を試みます。

別のオプションは、画像に photorec を使用することです。これは、ファイルシステムが破損している場合でも、ファイルを検出して見つけることができる非常に優れたツールです。それは大量のファイル形式を回復することができます。少なくとも、データを取り出すことができます。

2
Sunny