加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

详解 Linux 中的虚拟文件系统

发布时间:2019-05-30 08:15:32 所属栏目:站长百科 来源:IT生涯
导读:什么是文件体系?按照早期的 Linux 孝顺者和作家 Robert Love 所说,文件体系是一个遵循特定布局的数据的分层存储。 不外,这种描写也同样合用于 VFAT(假造文件分派表Virtual File Allocation Table)、Git 和Cassandra(一种 NoSQL 数据库)。那么怎样区别文

ro-rootfs 提供了很多利益,固然这些利益不如耐用性那么显然。一个是,假如 Linux 历程不行以写入,那么恶意软件也无法写入 /usr 或 /lib。另一个是,根基上不行变的文件体系对付长途装备的现场支持至关重要,由于支持职员拥有理论上与现场沟通的当地体系。大概最重要(但也是最玄妙)的上风是 ro-rootfs 迫使开拓职员在项目标计划阶段就抉择好哪些体系工具是不行变的。处理赏罚 ro-rootfs 也许常常是不利便乃至是疾苦的,编程说话中的常量变量常常就是这样,但带来的甜头很轻易送还这种特另外开销。

对付嵌入式开拓职员,建设只读根文件体系确实必要做一些特另外事变,而这正是 VFS 的用武之地。Linux 必要 /var 中的文件可写,另外,嵌入式体系运行的很多风行应用措施会实行在 $HOME 中建设设置的点文件。放在家目次中的设置文件的一种办理方案凡是是预天生它们并将它们构建到 rootfs 中。对付 /var,一种要领是将其挂载在单独的可写分区上,而 / 自己以只读方法挂载。行使绑定或叠加挂载是另一种风行的更换方案。

绑定和叠加挂载以及在容器中的行使运行 man mount 是相识绑定挂载bind mount和叠加挂载overlay mount的最好步伐,这种要领使得嵌入式开拓职员和体系打点员可以或许在一个路径位置建设文件体系,然后以其它一个路径将其提供应应用措施。对付嵌入式体系,这代表着可以将文件存储在 /var 中的不行写闪存装备上,可是在启动时将 tmpfs 中的路径叠加挂载或绑定挂载到 /var 路径上,这样应用措施就可以在哪里随意写它们的内容了。下次加电时,/var 中的变革将会消散。叠加挂载为 tmpfs 和底层文件体系提供了连系,应承对 ro-rootfs 中的现有文件举办直接修改,而绑定挂载可以使新的空 tmpfs 目次在 ro-rootfs 路径中表现为可写。固然叠加文件体系是一种恰当的文件体系范例,而绑定挂载由 VFS 定名空间器材 实现的。

按照叠加挂载和绑定挂载的描写,没有人会对 Linux 容器 中大量行使它们感想惊奇。让我们通过运行 bcc 的 mountsnoop 器材监督当行使 systemd-nspawn 启动容器时会产生什么:

详解 Linux 中的假造文件体系

在 mountsnoop.py 运行的同时,system-nspawn 挪用启动容器。

让我们看看产生了什么:

详解 Linux 中的假造文件体系

在容器 “启动” 时代运行 mountsnoop 可以看到容器运行时很洪流平上依靠于绑定挂载。(仅表现冗长输出的开头)

这里,systemd-nspawn 将主机的 procfs 和 sysfs 中的选定文件按其 rootfs 中的路径提供应容器。除了配置绑定挂载时的 MS_BIND 符号之外,mount 体系挪用的一些其余符号用于确定主机定名空间和容器中的变动之间的相关。譬喻,绑定挂载可以将 /proc 和 /sys 中的变动撒播到容器,也可以潜匿它们,详细取决于挪用。

总结

领略 Linux 内部布局看似是一项不行能完成的使命,由于除了 Linux 用户空间应用措施和 glibc 这样的 C 库中的体系挪用接口,内核自己也包括大量代码。取得盼望的一种要领是阅读一个内核子体系的源代码,重点是领略面向用户空间的体系挪用和头文件以及首要的内核内部接口,这里以 file_operations 表为例。file_operations 使得“统统都是文件”得以可以现实事变,因此把握它们收成出格大。顶级 fs/ 目次中的内核 C 源文件组成了假造文件体系的实现,假造文件体系是支持风行的文件体系和存储装备的普及且相对简朴的互操纵性的垫片层。通过 Linux 定名空间举办绑定挂载和包围挂载是 VFS 把戏,它使容器和只读根文件体系成为也许。团结对源代码的研究,eBPF 内核器材及其 bcc 接口使得探测内核比以往任何时辰都更简朴。

【编辑保举】

  1. 详解:Linux收集假造化技能
  2. VMware vSphere假造化容灾那点事-开头
  3. 假造路由器冗余协议VRRP道理详解!
  4. 假造化数据中心的大二层技能
  5. Docker假造化技能概述及陈设安装
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读