首页 > 系统相关 >Linux 文件系统(三) --- overlayfs简介

Linux 文件系统(三) --- overlayfs简介

时间:2024-05-18 19:18:30浏览次数:24  
标签:lower fs overlay overlayfs 文件系统 --- Linux 目录

PS:要转载请注明出处,本人版权所有。

PS: 这个只是基于《我自己》的理解,

如果和你的原则及想法相冲突,请谅解,勿喷。

环境说明

  无

前言


  对于overlay文件系统来说,我以前只是听过,具体貌似docker里面使用了相关技术,但是也仅仅限于听过了。

  最近,由于需要通过tar来备份一个系统的rootfs来做测试,我发现了很多重复备份的内容,一看,嘿,可能是overlay文件系统导致的,因此,我可能需要先了解了解这个文件系统是干嘛的,然后才能够采取合适的方案来备份rootfs。





实现大致原理


  overlayfs主要是结合了两个文件系统 -- "upper fs" 和 "lower fs" 。其组成规则是:

  • 当"upper fs"和 "lower fs"存在两个相同的名字的文件时,"upper fs"的文件是可见的,"lower fs"的文件是隐藏的。
  • 当"upper fs"和 "lower fs"存在两个相同的名字的目录时,会合并两个目录的文件。

  overlayfs主要是涉及目录的操作,其挂载命令是:

# 堆叠两个目录,合并lower目录,upperdir目录,展示到merge目录
# workdir和upperdir必须是同一个文件系统的空目录
mount -t overlay overlay -olowerdir=/lower,upperdir=/upper,workdir=/work /merged

# 堆叠多个目录(从最右边的目录开始向左堆叠),合并lower3,lower2,lower1,展示到merged目录
mount -t overlay overlay -olowerdir=/lower1:/lower2:/lower3 /merged

  对, 本文的内容已经完了,overlay的大致工作原理和工作效果和说完了。

  其他细节,请参考 参考小节。





后记


  不知道大家注意到没有,我们在描述其组合的规则的时候,对于:隐藏"lower fs"的文件、合并两个目录的文件 的操作说的是那么的自然,但是其是怎么实现的呢?其实这才是overlayfs的一些实际技术原理。

  其实,这一切都与linux的vfs和ext文件系统有一些关系,详情请参考本文的前置文章:

参考文献




打赏、订阅、收藏、丢香蕉、硬币,请关注公众号(攻城狮的搬砖之路)
qrc_img

PS: 请尊重原创,不喜勿喷。

PS: 要转载请注明出处,本人版权所有。

PS: 有问题请留言,看到后我会第一时间回复。

标签:lower,fs,overlay,overlayfs,文件系统,---,Linux,目录
From: https://www.cnblogs.com/Iflyinsky/p/18199669

相关文章

  • 【论文笔记-55~】多语言实体对齐
    2012~2018MultilingualKnowledgeGraphEmbeddingsforCross-lingualKnowledgeAlignment文章核心观点:这篇文章介绍了一种名为MTransE的多语言知识图谱嵌入模型,旨在实现跨语言知识对齐。该模型由知识模型和匹配模型两部分组成,其中知识模型采用TransE对每个语言的实体和关系......
  • HTML 22 - Forms
     HTMLformsaresimpleformthathasbeenusedtocollectdatafromtheusers.HTMlformhasinteractivecontrolsandvariusinputtypessuchastext,numbers,email,passowrd,radiobutons,checkboxes,buttons,etc.Wecanseeitsapplicationinvarious......
  • HTML 23 - Form Attributes
     WhatareFormAttributes?InHTML,eachelementhasitsownattributesthatareusedtodefinethecharacteristicsofthatparticularHTMLelementandareplacedinsidetheelement'sopeningtag.The<form>elementalsohasattributesthatpr......
  • Linux常用命令之文件相关操作
    Linux读写操作常用命令:1、open:打开文件,可创建文件、设置文件读写模式intopen(constchar*pathname,intflags,mode_tmode);2、creat:创建新文件intcreat(constchar*pathname,mode_tmode);3、openat:可指定目录创建新文件intopenat(intdirfd,constchar*path......
  • 2024年CodeStar年度综合评估-提高进阶组
    T3.挑剔的美食家作为一名挑剔的美食家,小猴对食物是很讲究的,哪怕摆在面前的只有若干香蕉和苹果,小猴依然有他的讲究。已知目前已有\(n\)根香蕉和\(m\)个苹果,小猴制定了以下规则来决定自己的食用顺序:每个香蕉都被认为是独特的个体,可以理解为编号为\(1\simn\)的香蕉各不......
  • 微信小程序使用crypto-js进行AES加密
    1.首先npmi crypto-js2.找到node_modules下的crypto-js文件夹3.在crypto-js文件下找到crypto-js.js,将它复制到你存放工具类js的文件夹下,例如我放到了utils文件夹下4.使用var CryptoJS = require('./crypto-js/crypto-js');写一个加密函数并导出exportconst encry......
  • 全网首一份!你最需要的PPTP MS-CHAP V2 挑战响应编程模拟计算教程!代码基于RFC2759,附全
    本文基于网络密码课上的实验本来想水一水就过去,代码就网上找找,不行就GPT写,但是!一份都找不到,找到的代码都是跑不了的,总会是就是乱七八糟。所以准备认真的写一份。代码编译成功的前提是要预先装好openssl库!本随笔主要有三个内容:编写程序,模拟计算NTResponse、AuthenticatorRespo......
  • HTML 20 - Backgrounds
     Thebackgroundofawebpageisalayerbehinditscontent,whichincludestext,images,colorsandvariousotherelements.Itisanessentialpartofwebdesign,thatimprovestheoveralllookofawebpageaswellasuserexperience.HTMLoffersmultip......
  • HTML 21 - Colors
     HTMLColorsareawayofspecifyingtheappearanceofwebelements.Colorsareveryimportantaspectsofwebdesign,astheynotonlyenhancethevisualappealbutalsoinfluenceuserbehavior.Theyarealsousedtoevokeemotionsandhighlightimportan......
  • docker-compose
    服务(service):一个应用容器,实际上可以运行多个相同镜像的实例。项目(project):由一组关联的应用容器组成的一个完整业务单元。一个项目可以由多个服务(容器)关联而成,Compose面向项目进行管理。 docker-compose最常用于Web项目网站 下面是docker-compose.yml的实例核心代码#......