OverlayFS
Overlayfs (Overlay Filesystem) az egyik Linux kernelben található megoldás, amely egyesítő fájlrendszer képességeket biztosít. Az OverlayFS különbözik más egyesítő fájlrendszer implementációktól, mivel egy fájl megnyitása után az összes művelet közvetlenül az alapul szolgáló, alsó vagy felső fájlrendszerekre kerül. Ez egyszerűsíti az implementációt, és ezekben az esetekben lehetővé teszi a natív teljesítményt.[1]
Az OverlayFS engedélyezésének lehetősége a 3.18-as és annál magasabb verziójú Linux kernelekben érhető el.[2]
Telepítés
Kernel
File systems --->
[*] Overlay filesystem support
Használat
Amint az OverlayFS engedélyezve van a kernelben, a mount parancs segítségével vezérelhető.
root #
mount -t overlay overlay -o lowerdir=lowerdir,upperdir=upperdir,workdir=workdir mountpoint
Példa
Az Overlay fájlrendszer csatlakoztatásához használjon az ext4 alapú fájlrendszer következő példájára vonatkozó szerkezetet.
Hozza létre a következő könyvtárstruktúrát:
user $
tree test_folder
test_folder ├── low ├── my_overlay └── up
A low könyvtárban hozzon létre egy egyértelműen felismerhető nevű fájlt. Ismételje meg ezt a lépést az up könyvtárban, hogy az alábbihoz hasonló struktúrát kapjon:
user $
tree test_folder
test_folder ├── low │ └── low_file ├── my_overlay └── up └── up_file
Miután létrehozta ezt a fa-struktúrát, a következő parancs egy overlay struktúrát fog létrehozni, amelyben az up könyvtár az low könyvtár felett helyezkedik el, és ez a struktúra a my_overlay könyvtárban lesz megtalálható.
root #
mount -t overlay overlay -o lowerdir=/test_folder/low,upperdir=/test_folder/up,workdir=/test_folder/my_overlay /test_folder/my_overlay/
A test_folder könyvtár fa-struktúrájának ellenőrzése után ez kerül megjelenítésre:
user $
tree test_folder
test_folder ├── low │ └── low_file ├── my_overlay │ ├── low_file │ └── up_file └── up └── up_file
Egy fájl létrehozható a normál fájlrendszer struktúrájának használatával, az alábbiak szerint:
root #
touch my_overlay/my_overlay_file
és az alábbi fa-struktúrát fogja létrehozni:
user $
tree test_folder
test_folder ├── low │ └── low_file ├── my_overlay │ ├── low_file │ ├── my_overlay_file │ └── up_file └── up ├── my_overlay_file └── up_file
Az átfedés (overlay) munkakönyvtár az umount parancs segítségével csatolható le a fájlrendszerről.
Az overlay (átfedés) könyvtár lecsatolása után egy új alkönyvtár jelenik meg abban a könyvtárban, ahol a műveletet végrehajtották.
user $
tree test_folder
| test_folder ├── low │ └── low_file ├── my_overlay │ └── work └── up ├── my_overlay_file └── up_file
Annak a könyvtárnak a következő tulajdonságai lesznek:
d--------- 2 root root 4,0K sep 6 09:54 work
Több lowerdir bejegyzés is használható, kettősponttal (:) elválasztva. Ebben az esetben az upperdir és workdir elhagyható, hogy egy csak olvasható csatolást hozzon létre.
Amennyiben szerepelnek, az upperdir és az workdir könyvtáraknak az azonos fájlrendszeren belül kell elhelyezkedniük.
További olvasnivaló a témában
- Aufs — an advanced multi-layered unification filesystem.
- SquashFS — nyílt forráskódú, kizárólag olvasható, rendkívüli módon összetömöríthető fájlrendszer.
- Wikipedia:UnionFS — The original union filesystem.
Külső források
- A LWN article written by Jonathan Corbet in June 2011 covering vises and virtues of OverlayFS
- An informative AskUbuntu.com thread
- Overlay fs in the Linux git repository