最近ハードドライブに障害が発生した後、Linuxでのエラーを無視して、ハードドライブをミラーリングする方法についてのHOWTOをまとめたいと思いました。これらのコマンドが正しく発行され、正しいドライブ名とデバイス名が使用されていることを確認することが重要です。 ddはプロンプトと確認を提供しません-注意して使用してください!
壊れたセクターの場合のハードディスクデータの回復は、通常、それほど複雑ではありません。
まず、読み取りと書き込みの速度を最大化するために最適なI/Oサイズを決定する必要があります。
fdisk -l / dev / sda | grep "I/Oサイズ"
私の場合、結果は512バイトを示しています。次に、故障したドライブが/ dev / sdbで、新しいドライブが/ dev / sdcであると仮定して、次のようにミラーリングを開始します。
dd if =/ dev / sdb of =/ dev / sdc conv =sync、noerror bs =512
noerrorフラグは、読み取りエラーで終了しないようにddに指示するために渡されます
ddは、USR1信号を受信するとステータスチェックを出力します。別の端末で、次を発行します:
kill -USR1 $(pidof dd)
多くの場合、不良セクタの実行後、ddの転送速度は低下し、抑制されたままになります。これを軽減するには、最初にCtrl-Cで転送を停止し、ddが現在の進行状況を出力できるようにします。
6002656+0 records in 6002656+0 records out 3073359872 bytes (3.1 GB) copied
次に、すべてのデータがフラッシュされていることを確認します:
同期
完了したら、ddが最後に中断したところから続行する前に、ドライブを取り外して再度取り付けます。
dd if =/ dev / sdb of =/ dev / sdc bs =512 conv =sync、noerror seek =6002656 skip =6002656
完了したら、新しいドライブのファイルシステムをスキャンして、ファイルシステムのエラーや破損を検出して修復する必要があります。
IOデジタル秒