バックアップ/アーカイブ素材が入った大きなディスクがいくつかあります。それらはext4です。ディスク全体を読み直さずに数年間保存されるものについては、ディスクの磁気状態をリフレッシュする方法を考えていました。ドライブの保管寿命は、私が答えを探していたすべての場所で議論の余地があるようですが、数年(たとえば5年程度)のストレージの後、何らかの方法でデータを更新するのが賢明だと思われます(? )
私はこれが提案されているのを見ました:
dd if=/dev/sda of=/dev/sda
安全ですか?役に立ちますか?
私が探しているのは、fsck
またはdd if=/dev/sda of=/dev/null
以外のことです。どちらも、おそらくディスク上の既存の磁気ドロップアウトを検出します。
私がやりたいのは、ディスクの磁気電荷が読み取り可能なレベルを下回る前に、磁気データを更新することです。これどうやってするの?
通常、ディスク全体を読み取り/書き込みせずにディスク全体を更新することはできません。 fsck
は必要なものを提供する可能性は低いです-基盤となるデバイスではなくファイルシステムで動作するため、ほとんどの場合、ファイルシステムメタをスキャンしますデータ(iノードおよびその他のファイルシステム構造)。
_badblocks -n
_は_dd if=X of=X
_のオプションである可能性があります。いずれにせよ、おそらく大きなブロックを使用して処理を高速化する必要があります(dd
の場合は_bs=16M
_、badblocks
の場合は_-b 16777216
_、または-b $((1<<24))
妥当なシェルで)。 _conv=fsync
_をdd
と一緒に使用することもできます。
同じ入力デバイスと出力デバイスでのdd
の安全性については、入力からブロックを読み取り、出力に書き込むため、安全である必要があります(このような暗号化されたパーティションを何度か再暗号化しましたが、同じ基盤デバイスと異なるパスワードを使用してループデバイスを作成し、一方から他方にdd
'することによって)-少なくとも一部のタイプの物理メディアの場合:たとえば シングルドライブ 100%障害がないことは、私にははっきりとわかりません。
* nix内のネイティブツールを使用してこれを行う方法はわかりませんが、かなりの数年間行ってきたのは、 GRC.com のSpinriteという製品を実行することです。
いくつかのモードがあり、そのうちの1つは、すべてのセクターを実行して各ビットの状態を数回反転し、それを元の状態に戻すことによって、サーフェス/データを更新するためのものです。
私は年に数回このようにドライブで実行しています。これを大声で言いたいわけではありませんが、ハードドライブの問題はほとんどなく、かなりの数があります。
IIRCの費用は約80〜90ドルですが、その費用はすべて、データの価値があると思うものに応じて相対的です。