overlayfs文件系统

OverlayFS是一种堆叠文件系统,它依赖并建立在其它的文件系统之上(例如ext4fs和xfs等等),并不直接参与磁盘空间结构的划分,仅仅将原来底层文件系统中不同的目录进行“合并”,然后向用户呈现,这也就是联合挂载技术,对比于AUFS,OverlayFS速度更快,实现更简单。现在已经被广泛使用,比如手机都有恢复出厂的功能,点击后所有的设置和数据都会恢复原样;docker的文件和宿主机的隔离等。

基本语法:

mount -t overlay overlay -o lowerdir=lower,upperdir=upper,workdir=work merged
  • workdir必须和upperdir是mount在同一个文件系统下

  • lower目录可以是一个目录链,即多个目录,比如lowerdir=lower1:lower2:lower3

  • 如果没有upperdir,那么merged就只能是可读的。

overlayfs通过三个目录:lower目录、upper目录、以及work目录实现,其中lower目录可以是多个,work目录为工作目录(即操作过程目录),最后联合挂载完成给用户呈现的统一视图称为为merged目录。以下使用mount将演示其如何工作的。

新建文件夹,并且放入一个测试文件

├── lower1
│   └── test1
├── lower2
│   └── test2
├── upper
    └── teset4

新建work和overlay-test文件夹,执行挂载

sudo mount -t overlay overlay -o lowerdir=lower1:lower2,upperdir=upper,workdir=work overlay-test

再查看文件树,overlay-test内为合并的文件

├── lower1
│   └── test1
├── lower2
│   └── test2
├── overlay-test
│   ├── teset4
│   ├── test1
│   └── test2
├── upper
│   └── teset4
└── work
    └── work [error opening dir]

可以输入mount查看挂载情况

overlay on /home/lichong/Study/overlayfs/overlay-test type overlay (rw,relatime,lowerdir=lower1:lower2,upperdir=upper,workdir=work,xino=off)

upper文件系统通常是可写的;lower文件系统则是只读,这就表示着,当我们对 overlay 文件系统做任何的变更,都只会修改 upper 文件系统中的文件

源码解析:https://blog.csdn.net/ugnbucbjj/article/details/125702407

posted @ 2023-02-19 21:15  小满的博客  阅读(11)  评论(0编辑  收藏  举报