从 CephFS 到 JuiceFS:同程旅行亿级文件存储平台构建之路

随着公司业务的快速发展,同程旅行的非结构化的数据突破 10 亿,在 2022 年,同程首先完成了对象存储服务的建设。当时,分布式文件系统方面,同程使用的是 CephFS,随着数据量的持续增长,CephFS 的高复杂性和运维难度逐渐成为瓶颈。考虑到可观测性、稳定性和管理效率等维度,同程最终决定转向 JuiceFS。

目前,同程已在 JuiceFS 上构建了一个企业级存储平台,平台规模涵盖了超过 20 个文件系统和 2000 多个客户端挂载点,能够高效管理亿级文件和百 TiB 级别的数据量。值得一提的是,整个存储平台的日常运维工作仅需一人。该平台主要应用于多个场景,包括 AI 应用、容器云环境以及应用级共享存储需求。

01 文件系统选型:从 CephFS 到 JuiceFS

在使用 JuiceFS 之前,同程内部使用的是 Ceph 来提供对象存储和分布式文件存储服务。然而,Ceph 的技术栈复杂度较高,掌握难度大,对使用经验和运维经验都有较高要求。同时,在可运维性和生态建设方面也存在一定不足,对日常稳定性保障构成了较大挑战。

相比之下,JuiceFS 具有诸多优势。JuiceFS 设计上实现了元数据和数据分离,这与我们内部已有的成熟对象存储系统和分布式数据库系统高度契合。凭借已有的技术经验,能够自主进行问题排查和性能分析。此外,JuiceFS 的工具链和生态建设相对成熟,具备良好的 POSIX 兼容性和云原生支持。特别是其 CSI 功能,提供了多种挂载模式,使我们能够灵活选择。中文的用户社区也使得我们在使用过程中的沟通更为顺畅。

选择 JuiceFS 的另一个原因是它能够与我们现有的技术栈良好融合。简要介绍一下我们现有的基础系统:我们自建了一个基于开源 Seaweed 构建的 S3 集群,并搭建了 S3 代理,兼容 Seaweed、Ceph 以及腾讯 COS 等公有云S3服务。S3 集群具备主从机制,可以在代理层实现从主集群切换到从集群。此外,我们的 DCDB 是一个内部使用的分布式数据库系统,语法兼容 MySQL,基于百度的 BaikalDB 构建。

02 JuiceFS 在同程旅行的平台化建设

在平台化建设过程中,系统的可观测性、应用接入与部署以及数据安全性是至关重要的要素。为了确保平台的高效运行,我们在多个维度上进行了精心设计和优化,以实现全面的监控和高效的服务管理。

在可观测方面,我们构建了一系列监控大盘,以全面监控关键指标。同时,我们接入了公司内部的监控告警系统,为容量、接口耗时等重要指标配置了告警规则。为了更高效地接入内部监控系统,我们开发了一个挂载点自动发现程序。该程序从元数据引擎中获取当前的客户端列表,并实时将客户端列表的更改信息推送给我们内部的监控采集系统。

在应用接入与部署方面,我们提供了一系列易用工具,以支持应用的快速接入和部署。这些工具不仅简化了操作流程,还降低了运维难度。此外,我们高度重视数据安全性,对重要的文件系统都实现了全面备份,以确保数据的完整

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值