web-dev-qa-db-ja.com

aufs、unionfs、overlayfsの違い

2つのファイルシステムを結合する必要があります。1つは読み取り専用(squashfs)で、もう1つは読み取り/書き込み(ext4)です。私の計画は、読み取り専用ファイルシステムを読み取り専用ファイルシステムにマウントして、書き込み可能に見えるようにすることです。読み取り専用のファイルシステムに変更を加えると、変更は読み取り/書き込みファイルシステムに反映されます。

私はLinux 3.17、Ubuntu 14.10を使用していて、これらのファイルシステムに出会いました:aufs、unionfs、overlayfs。お互いの違いが何なのか、この状況で何を使うのか分かりません。誰かが私にaufs、unionfs、overlayfsの違いを示したり、この状況で使用するのに最適なものを提案したりできますか?

32
user128712

overlayfsはカーネル3.18-rc2にマージされました。 Linuxのメインツリーに移行したので、overlayfsが将来より広く採用されるようになると推測するのは妥当です。

Gentooの wiki について少し読んでください。 unionfsとOverlayFSの1つの違いを明らかにします。 Speed OverlayFSは、すべてのファイルI/O要求を直接基盤となるファイルシステムに送信します。したがって、unionfsよりも潜在的に高速です。 aufsは、OverlayFS機能のスーパーセットを提供します。言い換えれば、aufsでは実行できるがOverlayFSでは実行できない設定があります。 aufsは公式のカーネルにはありませんが、システムに含める必要があります。

aufsは、ドライバーがこのハードコードを使用するのではなく、書き込み可能なブランチの選択をサポートしています。天気がはっきりしないか、overlayfsがこのunionfsを行わないのかはわかりません。

カーネル3.17では、overlinefsもaufsもメインラインに含まれていませんでした。 Ubuntuはそれらを含めることを選択した可能性があります。そうでない場合は、適切なカーネルモジュールをインストールする必要があります。

比較はできませんが、Aufsを使用しています。この ブログ投稿 の指示に従うと、例3を参照して、読み取り専用または読み取り/書き込み可能にするブランチを指定する方法を確認できます。

通常、例3のように指定しない限り、最初のファイルシステムはデフォルトで書き込まれます。

 mount -t aufs -o br=/read/write/dir=rw:/read/only/dir/=ro -o udba=reval none /tmp/aufs-root/

ubdaパラメーターは、フォルダーに直接加えられた変更がユニオンシステムに反映される方法を制御する方法です。

3
fswings