ストライプアレイ(zfs / lvm?)の1つのディスクに各(フル)ファイルを保存します。

ストライプアレイ(zfs / lvm?)の1つのディスクに各(フル)ファイルを保存します。

私の設定は、ストライプアレイとして使用したい2台のHDDドライブ(3TB + 4TB)です。

私はこれを達成したいと思います。私のドライブの1つに障害が発生した場合、私のファイル(良いドライブにある)の半分が安全であることが保証されます。つまり、私の各ファイル完全ストレージは2つのドライブに分散(ブロックに分割)されず、2つのドライブのいずれかにあります。

これをZFSまたはLVMで実行できますか?

そうでない場合は、このタスクの他のオプションがありますか?

同様に、2つのドライブを1つの大きなパーティションにマージしたいと思います。 2台目のドライブが閉じたら、1台目のドライブに保存されているファイルにアクセスしたいと思います。

答え1

ZFSで可能な唯一の構成は、それぞれ1つのディスクで構成される2つの別々のプールを作成することです。

プールに接続するとストライプ状に接続され、1つのディスクが失われるとプール全体に致命的になります。 "copies = 2"を使用しないと、単一ファイルの損失も致命的です。

Lambertの提案は良い解決策ですが、3 + 4TBの代わりに2x3TBを持つことになるので、2.0以上の圧縮が必要です(すでにシングルユーザーシステムでは達成するのは難しい)。

答え2

最後に、いくつかの調査の終わりに私が見つけたものを見つけました。

正しいキーワードは「union mount」です。

Linuxにはいくつかのオプションがあります。

私の最終選択はファイルシステムのマージ。理由を説明します。

OverlayFSはカーネルに組み込まれています(これは大きな利点です)。しかし。設計上、常にあるパーティションに書き込まれ、他のパーティションは変更されていません。これは、読み取り専用パーティションを書き込み可能にする必要がある場合に便利ですが(LiveCDのように)、両方のパーティションに同じように書きたいと思います。

以下はUnionFSとaufsです。 UnionFS についてはよくわかりませんが、aufs には aufs パッチを適用するためにカーネルの再構築が必要なので、これはお勧めできません。

3番目のオプションはFUSEベースのソフトウェアです。そのうちのいくつか(funionfs)はディストリビューションリポジトリに見つからず、一部(unionfs-fuse)はバージョン番号が1.0なので、かなり原始的であると仮定します。

だから私はmergefsを試しましたが、どんな欠点も見つけられませんでした(私のユースケースでは)。任意のファイルシステムと任意のサイズの論理ボリュームを使用できます。ファイルは、すべてのドライブ(RAID0、lvm、zfsなど)には分散されません。一部のドライブ(フルドライブより少ない)が利用できない場合でも、一部のデータにアクセスできます。バランス! (新しいファイルはより多くの空き容量を持つドライブに書き込まれます。)カーネルを再構築する必要はありません:)

関連情報