Linuxのユニオンマウント


11

組合はマウントプレゼントに単一階層内の複数のディレクトリ(枝)の複合ビューを。わかりましたが、実際にはどのように使用しますか?

最新のLinuxシステムでは、多くのユニオンマウントテクノロジーを利用できます:OverlayFSaufsUnionFS、さまざまなFUSEベースのファイルシステム、…

ユースケースが与えられた場合、どの方法が適しているかをどのように決定しますか?特に:

  • 一般的なシステムでrootアクセスが必要なものはどれですか?(つまり、権限のないユーザーがユニオンマウントを作成できますか?)
  • マウントできるのは/(もちろんルートアクセスで)?
  • 基になるブランチへの書き込みをサポートするものはどれですか?(IEの場合/foo/barに組合を搭載しているが/union、私はに書き込むことができる/foo/bar?)
  • どれが書き込みの構成可能なポリシーをサポートしますか?(たとえば、ファイルが両方のブランチに存在するときにブランチAからコンテンツを取得している場合でも、新しく作成されたファイルをブランチBに送信できますか?)
  • ファイルに依存するブランチ間の優先順位をサポートするのはどれですか?(例えば、それを持っているすべてのブランチの中で常に最新のファイルを取得できますか?)

使用例をいただければ幸いです。

特定の点に焦点を当てた回答は避けてください。私は、利用可能なソフトウェア見直し包括的な答えを探しています(のようなものバインドマウントは何を?)。良い答えが得られます。

回答:


12

特定の各ポイントについて:

  • ルートアクセス:FUSEを使用する場合、ルートは必要ありません。FUSEを使用しない場合、機能(潜在的に危険)または名前空間のいずれかで特別な設定を行わない限り、ルートが必要です。

  • マウント時/:起動時のルートファイルシステムとしての意味だと思います。その場合、カーネルモードで実行されるものはすべて理論的には機能するはずですが、他のものより信頼性が高いものもあります。ほとんどのLiveCDがこれを行うので、ここでこの特定のポイントに関する情報を探すことをお勧めします。

  • 基礎となるブランチへの書き込み:これは、あなたが何を意味するかによって異なります。マウントされたビューへの書き込みを下のブランチに伝搬するつもりなら、私にはわかりません。メインファイルシステム自体から帯域外の下位ブランチに書き込むことを意味する場合、技術的には大きな3つすべてが行いますが、変更がマウントされたビューに確実に伝達されるように、すべて再マウントする必要があります。

  • 構成可能な書き込みポリシー:これについては具体的にはわかりませんが、Big 3(UnionFS、AUFS、およびOverlayFS)ではサポートされていません。

  • ファイル依存の優先順位:これも3番目のサブ質問に該当すると思いますが、同様に、それを具体的にサポートするものは知りません。

それらのそれぞれのいくつかの詳細については:

  • UnionFS:私が知る限り、これはLinuxの元のスタック可能なユニオンファイルシステムの実装でした。それは古くからあり、多くのLinuxes LiveCDで使用されています。カーネルモードで実行され、使用する上流カーネルへのパッチが必要です。

  • AUFS:UnionFSのフォークとして発案され、その後、独自のものになりました。これはマージされたメインラインを取得しようとしましたが、コード品質の理由で拒否されました。一部のディストリビューションのLiveCDでUnionFSに置き換わり、主にDebianとGentoo派生物です。UnionFSと同様に、カーネルモードで実行され、上流のカーネルへのパッチが必要です。

  • OverlayFS:いくつかのBSD派生物でもサポートされていることを除いて、私はこれの最初の開発についてはあまり知りません。特に、Linuxカーネルでの上流のオーバーレイ/ユニオンファイルシステムの実装です。また、カーネルモードで実行されます。

  • UnionFS-FUSE:このやや紛らわしい名前のプロジェクトは、基本的に同じ機能を提供する以外は、実際にはUnionFSとは何の関係もありません。これは、ユニオンファイルシステムのFUSE実装で最も広く使用されていますが、私が知っているのはそれだけです。

  • mhddfs:これは奇妙な外れ値であり、従来のユニオンファイルシステムよりもファイル粒度のRAID-0実装に似ています。スペースの使用状況に基づいて、複数のバッキングディレクトリ間でのファイルのバランスをサポートします。また、FUSEベースです。

特定の実装に固有のものではないことに注意してください:

  • カーネル内のすべてのオプションには、バッキングファイルシステムの制限があります。特に、ネットワーク化されたファイルシステムやBTRFSでは機能しません。

  • ルートファイルシステムとして使用すると、すべてのFUSE実装に問題があります。これはユニオンファイルシステムの実装に固有のものではありませんが、FUSEの一般的な問題です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.