ComposeFS,来自 Flatpak 创建者的文件系统

组件

componefs 是为 Linux 提出的新文件系统

最近有消息说 亚历山大·拉森(Alexander Larsson),Red Hat 的 Flatpak 的创建者,拥有 发布了实施补丁的预览 文件系统 用于 Linux 内核的 ComposeFS。

建议的文件系统 类似于 Squashfs 也适用于挂载只读图像。 差异归结为 ComposeFS 能够有效地共享多个挂载的磁盘映像的内容以及对可读数据身份验证的支持。

可能需要 ComposeFS 的应用领域是挂载容器镜像和使用类似 Git 的 OSTree 存储库。 这允许在图像之间共享内容文件,即使图像之间的元数据(例如时间戳或文件所有权)不同。

ComposeFS 使用基于内容的寻址存储模型, 也就是说,主要标识符不是文件名,而是文件内容的哈希值。 这个模型 提供重复数据删除并允许只存储一个副本 在不同的挂载分区上找到相同的文件。

本质上,composefs 是一种构建和使用只读图像的方法。 其使用方式与您的使用方式类似,例如 loopback 壁球图像。 除此之外,composefs 还有两个新的基础 特征。 首先,它允许共享文件数据(在磁盘上和 页面缓存)在图像之间,其次你有 dm-verity 之类的 阅读验证。

例如, 容器镜像包含许多常用文件 系统和 Composefs,这些文件中的每一个都将由所有安装的图像共享,而无需使用诸如使用硬链接转发之类的技巧。

同时,共享文件不仅在磁盘上存储为单个副本,而且在页面缓存中也由一个条目管理,从而使磁盘和 RAM 都得到保存。

Composefs 还支持内容文件的 fs-verity 验证。 使用它,内容文件的摘要存储在图像中,并且 composefs 将验证它使用的内容文件是否启用了 fs-verity 摘要以进行匹配。 这意味着支持内容不能以任何方式(错误或恶意)更改,而不会在使用文件时被检测到。

您还可以在图像文件本身上使用 fs-verity,并将预期的 fs-verity 摘要作为挂载选项传递,这将由 composefs 验证。 在这种情况下,我们对挂载文件的数据和元数据都充满信心。 这解决了 fs-verity 单独使用时的一个弱点,即它只能验证文件数据,不能验证元数据。

为了节省磁盘空间,数据和元数据在装载的图像中是分开的。 安装时,指定:

  • 一个二进制索引,包含所有文件系统元数据、文件名、权限和除文件实际内容之外的其他信息。
  • 存储所有挂载图像文件内容的基本目录。 文件是相对于其内容的哈希值存储的。
  • 为每个 FS 映像创建一个二进制索引,并且所有映像的基本目录都是相同的。 在共享存储条件下验证单个文件和整个图像的内容,可以使用fs-verity机制,该机制在访问文件时,验证二进制索引中指定的哈希是否对应于内容。真实(即,如果攻击者对基本目录中的文件进行更改或数据因故障而损坏,则此类协调将显示出差异)。

最后,如果你是 有兴趣了解更多,您可以检查 以下链接中提供了详细信息。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。