使用 Rust 语言编写,思科发布 PuzzleFS 文件系统内核驱动

2023-10-11 20:40IT之家 - 漾仔(实习)
感谢IT之家网友 Coje_He 的线索投递!

IT之家 10 月 11 日消息,PuzzleFS 号称是“下一代 Linux 容器文件系统”,其采用 Rust 语言编写,具有“快速镜像构建”、“直接挂载支持”、“内存安全保证”等功能。

▲ 图源 PuzzleFS GitHub 页面

思科开发者 Ariel Miculas 今日在内核邮件列表中,发布了用 Rust 写的 PuzzleFS 文件系统驱动,以征求其他开发者的意见,目前这一驱动程序处于“概念验证”阶段

IT之家转录 Ariel Miculas 介绍 PuzzleFS 特性如下:

PuzzleFS 是一种“只读”的文件系统,与 Open Container Initiative (OCI) v2 image specification 的设计目标相符,它使用内容定义进行分块,并且使用内容寻址的数据存储,旨在解决现有 OCI 格式的限制。

OCI 镜像规范的第一个版本存在许多问题,这些问题的根源都是来自依赖 tar 存档来保存文件系统中的层,事实上 tar 不适合解决容器文件系统问题。

PuzzleFS 旨在解决 tar 的问题。文件系统镜像本身由一组放置在底层文件系统上的文件组成。与 OCI 镜像格式一样,存在一个顶级 index.json 文件,其中包含一组标签,每个标签代表某一个版本的文件系统,并指向一个清单文件(manifest file)。清单文件又指向镜像配置和存储在实际镜像层中的数据。其他所有内容都存储为 blobs/sha256 目录中的一组 blob。

文件系统中的大多数数据都被分成可变大小的块(chunk),以内容的 SHA256 哈希作为文件名来存储为 blob。这个分块动作本身是使用 FastCDC 算法进行的,该算法查找 "切割点(cut points)",把数据流分为不同大小的 blob。任何一个特定的流(例如文件的内容)都可以分成五个或五十个块,这取决于如何确定这些切割点;然后,每个块都以不同的 blob 方式落在 blobs/sha256 下,并将其哈希添加到清单中。

参考

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

文章价值:
人打分
有价值还可以无价值
置顶评论
    热门评论
      文章发布时间太久,仅显示热门评论
      全部评论
      请登录后查看评论
        取消发送
        软媒旗下人气应用

        如点击保存海报无效,请长按图片进行保存分享