連合ファイルシステムの選択方法

連合ファイルシステムの選択方法

私は、ユーザーが複数のファイルシステムを同時にマウントできるようにする連合ファイルシステムの内容をランダムに読みました。

しかし、どちらを使用するのか(Unionfs、Aufs、Overlayfs、mhddfs)を決定するのに苦労しており、なぜこのトピックに関する具体的な情報がどこにも見つからないのか心配しています。たとえば、私はoverlayFSが主流のLinuxカーネルに採用されていることを知っています。これは、より広く採用される可能性があることを意味します。誰かが私にどんな視点を与えることができれば、私は非常に感謝します。

また、LVM以外の連合ファイルシステムのユースケースが見つかりません(ユーザーが推奨)。別の質問)またはRAID設定が必要ですが、LVMではすべてのドライブをフォーマットする必要があります。これは、ドライブにすでに重要なデータがある場合はお勧めできません。

答え1

以下はいくつかの考えです。私はまだこの内容を学んでおり、更新を続けていきます。

連合ファイルシステムの選択方法

これを見るには2つの方法があります。

  • それぞれの特性をどのように比較しますか?
  • 一般的なユースケースではどのようなものを選ぶべきですか?

mhddfsを置き換えるUnionfs/unionfs-fuse/overlayfs/aufs/mergerfsを比較しましょう。

それぞれに固有の特性があります。

開発状況

ディストリビューション/カーネルサポート

カーネルモードとユーザーモードのファイルシステムがあり、後者はFUSEで実行されます。カーネルモードはオーバーヘッドが少ない(コードがユーザ空間とカーネル空間を切り替えるときにオーバーヘッドがある)現在サポートされていますLinuxカーネルではファイルシステムの上書き。ユーザーモードファイルシステムを使用すると、ディストリビューションをパッケージ化するのが簡単になります。

  • 同盟そしてオブカーネルパッチが必要
  • 同盟Debian で配布しない (残りを配布する)
  • UnionFS ヒューズそしてファイルシステムのマージFUSEベースなので、カーネルに追加のモジュールを追加する必要はありません。
  • ファイルシステムの上書き3.18以降のカーネルの一部(Debian Stretch)

書き込み時のコピー

これは、次の Live CD ユースケースに関連しています。

  • ファイルシステムのマージ作成されたレプリカはありません
  • 他の人はこうしています。

はい

読み取り専用ルート/ Live CDユースケース

アイデアは、Linuxシステムの読み取り専用CD-ROM/パーティションを持つことです。連合ファイルシステムはユーザーに読み取り/書き込みシステムとして表示されるため、ユーザーは変更できます。ユーザーが変更したすべての内容の「デルタ」を保存しますが、フルスナップショットには保存しない読み取り/書き込みファイルシステム(tmpfs RAMディスクなど)が必要です。

ここでは、mergefsを除くすべての統合ファイルシステムが利用可能です。

ドッカーのユースケース

これが主なユースケースであることを知っていますが、詳細はわかりません。誰でもこれに関する指示を提供できますか?

ハードドライブのマージ

たとえば、/home異なるファイルシステムに2つのディレクトリセットがあるとします。または、2 台目のハードドライブに家庭用コンピュータをアップグレードし、単一の論理ボリュームが必要になる場合があります。

ここでは実際に書き込み中にコピーする必要はないので、mergefsはおそらく最良の選択肢でしょう。

ディスクプール用のLVMを含む統合ファイルシステム

LVMの代わりに連合ファイルシステムを使用して実装できるいくつかのユースケースをリストします。

2番目のディスクに既存のシステムをアップグレードする場合は、mergefsのような方法がより良いかもしれません。 LVMは最初のハードドライブを再フォーマットする必要があるため、そのドライブのデータが削除されるためです。 Unionファイルシステムはこの手順を回避します。

LVMは2つの物理ハードドライブ(RAID 0と仮定)にファイルを分割できるため、1つのハードドライブに障害が発生するとファイルが失われます。

たとえば、一部のユーザーは/homeカタログをポータブルUSBスティックに保存することを好むかもしれません。

2 つの物理ディスクに 1 つの仮想パーティションを使用する場合、LVM を使用すると、ファイルが 1 つのディスクに保存されるのか、別のディスクに保存されるのかを心配する必要はありません。 mergefs を使用すると、システムは使用可能なスペースの量に応じて、どちらを自動的に選択できます。

答え2

Bobの答えは入門書/概要としてとても役に立ちました。ユーザーの観点から、この状況に関する私の結論を追加したいと思います。

歴史的に、統合マウントファイルシステムの概念は以前にさかのぼります。結合マウント。その後、2000年代初頭にUnionfsが登場しましたが、これは人気の面でaufsを圧倒しましたが、最終的にカーネルメンテナーによって拒否されました。ファイルシステムの上書き。 Overlayfsは、カーネルで比較的単純な(最大1つの読み書きレイヤー)フェデレーションファイルシステムを提供する唯一のゲームのように見え、dockerなどで広く使用されています。

元のUnionfsは次のようになります。より差別化されたoverlayfsよりも(たとえば、複数の読み取りおよび書き込みレイヤを許可するなど)、今日、これらの複雑さは主に次のように主導されています。ヒューズUnionfs-fuse(unionfsとは別のプロジェクト)などの統合ファイルシステムに基づいています。ファイルシステムのマージ

マージ書き込みの時点で最高のオプションのように見え、複数の一般的なハードドライブを組み合わせて、新しいファイル/書き込みの作成がディスク間でどのように分散されるかを異なるポリシーで選択するなど、複雑な設定を可能にします。

独自にmergefsは、LVM / RAID0 / BTRFS(シングル)を使用してディスクを単一のファイルシステムに結合するのではなく、単純ディスク(JBOD)ベースの代替手段として使用できます。主な利点は復元力です。障害が発生したディスクはファイルシステム全体を中断しません。 Mergerfsは次のようにうまく機能します。スナップ写真ユーザーにRAID 5/6程度の設定を提供します(snapraidはパリティ情報を保存するため、ディスクの再構築は可能ですが、RAIDとの違いはマニュアルを参照してください)。

TLDR:「上部」RWレイヤーを持つオーバーレイfを使用した単純なレイヤー、メディアコレクションなどの操作のために複数のディスクを論理ファイルシステムに結合するためのLVM / RAID0の代替としてmergefs。

関連情報