OverlayFS

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page OverlayFS and the translation is 100% complete.
Other languages:

Overlayfs (Overlay Filesystem) は、Linux 上でユニオンファイルシステムの機能を提供する、カーネル内の試みです。OverlayFS は、ファイルが開かれるとすべての操作が直接背後にある上層または下層のファイルシステムに行くという点で、他のユニオンファイルシステムとは異なります。これにより実装が単純化されていて、こうした場合にネイティブと同等のパフォーマンスが得られます。[1]

OverlayFS を有効化するためのオプションは Linux カーネル 3.18 以降に存在します。[2]

インストール

カーネル

カーネル OverlayFS (OVERLAY_FS) サポートを有効化する
File systems  --->
   [*] Overlay filesystem support

使い方

カーネルで有効化されたら、OverlayFS は mount コマンドを使って制御することができます。

root #mount -t overlay overlay -o lowerdir=lowerdir,upperdir=upperdir,workdir=workdir mountpoint

ベースとなる ext4 ファイルシステム上に、以下の構造の例を使用して、オーバーレイファイルシステムをマウントするには。

以下のフォルダ構造を作成してください:

user $tree test_folder
test_folder
├── low
├── my_overlay
└── up

low フォルダ上に、明確に分かる名前を持つファイルを作成してください。フォルダ up 上でも同じ手順を繰り返して、次のような構造にしてください:

user $tree test_folder
test_folder
├── low
│   └── low_file
├── my_overlay
└── up
    └── up_file

このツリーがある状態で、以下のコマンドによって、low フォルダ上に up フォルダが重なるオーバーレイ構造が作成され、その構造は my_overlay フォルダ上に作成されるでしょう。

root #mount -t overlay overlay -o lowerdir=/test_folder/low,upperdir=/test_folder/up,workdir=/test_folder/my_overlay /test_folder/my_overlay/

test_folder の構造を確認すると、以下が表示されるでしょう:

user $tree test_folder
test_folder
├── low
│   └── low_file
├── my_overlay
│   ├── low_file
│   └── up_file
└── up
    └── up_file

次のように、通常のファイルシステム構造を使用してファイルを作成することができます

root #touch my_overlay/my_overlay_file

その結果、以下のツリーが生成されるでしょう

user $tree test_folder
test_folder
├── low
│   └── low_file
├── my_overlay
│   ├── low_file
│   ├── my_overlay_file
│   └── up_file
└── up
    ├── my_overlay_file
    └── up_file

オーバーレイの作業ディレクトリは umount コマンドでアンマウントすることができます

root #umount /test_folder/my_overlay/

オーバーレイフォルダをアンマウントした後、操作が行われたディレクトリ上に新しいサブフォルダが現れるでしょう

user $tree test_folder
|
test_folder
├── low
│   └── low_file
├── my_overlay
│   └── work
└── up
    ├── my_overlay_file
    └── up_file

このフォルダは以下の属性を持つでしょう

コード
d--------- 2 root root 4,0K sep  6 09:54 work
メモ
コロン (:) 区切りで複数の lowerdir エントリを使用できます。この場合 upperdirworkdir を省略することができ、そうすると読み込み専用としてマウントされます。
重要
upperdirworkdir を含める場合は、両ディレクトリは同一のファイルシステム内にある必要があります。

関連項目

  • Aufs — an advanced multi-layered unification filesystem.
  • SquashFS — オープンソースの、読み込み専用の圧縮されたファイルシステムです。
  • Wikipedia:ja:UnionFSオリジナルのユニオンファイルシステム。

外部資料

参照