vlambda博客
学习文章列表

ChubaoFS:CNCF的新分布式文件系统,来自京东

除了不断增长的云原生开源工具之外,CNCF还将分布式文件系统ChubaoFS带入了针对早期项目的沙箱级。



中国在线零售巨头JD.com向CNCF贡献了该文件系统。该项目背后的团队认为,在所有分布式文件系统中,ChubaoFS最适合支持云原生工作负载,这得益于其几乎无限的可伸缩性和分布在多个节点工作内存中的健壮元数据子系统。             


JD首席架构师、技术副总裁刘海峰在一份声明中表示:“ChubaoFS为通用分布式/共享存储基础设施提供了一种创新的新选择,无论文件大小或文件访问模式如何。


该文件系统于2017年在JD内部创建,支持JD.com基于Kubernetes的容器平台,运行160多个应用程序和服务。据ChubaoFS的工程师介绍,ChubaoFS已经部署在数千个节点上,其p99延迟可以达到5毫秒。


云原生和S3兼容


从一个容器或多个容器共享数据的角度来看,每个ChubaoFS卷都可以看作一个完整的文件系统(ChubaoFS可以同时服务于容器化和非容器化环境)。因为ChubaoFS实现了POSIX文件系统语义,所以它可以像本地文件系统一样被Linux操作系统挂载。卷大小可以从几GB到几TB不等。一个ChubaoFS集群可以有几十万个独立的卷或文件系统,每个卷都可以有ElasticBlock级存储空间。      

       


它还提供了一个简单的Simple Storage Service(S3)兼容的对象存储接口,可以对其进行编程。             


ChubaoFS由元数据子系统、数据子系统和资源管理器组成。ChubaoFS同时提供对象和文件存储,具有很强的复制一致性,并且特别适合快速处理小文件,这是支持云原生工作负载的另一个有利特性。


ChubaoFS与Kubernetes(作为它的底层存储基础设施)一起工作得很好,因为它将计算与存储分离开来。它已经集成了容器存储接口(CSI)和Helm。             


ChubaoFS是许多高性能、高可伸缩的分布式文件系统之一,专门用于云原生工作负载。对于那些想比较的人,ChubaoFS网站的FAQ部分提供了一些关于其他文件系统的评论:Ceph很难学,也很难优化;HDFS和Moosef都面临着基于单节点的元数据瓶颈;与ChubaoFS一样,Facebook的Haystack将元数据保存在主内存中以提高性能,不过与Facebook不同,ChubaoFS将文件内容的实际物理偏移量(而不是逻辑索引)存储在该内存中。它也不需要垃圾收集,因为文件会根据用户请求实时删除。 

         

根据GitHub的统计,截至本文发表之时,该项目有来自19个贡献者的419个提交。目前,ChubaoFS可以在X86_64和AMD平台上运行。


JD.com在其运维中使用了一系列开源和CNCF技术,包括Kubernetes、Vitess、Prometheus、Helm和Harbor。



原文链接:

https://thenewstack.io/chubaofs-the-cloud-native-computing-foundations-speedy-new-distributed-file-system/





获取更多开源云技术资讯&大咖交流&免费活动,欢迎添加开源云中文社区小助手,备注开源云!