/ devで不良ドライブが消えるのを防ぐ方法はありますか?

/ devで不良ドライブが消えるのを防ぐ方法はありますか?

破損したドライブのパーティションを回復するためにddrescueを使用しようとしています。私は走る:

$ sudo ddrescue -r -1 -v /dev/sdd3 OUT.img dd_rescue_logfile

しばらくはうまくいくようですが、約1時間後にドライブが/ devから消えたため、「現在の速度」は0に低下しました。ドライブを回復するために私が考えることができる唯一の方法は、システムを再起動し、ddrescueコマンドを実行して中断された部分から再起動することでした。これにより、プログラムの実行が非常に困難になります。ただ残して数日間忘れられないからです。ディスクが消えないように継続的に監視する必要があります。私はArch LinuxとFedora 22の両方でこの動作を見ました。

私はある時点でカーネルがドライブへのアクセスを失い、/ devからドライブを削除したとします。これを避ける方法はありますか?デバイスが破損しているように見えるか存在しない場合でも、デバイスをそのままにするようにカーネルに指示しますか?

ベストアンサー1

正しいモジュールをアンロード/再ロードすると(またはドライバをバインド解除して再バインドした場合)、再起動せずに再スキャンできます。

たとえば、

[  978.527221] sd 11:0:0:1: [sdk] Attached SCSI removable disk
#~> echo 11:0:0:1 > /sys/bus/scsi/drivers/sd/unbind
#~> echo 11:0:0:1 > /sys/bus/scsi/drivers/sd/bind
[ 5572.027119] sd 11:0:0:1: [sdk] Attached SCSI removable disk

あるいは、この方法が機能しておらず、同じコントローラに接続されている他のデバイスがない場合は、たとえば/sys/bus/pci/drivers/ahci/AHCIを介してコントローラ全体をバインド解除してバインドできます。

実際に動作しているかどうかをテストする欠陥のあるドライブはありませんが、以前はこの方法を使用して、デフォルトでホットスワップ不可能なスロットからMicroSD / MMCカードを強制的に再検出しました。

ddrescue速度をゼロに下げる場合は、そのオプションをサポートしていることを-a, --min-read-rate=<bytes>確認したい場合があります。遅い領域を欠陥として処理してスキップします。最悪のシナリオは、外部からディスクを監視し、強制的に再起動する必要があることですddrescue

おすすめ記事