時々静かな欠陥があると疑われるSSDがあります。実行してみるbadblocks
と、不良セクタではないことは明らかですが、電子機器の競争条件がある可能性があります。この場合、再試行するとデータを正しく読み取ることができます。
通常のディスクには、より多くのスペースを占めてエラーを修正するECCがあります。 Linuxはブロックデバイスの上にECC層を追加できますか?
私はデバイスマッパーに似たものを考えています。おそらく次のようになります。
dmsetup create-ecc /dev/orig /dev/mapper/with_ecc
したがって、/dev/mapper/with_ecc に対するすべての読み取りおよび書き込みは、/dev/orig の ecc 読み取り/書き込みに変換されます。
編集する:
他の人もそれを探しているようです。 http://permalink.gmane.org/gmane.linux.kernel.device-mapper.devel/8756
答え1
BTFSzfs はデータの整合性のために設計されています。
デフォルトでは、btrfsは単一のデバイス構成からメタデータをコピーします。データをコピーすることもできると思います。しかし、私は一度もやったことがありません。
zfsにはcopies=n
シングルディスクRAID1のようです。選択した冗長度は、使用可能なデバイススペースとデバイスのパフォーマンスに悪影響を及ぼすことを考慮してください。幸い、パーティション/ボリュームごとに複製/複製を指定できます。
このブログの投稿を確認してください。Richard Elling / Oracleの単一デバイスのzfsについて説明します。残念ながら、グラフィックイメージはロードされませんでした。
実際の証拠と逸話的な証拠の両方が、デバイスが依然としてかなりの程度で動作している間に回復不能なエラーが発生する可能性があることを示唆しています。 ZFSはデータを失うことなくこれらのエラーを受け入れることができます。とても素敵です。しかし、マーフィーの法則は最終的にあなたに追いつくでしょう。 ZFSがデータを回復できない場合、ZFSはどのファイルが破損しているかを知らせます。その後、バックアップまたはソースメディアから復元する必要があるかどうかを判断できます。
答え2
SSDでSMARTセルフテストを実行します。次のコマンドをrootとして実行します(/dev/sda
SSDのデバイス名に置き換えます)。
smartctl -t long /dev/sda
数時間かかります。完了したら、次のように結果を照会できます。
smartctl -a /dev/sda | less
このSMART Selective self-test log
ブロックまで下にスクロールします。トップレベルの結果が表示された場合、Completed without error
SSDには問題はありません。エラーが報告されるとエラーが発生したことを意味するため、できるだけ早くデータを保存する必要があります。