「Overlayfs」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(ページの作成:「Category:ファイルシステム en:Overlay filesystem {{Related articles start}} {{Related|ファイルシステム}} {{Related articles end}} [https://github....」)
 
(カテゴリを変更)
 
(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 -olowerdir=''/lower'',upperdir=''/upper'',workdir=''/work'' ''/merged''
+
# 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://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/overlayfs.txt Overlay Filesystem documentation]
+
* [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
ノート: 使用するディレクトリ (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]

参照