思科发布下一代Linux容器PuzzleFS文件系统内核驱动 使用Rust语言编写

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

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

思科发布下一代Linux容器PuzzleFS文件系统内核驱动 使用Rust语言编写

转录 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 下,并将其哈希添加到清单中。

思科发布下一代Linux容器PuzzleFS文件系统内核驱动 使用Rust语言编写

版权声明

本文仅代表作者观点,不代表本站立场。

上一篇:Java 20正式发布:火了27年的老牌编程语言焕然一新

下一篇:火狐Firefox浏览器22年陈旧小BUG 被23岁斯坦福华人博士生修复