2017-08-07 21 views
-3

CentOSリリース6.6を使用しています。今日は、ディスクの書き込み速度を500GBのディスクにテストするために、/dev/sdcを試したかったのです。fioでディスクに書き込んだ後にディスクを回復する方法

私は、このコマンドを使用:私は、ディスクを見てコマンドdf -hを使用する場合

fio -filename=/dev/sdc -direct=1 -iodepth 1 -thread -rw=randwrite \ 
    -ioengine=psync -bs=16k -size=1G -numjobs=5 -runtime=15 -group_reporting \ 
    -name=mytest 

、私はlsを使用しますが、私はできない、

Filesystem   Size Used Avail Use% Mounted on 
9.0Z 9.0Z  0 100% /data 

/dataで取得します任意のデータを参照してください。ディスクはext4です。

どうすれば回復できますか?

+0

'/ dev/sdc'は'/data'にマウントされましたか? '/'にマウントされましたか?もしそうなら、 '-filename =/dev/sdc'と' -rw = randwrite'を指定すると、すべてがランダムなビットで詰まってしまい、復旧がほぼ不可能になるからです。ごめんなさい。 – PaSTE

+0

@PaSTE/dev/sdc/dataをマウントします。私には何の希望もありませんか?なんてこった ! – taoyantu

+0

ファイルシステムをアンマウントし、/ dev/sdc上でgrepを使用して、以前にそこにあったデータがあるかどうかを確認してください。データがあれば、少なくともそれを別のディスクに回復することができます。 –

答えて

0

fioに1GBのランダムデータを書き込んで/dev/sdcに書き込むと、おそらくパーティションテーブル(およびディスク上の最初の物理パーティションの重要な部分)が上書きされたと考えられます。おそらく最初の1GBは決して再び見ることはできません。しかし、慎重で幸運なことに、他の499 GBを回復できる可能性があります。

ディスクを使いこなす前に、データをそのまま外付けドライブにバックアップして安全に保管してください。 ddのようなツールを使用して、ドライブをブロックデバイスとしてマウントするのではなく、ドライブからrawビットをコピーするようにしてください。

自動でパーティションテーブルを復元することはできませんが、以前にパーティションがどのようにパーティション化されているか分かっている場合は、partedを使用して同じ方法でパーティションを再パーティションできます。たとえば、ディスク全体にext4形式のパーティションが1つ含まれている場合は、parted -s /dev/sdc -- mklabel gpt mkpart primary ext2 0 -1sを実行できます。

パーティションテーブルが再構築されたら、新しいパーティションをフォーマットする前に、fsck.ext4を実行してみてください。 -bフラグを指定し、プログラムが使用可能なバックアップスーパーブロックになるようにする必要があります。これは、プライマリスーパーブロックが上書きされた最初のGBのディスクのどこかにある可能性が高いためです。最新のシステムでは、バックアップスーパーブロックは、通常、ブロック32768であるが、ymmvである。

最終的な努力(そして運が良ければ)をパーティションに入れて、mkfs.ext4 -Sとすると、何も拭き取ることなくスーパーブロックを再構築しようとします。

そして、これらの提案のいずれかが仕事以上のデータの破損につながらない場合は、最初からやり直すことができるようにreadthemanpagesに確認し、便利なそのバックアップをキープ!

関連する問題