龙蜥白皮书精选:跨云-边-端的只读文件系统 EROFS

简介: EROFSEROFS是为高性能只读场景量身打造的内核文件系统,提供了多层镜像、透明压缩等特性,于Linux 5.4正式合入Linux主线。

文/徐静波

01 背景概述

在云原生、桌面、终端等应用领域,为了高效可信构建,分发和运行镜像,解决方案一般倾向选择只读方案,其优势在于分发和签名校验、写保护、器件故障可靠恢复等。通用文件系统如 EXT4 和 XFS 往往不能充分满足镜像极致大小、压缩、去重及可复现构建等需求,且通用文件系统冷门特性会增加格式复杂度,影响分发和执行环节的安全性和可控性,因此打造 Linux下高性能自包含内核只读文件系统能更好地服务容器、终端、集群 OS 等业务场景。

02 技术方案

EROFS 是为高性能只读场景量身打造的内核文件系统,提供了多层镜像、透明压缩、块去重、原生按需加载、FSDAX 内存直接访问等特性,于 Linux 5.4 正式合入Linux主线。在容器镜像领域,通过与 CNCF Dragonfly 的 Nydus 镜像服务深度融合,打造了 RAFSv6、FS-Cache 等技术,服务容器 runC、Kata 等场景,未来还将发力 page cache 内存共享进一步提供内存超卖能力。在终端领域已成为 Android Open Source Project 推荐的系统分区文件系统格式。

技术优势:

  • Linux 内核原生,通过压缩,块去重,字节滚动压缩去重节省镜像存储空间。
  • 原地解压等技术进一步优化运行态内存占用,提升性能。
  • 提供内核原生按需加载能力,从源头解决 FUSE 额外拷贝和上下文切换开销。

应用场景:容器/App/系统镜像、软件包管理、AI 数据分发、函数计算、机密计算、无盘启动、安装器等。

03 基于 EROFS + FS-Cache 优化 Nydus 镜像按需加载

EROFS over FS-Cache 是龙蜥社区牵头为 Nydus 和 EROFS 开发的下一代容器镜像按需加载技术,同时也是 Linux 内核原生的镜像按需加载特性,于 5.19 合入内核社区主线。该方案将按需加载的缓存管理通过 FS-Cache 框架下沉到内核态执行,当镜像已在本地缓存时,相比用户态方案可有效避免内核态/ 用户态上下文切换和内存拷贝;当缓存未命中时,再通知用户态通过网络获取数据,做到真正的“按需”,非按需场景下实现几乎无损的性能和稳定性。

8.png

在按需加载场景,EROFS over FS-Cache 相比 FUSE 性能更优(注:数据为三次测试取平均值):

 

OCI

EROFS + FUSE

EROFS + FS-Cache

wordpress E2E 启动时间

11.562s

5.263s

4.619s 

在非按需场景,EROFS over FS-Cache 相比 FUSE 性能也更优:

 

OCI

EROFS + FUSE

EROFS + FS-Cache

本地cache 4K顺序读

387068KB/s

211767 KB/s

366291KB/s

本地cache 4K随机读

6153KB/s

5450KB/s

6170KB/s

高性能存储 SIG 主页:

https://openanolis.cn/sig/high-perf-storage

附:

2022 龙蜥社区全景白皮书(或公众号回复关键字“白皮书”获取)

https://openanolis.cn/openanoliswhitepaper

—— 完 ——

加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。

高性能存储.png

相关文章
|
9月前
|
Cloud Native Linux 数据中心
龙蜥白皮书精选:云原生混部资源隔离技术
不论是源码透明度,还是技术深度,以及场景的广度,龙蜥在资源隔离技术都是用户第一选择。
|
11月前
|
敏捷开发 算法 测试技术
龙蜥白皮书精选:面向芯片研发和验证的操作系统 SiliconFastOS
SliconFastOS 作为通用的芯片验证系统解决方案,可以有效帮助提高芯片验证的研发效率。
龙蜥白皮书精选:面向芯片研发和验证的操作系统 SiliconFastOS
|
11月前
|
算法 测试技术 Linux
龙蜥白皮书精选:Ancert——硬件兼容性验证与守护
Ancert 支持服务器整机和 NIC、HBA、FC、GPU、NVMe 等多种外设。
|
12月前
|
缓存 Dragonfly 人工智能
带你读《2022龙蜥社区全景白皮书》——5.3.1 跨云-边-端的只读文件系统EROFS
带你读《2022龙蜥社区全景白皮书》——5.3.1 跨云-边-端的只读文件系统EROFS
|
12月前
|
安全 Linux Anolis
带你读《2022龙蜥社区全景白皮书》——5.8.1 龙蜥操作系统漏洞管理
带你读《2022龙蜥社区全景白皮书》——5.8.1 龙蜥操作系统漏洞管理
208 0
|
12月前
|
Linux 区块链 Anolis
《2022龙蜥操作系统生态用户实践精选》——其他——IPFS
《2022龙蜥操作系统生态用户实践精选》——其他——IPFS
69 0
|
12月前
|
敏捷开发 测试技术 Linux
带你读《2022龙蜥社区全景白皮书》——5.2.2 面向芯片研发和验证的操作系统SiliconFastOS
带你读《2022龙蜥社区全景白皮书》——5.2.2 面向芯片研发和验证的操作系统SiliconFastOS
133 0
|
12月前
|
存储 Cloud Native 大数据
带你读《2022龙蜥社区全景白皮书》——5.1.2 龙蜥ARM生态支持
带你读《2022龙蜥社区全景白皮书》——5.1.2 龙蜥ARM生态支持
174 0
带你读《2022龙蜥社区全景白皮书》——5.1.2 龙蜥ARM生态支持
|
12月前
|
Cloud Native 网络性能优化 调度
带你读《2022龙蜥社区全景白皮书》——5.3.2 资源隔离技术
带你读《2022龙蜥社区全景白皮书》——5.3.2 资源隔离技术
123 1
|
12月前
|
机器学习/深度学习 人工智能 运维
带你读《2022龙蜥社区全景白皮书》——5.7.2 机密容器
带你读《2022龙蜥社区全景白皮书》——5.7.2 机密容器
152 1