美文网首页
Overlay文件系统

Overlay文件系统

作者: 那年凤凰花开 | 来源:发表于2019-07-26 10:01 被阅读0次

    Overlay文件系统

    一个Overlay文件系统包含两个文件:

    • 一个upper文件系统
    • 一个lower文件系统
      lower文件系统的数据不会被修改,所以修改都发生在upper文件系统中。除此之外,还有2个空目录:work和merged。work目录属于操作过程文件,merged属于overlay挂载目录(即挂载后的目录),会包含lower和upper两个系统的内容。

    Overlay文件系统如何挂载?

    • 首先加载overlay模块: $sudo modprobe overlay
    • 创建四个文件目录:lower, upper, merged, work, 并在lower和upper下创建几个测试数据。
    • 在/root目录下执行如下挂载指令,可以看到空的merged文件夹中已经包含了lower以及upper文件夹中的所有文件和目录。
    $ mount -t overlay overlay -o lowerdir=./lower, upperdir=./upper, workdir=./work ./merged
    - 使用df -h命令可以查看新构建的overlay文件系统已经挂载。
    

    overlay文件系统的读、写与删除操作

    读取操作

    • 读upper没有而lower与的文件时,从lower读
    • 读只在upper有的文件时,从lower读
    • 读lower和upper都有的文件,则需要从upper读

    写入操作

    • 写只在upper有的文件, 直接在upper上写
    • 写在lower和upper都有的文件,直接在upper写
    • 写只在lower有的文件时,则会做一个copy_up的操作,先从lower拷贝一份文件到upper中,同时为文件创建一个硬链接。此时可以看到upper目录下生成了2个新的文件,写的操作支队从lower复制到upper文件生效,而lower还是原文件。

    删除操作

    • 删除lower和upper都有的文件时,upper中文件被删除,在upper目录下创建一个without文件,而lower文件不会被删除。
    • 删除lower有而upper没有的文件,会为被删除的文件在upper目录下创建一个without文件,而在lower下的不会被删除。
    • 删除lower和upper都有的目录时时,upper的会被删除,在upper目录下创建一个类似without文件的opaqu目录,而lower下的不会被删除。

    因而,可以发现,lower是只读的,无论对lower上文件或目录做任何操作都不会对lower做更改。所有的操作都只在upper上进行。
    注意:在挂载完成后,目录将变为可读可写,但所有的修改(在upper上)都是暂时的,重启后恢复。

    相关文章

      网友评论

          本文标题:Overlay文件系统

          本文链接:https://www.haomeiwen.com/subject/awzlrctx.html