私は一生ディスク障害に遭遇したことはありませんが、数十のビット腐敗とサイレント破損がありました。 「通常の」ファイルシステムとハードウェアRAIDは、それについてまったく何もできません。私は最も重要なデータを保護するためにアプリケーションレベルのパリティ冗長性を使用してきましたが、それは明らかにあまり効果的ではありません。
ソフトウェアRAIDのチャンクのZFSストアチェックサムを知っています。これは、ビットの腐敗やサイレントな破損に対する保護を提供します。問題は、私はRAIDを望んでいないということです。
では、RAIDまたはマルチディスクシステムなしでファイルシステムレベルのパリティを使用することは可能ですか?たとえば、RAID5のように同じサイズのディスクのパリティを別のディスクに保存する代わりに、「チャンク」のパリティを保存するためにディスクスペースの一部を割り当てる。
回答ありがとうございました。回答に基づく結論は次のとおりです:
いいえ、RAIDなしでZFSパリティを使用することはできませんが、RAIDなしでミラーコピーを使用することはできます。
チェックサムは破損のみを検出できます。データの復元には役立ちません。
2つ(またはそれ以上)のvdevにデータをミラーリングするつもりがない場合は、copies
ZFSプロパティを設定して、ZFSに保持するように指示することができますnデータのコピー(1、2、または3)。一方のコピーが破損した場合、もう一方を使用してデータを回復できます。
$ zfs get copies srv
NAME PROPERTY VALUE SOURCE
srv copies 1 default
$ zfs set copies=2 srv
これは実際のディスク障害から保護するものではないことに注意してください(これまでに経験したことがない場合でも発生する可能性があります)。 これはバックアップではありません。データの適切なバックアップを作成します。
これはZFSの良いユースケースではないと思います。それはあなたが望ましい解決策を持っていて、これを適合させようとしているようなものです。
はい、ZFSがありますcopies=
パラメータ。これは、ディスクの異なるセクターにファイルの複数のコピーを格納するよう努めますが、真の冗長性の代わりにはなりません。
参照してください: https://jrs-s.net/2016/05/02/zfs-copies-equals-n/
質問を投稿して「RAIDはテーブルから外れている」などのしっかりしたことを言うときは、実際の質問に答えられるように、なぜこれらの制約があるのかを説明すると役立つ場合があります。