- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
JuiceFS云原生时代的分布式文件系统 - DataFunSummit
在 2021年4月17日 DataFunSummit 大数据存储架构峰会上今年开源的热门云原生文件系统项目 JuiceFS,合伙人苏锐做了题为 「JuiceFS,云原生时代的分布式文件系统」的演讲,为与会嘉宾分享了在云原生环境下文件存储的挑战和需求,在这样背景下产生的 JuiceFS 的目标和架构设计,以及在大数据、AI 等业务领域中的价值与收益。
展开查看详情
1 . 2021 | DataFunSummit JuiceFS 云原⽣生时代的分布式 ⽂文件系统 github.com/juicedata/juicefs 苏锐,Juicedata 合伙⼈人
2 .⽬目录 github.com/juicedata/juicefs 01 云原⽣生环境为什什么需要⽂文件系统 02 JuiceFS 的⽬目标与架构设计 03 云原⽣生环境中的业务挑战 04 云原⽣生环境中的业务挑战 未来展望 05 | DataFunSummit
3 . github.com/juicedata/juicefs 01 • ⽂文件存储的架构变迁 云原⽣生环境为什什么需要 • 云原⽣生⽂文件存储的需求是什什么? ⽂文件系统 | DataFunSummit
4 . github.com/juicedata/juicefs ⽂文件存储的架构变迁 1980 - 2003 2004 - 2010 2006 - 2016 2017 - 现在 传统 NAS 分布式⽂文件系统 对象存储 云原⽣生分布式⽂文件系统 软硬⼀一体⽅方案 软件定义存储 云服务 云原⽣生 Ceph HDFS S3 JuiceFS - 单点故障 - 难掌握 - 单点故障 - 缺少完整⽂文件系统语义 - 多访问协议兼容 - 控制器器瓶颈 - 横向扩展南 - Inodes 受限 - List,Rename 代价⼤大 - 强⼀一致性 - 共享受限 - ⼩小⽂文件性能受限 - GC 影响可⽤用性 - 最终⼀一致性 - 弹性伸缩 - 横向扩展困难 - 扁平空间管理理难 - ⾼高性能 共同问题 - 时延⾼高 - 服务化,免运维 - 运维成本⾼高 - TCO 低 - 容量量规划和扩容复杂 - TCO ⾼高 不不同时代的存储肩负着不不同的使命,也需要不不同的架构基因 局域⽹网多机共享, 满⾜足 Web 2.0 数据增⻓长, 满⾜足移动互联⽹网数据增⻓长, 云原⽣生,⾼高可⽤用,弹性伸缩,全 Web 1.0 数据共享 ⾯面向物理理机的架构设计 公有云时代到来 托管服务,应对数据爆发的时代 | DataFunSummit
5 . github.com/juicedata/juicefs 对象存储和⽂文件系统的不不同 mv foo bar Data copy /foo /bar Atomic Update /foo/a /bar/a /foo/b /bar/b /a /b /c /foo/c /bar/c Update /foo/a/aa /bar/a/aa Index /aa /aaa /foo/a/aaa /bar/a/aaa No Transaction Guarantee /b /foo/a/aaa/b /bar/a/aaa/b /foo/a/aaa/b/c /bar/a/aaa/b/c /c | DataFunSummit
6 . github.com/juicedata/juicefs 云原⽣生⽂文件存储的需求是什什么? 云原⽣生的设计理理念 业务对⽂文件存储的需求 • 分布式(Distribution) • 服务化 • 配置(Configuration) • 弹性伸缩 • 韧性(Resistancy) • 简单、可靠、快、便便宜 • 弹性(Elasticity) • 海海量量数据管理理和使⽤用,对⼈人和应⽤用都要友好 • 交付(Delivery) • 存算分离,是海海量量数据业务中必须的架构升级 • 性能(Performance) • ⾃自动化(Automation) • 诊断性(Diagnosability) • 安全性(Security) | DataFunSummit
7 . github.com/juicedata/juicefs 02 • ⽬目标与能⼒力力 JuiceFS 的 • 架构设计 ⽬目标与架构设计 | DataFunSummit
8 . github.com/juicedata/juicefs ⽬目标与能⼒力力 对象存储 云原⽣生⽂文件存储该有的样⼦子 Pros. Cons. 对象存储的优点我都要! - 弹性伸缩 - 数据最终⼀一致性 我还要: - ⾼高可⽤用 - 没有原⼦子 Rename - 数据强⼀一致性! - ⾼高吞吐 - Listing 慢 - ⾼高性能元数据! - 持久性安全 - 没有原⽣生⽬目录,数据管理理难 - POSIX 兼容! - 开箱即⽤用 - 只有 HTTP API,应⽤用开发 复杂 - HDFS 兼容! - 便便宜 - API 调⽤用付费 - S3 兼容! - 不不同云服务商的差异 - 多访问协议互通! - 海海量量⼩小⽂文件友好! - Kubernetes 友好! | DataFunSummit
9 . github.com/juicedata/juicefs JuiceFS 架构设计 ⽂文件存储三要素:Meta - Data - Client Meta(NameNode) Client (Java SDK) Data(DataNode) Google File System Architecture | DataFunSummit
10 . github.com/juicedata/juicefs JuiceFS 架构设计 ⽂文件存储三要素:Meta - Data - Client JuiceFS Architecture | DataFunSummit
11 . github.com/juicedata/juicefs 03 • Hadoop 存算分离的必要性 • AI 平台中数据存储的挑战 云原⽣生环境中的 • Kubernetes 共享存储的需求 业务挑战 • 业务边界融合的必然性 | DataFunSummit
12 . github.com/juicedata/juicefs Hadoop 存算分离的必要性 Hadoop 存算耦合架构⽆无法弹性伸缩 JuiceFS 存算分离,弹性伸缩 HDFS 难以服务化 JuiceFS 有全托管服务,企业云内部也容易易服务化 对象存储对 Hadoop 兼容性不不⾜足 100% HDFS 兼容,整个 Hadoop ⽣生态平滑对接 对象存储相⽐比 HDFS 性能下降 ⾼高性能元数据,加本地缓存 解决存算分离带来的性能损失 此外, JuiceFS 不不是 Append-Only 的⽂文件系统,⽀支持⾼高效随机读写。 | DataFunSummit
13 . github.com/juicedata/juicefs AI 平台中数据存储的挑战 机器器学习,深度学习框架需要 POSIX 访问 Pjdtest passed,⽆无缝对接所有框架 海海量量⽂文件的管理理与训练 元数据横向扩展⽀支持百亿⽂文件 如何在 AI Pipeline 中⾼高效的共享 ⼀一套 JuiceFS ⽀支持全流程业务需求 | DataFunSummit
14 . github.com/juicedata/juicefs Kubernetes 中共享存储的需求 PersistentVolume ⽤用什什么? ? ⾼高吞吐需求,云 NAS 不不能满⾜足 AI Training on K8s Spark on K8s Presto on K8s | DataFunSummit
15 . github.com/juicedata/juicefs 业务边界融合带来的挑战 数据采集 清洗 / 预处理理 特征⼯工程 训练 模型推理理 业务程序 Spark 业务程序 TensorFlow 业务程序 S3 HDFS S3 本地磁盘 S3 HDFS Docker Image 数据会在不不同的存储中搬来搬去 本地磁盘 | DataFunSummit
16 . github.com/juicedata/juicefs 业务边界融合带来的挑战 数据采集 清洗 / 预处理理 特征⼯工程 训练 模型推理理 业务程序 Spark 业务程序 TensorFlow 业务程序 Kubernetes CSI JuiceFS | DataFunSummit
17 . github.com/juicedata/juicefs 04 • 应⽤用⽣生态 未来展望 • 易易⽤用性与可观测性 • 元数据引擎演进 | DataFunSummit
18 . github.com/juicedata/juicefs 应⽤用⽣生态 | DataFunSummit
19 . github.com/juicedata/juicefs 易易⽤用性与可观测性 | DataFunSummit
20 . github.com/juicedata/juicefs 元数据引擎演进 RedisRaft | DataFunSummit
21 . 2021 | DataFunSummit THANKS! github.com/juicedata/juicefs