Overlayfs

提供: ArchWiki
移動先: 案内検索

最初のカーネルコミット より:

Overlayfs を使用すると、読み書きできる通常のディレクトリツリーを、他の読み取り専用のディレクトリツリーの上に重ねることができます。変更は全て、上部の書き込み可能なレイヤーに行われます。このような仕組みは主としてライブ CD で使われていますが、他にも幅広い用途が考えられます。
Overlayfs が他の"統合ファイルシステム"と違う点は、ファイルが開かれた後、全ての操作はあくまで、上層であれ下層であれ、ファイルシステムに直接行われるというところです。これによって実装がシンプルになり、ほとんどの場合で通常の操作と変わらないパフォーマンスを発揮します。

Overlayfs は Linux カーネル 3.18 から取り込まれました [1]

インストール

Overlayfs はデフォルトのカーネルで有効になっています。使用するにはモジュールをロードする必要があるかもしれません:

$ modprobe overlay

使用方法

オーバーレイをマウントするには次の mount オプションを使います:

# mount -t overlay overlay -o lowerdir=/lower,upperdir=/upper,workdir=/work /merged
ノート: 使用するディレクトリ (workdir) は上部のディレクトリと同じファイルシステムでマウントされている必要があります。

下層ディレクトリは : で区切って複数指定することができます。例:

# mount -t overlay overlay -o lowerdir=/lower1:/lower2:/lower3,upperdir=/upper,workdir=/work /merged

overlayfs のエントリを /etc/fstab に追加するときは以下のような形式を使います:

/etc/fstab
overlay /merged overlay noauto,x-systemd.automount,lowerdir=/lower,upperdir=/upper,workdir=/work 0 0

noautox-systemd.automount マウントオプションは必須のオプションであり、これを設定しないとオーバーレイをマウントできなくなって systemd が起動時にフリーズします。オーバーレイに始めてアクセスしたとき、もしくはリクエストが(準備が整うまで)バッファされたときに、オーバーレイはマウントされます。Fstab#systemd で自動マウントを見て下さい。

読み取り専用のオーバーレイ

複数のディレクトリを組み合わせた読み取り専用のビューを作成したい場合、簡単に作成することができます。upperwork は必要なくなります:

# mount -t overlay overlay -o lowerdir=/lower1:/lower2 /merged

upperdir を指定しなかった場合、オーバーレイは自動的に読み取り専用としてマウントされます [2]

参照