OverlayFS

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page OverlayFS and the translation is 73% 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

To mount an overlay filesystem using the following example of a structure on an ext4 base filesystem.

Create the following folder structure:

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

On the folder low, create a file with a clear and recognizable name. Repeat the step on the folder up to get a structure similar to the following:

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

Having that tree, the following command will create an overlay structure with the up folder above the low folder and that structure will be on the my_overlay folder.

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

After inspecting the tree structure of the test_folder, this will be printed:

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

A file can be created using the normal filesystem structure, like the following

root #touch my_overlay/my_overlay_file

and will generate the following tree

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

The overlay working dir can be unmounted with the umount command

root #umount /test_folder/my_overlay/

After unmounting the overlay folder, a new subfolder will appear on the directory where the operation was conducted

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

That folder will have the following properties

コード
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オリジナルのユニオンファイルシステム。

外部資料

参照