「Overlayfs」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「Category:ファイルシステム en:Overlay filesystem {{Related articles start}} {{Related|ファイルシステム}} {{Related articles end}} [https://github....」) |
Kusanaginoturugi (トーク | 投稿記録) (カテゴリを変更) |
||
(3人の利用者による、間の5版が非表示) | |||
1行目: | 1行目: | ||
− | [[Category:ファイルシステム]] |
+ | [[Category:スタック可能なファイルシステム]] |
[[en:Overlay filesystem]] |
[[en:Overlay filesystem]] |
||
+ | [[ru:Overlay filesystem]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
{{Related|ファイルシステム}} |
{{Related|ファイルシステム}} |
||
23行目: | 24行目: | ||
オーバーレイをマウントするには次の {{ic|mount}} オプションを使います: |
オーバーレイをマウントするには次の {{ic|mount}} オプションを使います: |
||
− | + | # mount -t overlay overlay -o lowerdir=''/lower'',upperdir=''/upper'',workdir=''/work'' ''/merged'' |
|
+ | {{Note|使用するディレクトリ (''workdir'') は上部のディレクトリと同じファイルシステムでマウントされている必要があります。}} |
||
− | {{Note|The working directory (''workdir'') needs to be on the same filesystem mount as the upper directory.}} |
||
+ | |||
+ | 下層ディレクトリは {{ic|:}} で区切って複数指定することができます。例: |
||
+ | |||
+ | # mount -t overlay overlay -o lowerdir=''/lower1:/lower2:/lower3'',upperdir=''/upper'',workdir=''/work'' ''/merged'' |
||
overlayfs のエントリを {{ic|/etc/fstab}} に追加するときは以下のような形式を使います: |
overlayfs のエントリを {{ic|/etc/fstab}} に追加するときは以下のような形式を使います: |
||
+ | {{hc|1=/etc/fstab|2=overlay ''/merged'' overlay noauto,x-systemd.automount,lowerdir=''/lower'',upperdir=''/upper'',workdir=''/work'' 0 0}} |
||
− | {{hc|1=/etc/fstab| |
||
− | 2=overlay ''/merged'' overlay noauto,x-systemd.automount,lowerdir=''/lower'',upperdir=''/upper'',workdir=''/workdir'' 0 0 |
||
− | }} |
||
{{ic|noauto}} と {{ic|x-systemd.automount}} マウントオプションは必須のオプションであり、これを設定しないとオーバーレイをマウントできなくなって systemd が起動時にフリーズします。オーバーレイに始めてアクセスしたとき、もしくはリクエストが(準備が整うまで)バッファされたときに、オーバーレイはマウントされます。[[Fstab#systemd で自動マウント]]を見て下さい。 |
{{ic|noauto}} と {{ic|x-systemd.automount}} マウントオプションは必須のオプションであり、これを設定しないとオーバーレイをマウントできなくなって systemd が起動時にフリーズします。オーバーレイに始めてアクセスしたとき、もしくはリクエストが(準備が整うまで)バッファされたときに、オーバーレイはマウントされます。[[Fstab#systemd で自動マウント]]を見て下さい。 |
||
+ | |||
+ | === 読み取り専用のオーバーレイ === |
||
+ | |||
+ | 複数のディレクトリを組み合わせた読み取り専用のビューを作成したい場合、簡単に作成することができます。{{ic|upper}} と {{ic|work}} は必要なくなります: |
||
+ | # mount -t overlay overlay -o lowerdir=''/lower1:/lower2'' ''/merged'' |
||
+ | |||
+ | {{ic|upperdir}} を指定しなかった場合、オーバーレイは自動的に読み取り専用としてマウントされます [https://github.com/torvalds/linux/blob/352526f45387cb96671f13b003bdd5b249e509bd/fs/overlayfs/super.c#L897]。 |
||
== 参照 == |
== 参照 == |
||
− | * [https:// |
+ | * [https://www.kernel.org/doc/html/latest/filesystems/overlayfs.html Overlay Filesystem documentation] |
+ | * [https://www.datalight.com/blog/2016/01/27/explaining-overlayfs-%E2%80%93-what-it-does-and-how-it-works Explaining overlayfs - What it does and how it works] |
||
+ | * [[Wikipedia:OverlayFS]] |
2023年8月30日 (水) 19:27時点における最新版
関連記事
最初のカーネルコミット より:
- Overlayfs を使用すると、読み書きできる通常のディレクトリツリーを、他の読み取り専用のディレクトリツリーの上に重ねることができます。変更は全て、上部の書き込み可能なレイヤーに行われます。このような仕組みは主としてライブ CD で使われていますが、他にも幅広い用途が考えられます。
- Overlayfs が他の"統合ファイルシステム"と違う点は、ファイルが開かれた後、全ての操作はあくまで、上層であれ下層であれ、ファイルシステムに直接行われるというところです。これによって実装がシンプルになり、ほとんどの場合で通常の操作と変わらないパフォーマンスを発揮します。
Overlayfs は Linux カーネル 3.18 から取り込まれました [1]。
インストール
Overlayfs はデフォルトのカーネルで有効になっています。使用するにはモジュールをロードする必要があるかもしれません:
$ modprobe overlay
使用方法
オーバーレイをマウントするには次の mount
オプションを使います:
# mount -t overlay overlay -o lowerdir=/lower,upperdir=/upper,workdir=/work /merged
下層ディレクトリは :
で区切って複数指定することができます。例:
# 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
noauto
と x-systemd.automount
マウントオプションは必須のオプションであり、これを設定しないとオーバーレイをマウントできなくなって systemd が起動時にフリーズします。オーバーレイに始めてアクセスしたとき、もしくはリクエストが(準備が整うまで)バッファされたときに、オーバーレイはマウントされます。Fstab#systemd で自動マウントを見て下さい。
読み取り専用のオーバーレイ
複数のディレクトリを組み合わせた読み取り専用のビューを作成したい場合、簡単に作成することができます。upper
と work
は必要なくなります:
# mount -t overlay overlay -o lowerdir=/lower1:/lower2 /merged
upperdir
を指定しなかった場合、オーバーレイは自動的に読み取り専用としてマウントされます [2]。