带你读《2022龙蜥社区全景白皮书》——5.3.1 跨云-边-端的只读文件系统EROFS

本文涉及的产品
性能测试 PTS,5000VUM额度
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
云原生网关 MSE Higress,422元/月
简介: 带你读《2022龙蜥社区全景白皮书》——5.3.1 跨云-边-端的只读文件系统EROFS

5.3 内核技术


5.3.1 跨云-边-端的只读文件系统EROFS


背景概述


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


技术方案


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


技术优势:

(1)Linux内核原生,通过压缩,块去重,字节滚动压缩去重节省镜像存储空间;

(2)原地解压等技术进一步优化运行态内存占用,提升性能;

(3)提供内核原生按需加载能力,从源头解决FUSE额外拷贝和上下文切换开销。

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


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


EROFS over FS-Cache是龙蜥社区牵头为Nydus和EROFS开发的下一代容器镜像按需加载技术,同时也是Linux内核原生的镜像按需加载特性,于5.19合入内核社区主线。


该方案将按需加载的缓存管理通过FS-Cache框架下沉到内核态执行,当镜像已在本地缓存时,相比用户态方案可有效避免内核态/用户态上下文切换和内存拷贝;当缓存未命中时,再通知用户态通过网络获取数据,做到真正的“按需”,非按需场景下实现几乎无损的性能和稳定性。



image.png


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


image.png


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


image.png








相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
3月前
|
存储 人工智能 分布式计算
云栖实录 | 阿里云 OpenLake 解决方案重磅发布:多模态数据统一纳管、引擎平权联合计算、数据共享统一读写
阿里云 OpenLake 解决方案重磅发布,构建大数据、搜索、AI 一体化的能力体系,实现多模态数据统一纳管、多种计算引擎平权计算、大数据 AI 一体化开发,助力企业基于数据资产构筑竞争力。
299 10
云栖实录 | 阿里云 OpenLake 解决方案重磅发布:多模态数据统一纳管、引擎平权联合计算、数据共享统一读写
|
4月前
|
存储 缓存 Cloud Native
为媒体资产构建一个云原生的文件系统
为媒体资产构建一个云原生的文件系统
44 3
|
存储 固态存储 Linux
开启全新存储时代:SPDK文件系统项目实战指南
开启全新存储时代:SPDK文件系统项目实战指南
|
缓存 Kubernetes Cloud Native
带你读《2022龙蜥社区全景白皮书》——6.1.3 资源混部场景的内核隔离实现方案(上)
带你读《2022龙蜥社区全景白皮书》——6.1.3 资源混部场景的内核隔离实现方案(上)
209 9
|
资源调度 运维 监控
带你读《2022龙蜥社区全景白皮书》——6.1.3 资源混部场景的内核隔离实现方案(下)
带你读《2022龙蜥社区全景白皮书》——6.1.3 资源混部场景的内核隔离实现方案(下)
287 10
|
缓存 运维 Java
带你读《2022龙蜥社区全景白皮书》——5.3.4 跨处理器节点内存访问优化
带你读《2022龙蜥社区全景白皮书》——5.3.4 跨处理器节点内存访问优化
191 10
|
测试技术 Shell Anolis
带你读《2022龙蜥社区全景白皮书》——5.10.4 ancert:硬件兼容性验证与守护
带你读《2022龙蜥社区全景白皮书》——5.10.4 ancert:硬件兼容性验证与守护
123 4
|
存储 Dragonfly 缓存
带你读《2022龙蜥社区全景白皮书》——5.6.3 容器镜像大规模分发技术Nydus
带你读《2022龙蜥社区全景白皮书》——5.6.3 容器镜像大规模分发技术Nydus
178 6
|
Cloud Native 网络性能优化 调度
带你读《2022龙蜥社区全景白皮书》——5.3.2 资源隔离技术
带你读《2022龙蜥社区全景白皮书》——5.3.2 资源隔离技术
180 6
下一篇
无影云桌面