项目官方信息
| 项目 | 信息 |
|---|---|
| 项目名称 | CubeFS(中文社区名「储宝」) |
| 代码仓库 | CubeFS/CubeFS |
| 基金会归属 | 云原生计算基金会 CNCF,为 CNCF 毕业项目(Graduated) |
| 主要开发语言 | Go 语言 |
| 开源协议 | Apache License, Version 2.0 |
| 官方文档 | 英文版文档 / 中文版文档 |
| 官方网站 | cubefs.io |
| 制品仓库 | Artifact Hub 上的 CubeFS Helm Chart |

项目成熟度与质量门禁
CubeFS 在 README 头部展示了一整套质量与可信度徽章,每一项都对应一项可核查的工程实践,这里逐一完整翻译说明。CNCF Status 徽章标明项目处于「毕业(Graduated)」状态;Build Status 徽章对应仓库主 CI 流水线;LICENSE 徽章指向 Apache 2.0 协议;Language 徽章标明项目主要使用 Go 语言开发;Go Report Card 徽章给出 Go 代码的静态评分;Docs 徽章指向最新版文档;此外还有两项安全供应链认证——OpenSSF Best Practices 徽章与 OpenSSF Scorecard 徽章,以及统计测试覆盖率的 Codecov 徽章、分发 Helm Chart 的 Artifact Hub 徽章、由 CNCF 项目托管监控平台提供的 CLOMonitor 徽章、做许可证扫描的 FOSSA 徽章、标示最新发布版本的 Release 徽章 与最新 Tag 的 Tag 徽章,以及一个可以直接向项目提问的 Gurubase 徽章。对于一个要承载企业核心数据的存储系统而言,这一整套公开可查的门禁意味着项目的工程成熟度处于云原生存储领域的第一梯队。
项目背景与概述
CubeFS 中文社区名读作「储宝」,是一套开源的云原生分布式文件与对象存储系统,由云原生计算基金会(CNCF)托管,并且已经从 CNCF 毕业项目路径中顺利毕业,意味着它在治理、文档、社区活跃度、安全性和可持续性等方面都通过了 CNCF 最严格的评审标准,是国内少数达到这一里程碑的云原生存储项目。项目在代码层面持续保持高质量门禁:通过 GitHub Actions 持续集成 自动构建验证,由 Go Report Card 进行 Go 代码质量评分,由 Codecov 统计测试覆盖率,并且通过 OpenSSF Best Practices 与 OpenSSF Scorecard 两项安全供应链认证,同时由 FOSSA 进行许可证合规扫描。
用 CubeFS 可以构建什么
官方 README 对 CubeFS 的定位给出了四个层次的使用方式。第一,作为开源分布式存储,CubeFS 可以直接充当数据中心的文件系统,为整个机房提供统一的存储底座。第二,它可以作为数据湖存储基础设施,承接大数据与数据分析场景下的海量原始数据落地。第三,它可以作为私有云或混合云的存储后端,让企业在自有数据中心内部构建与公有云体验一致的存储能力,把数据主权牢牢掌握在自己手里。第四,它还可以运行在公有云服务之上,在 S3 这类公有云对象存储之上提供缓存加速与文件系统语义,从而把公有云存储变成更适合业务直接使用的文件系统,让企业不必为了获得文件系统接口而被迫迁移数据。除此之外,CubeFS 一个特别重要的价值在于:它能够为数据库、搜索系统以及人工智能/机器学习应用实现存储与计算分离的架构,让存算解耦成为可能——计算节点可以按需弹性伸缩,而数据持久沉淀在统一的存储层,避免传统架构下计算与存储捆绑扩容带来的资源浪费。
核心特性逐条解读
CubeFS 在官方 README 中列出了六项关键特性,下面逐条完整翻译并展开说明。
多协议访问。 CubeFS 同时提供 POSIX、HDFS、S3 以及它自己的 REST API 等多种访问协议。这意味着同一份存储底座上,传统 POSIX 应用可以像挂载本地目录一样直接读写,大数据生态的 Hadoop/Spark 任务可以走 HDFS 协议,面向互联网的应用可以走 S3 兼容接口,脚本化管理则可以走 REST API,一套存储满足多种业务接入方式,不需要为不同协议维护多套存储。
高可扩展且强一致的元数据服务。 元数据服务是分布式存储系统的大脑,负责目录、文件、inode 等信息的管理。CubeFS 的元数据服务在保证强一致性的前提下具备很高的水平扩展能力,可以支撑海量文件规模,这也是它能承接数据湖和容器平台场景的关键基础。
针对大小文件与顺序/随机写的性能优化。 CubeFS 同时针对大文件、小文件以及顺序写、随机写这四类混合负载做了性能优化,避免了很多分布式存储在某一类负载上表现突出、另一类负载上明显掉坑的问题,适合企业级复杂业务的混合负载。
多租户支持。 系统原生提供多租户能力,在提升资源利用率的同时实现租户之间的资源隔离,让一个存储集群可以安全地服务多个业务部门或多个客户,而不必为每个租户单独部署一套集群。
基于多级缓存的混合云 I/O 加速。 CubeFS 通过多级缓存机制实现混合云下的 I/O 加速,当数据落在远端公有云或混合云远端时,本地缓存可以显著降低访问延迟,让应用在混合架构下仍然获得接近本地存储的性能体验。
灵活的存储策略。 用户可以在高性能多副本与低成本纠删码(Erasure Coding)之间灵活选择:对性能敏感、可靠性要求高的业务使用多副本,对冷数据、大容量归档类业务使用纠删码以降低存储成本,在同一个集群里按策略灵活分配。

环境要求与版本获取方式
官方 README 在「Note」一节中对使用者给出了非常明确的版本选择建议:master 分支在开发过程中可能处于不稳定甚至损坏的状态,因此为了获得一套稳定可用的二进制文件,不要直接从 master 分支拉源码部署,而应当使用项目的正式 Release 版本。具体各组件(元数据节点、数据节点、元数据节点主、对象网关等)的环境要求、端口规划与部署步骤,官方集中维护在文档站中,建议按照中文版文档或英文版文档对应的部署章节操作;需要在 Kubernetes 环境部署的用户,可以参考 Artifact Hub 上的官方 Helm Chart 进行安装。
使用方法与社区支持
CubeFS 采用「文档站 + 社区」双轨支持体系。日常使用中的概念、部署、运维与故障排查,请查阅官方文档站;遇到需要面对面交流的问题,可以参与 CubeFS 项目双周一次(bi-weekly)的社区在线会议,会议的日程安排与历次会议纪要、录屏都在社区仓库 Wiki 中公开,分别见 meeting schedule 与 meeting minutes。
项目治理与贡献
CubeFS 拥有完善的治理文档(GOVERNANCE),治理文档对于在一个组织或项目内部建立清晰的指引、流程与结构至关重要。项目对角色及其晋升路径有明确的定义,想参与贡献的开发者可以依次参考如何成为 Committer、如何成为 Maintainer 以及如何成为 TSC 成员三条晋升路径。贡献流程则统一遵循贡献指南。已经在生产中使用 CubeFS 的团队,可以参照 ADOPTERS.md 的格式登记为用户,社区也会持续收集用户案例与成功故事。
学术参考
CubeFS 并非凭空而来,它的技术论文《CFS: A Distributed File System for Large Scale Container Platforms》由 Haifeng Liu 等人撰写,发表于 2019 年 6 月 30 日至 7 月 5 日在荷兰阿姆斯特丹举办的 SIGMOD '19 大会,这是数据库领域影响力最高的顶级学术会议之一。论文从大型容器平台对存储的真实诉求出发,阐述了这套分布式文件系统在元数据管理、数据分片与可靠性设计上的取舍,是理解 CubeFS 架构设计初衷的一手材料。感兴趣的读者可以在 ACM 数字图书馆或 arXiv 预印本 上阅读论文全文,了解这套分布式存储系统的设计初衷与演进思路。
从社区发展曲线看,CubeFS 提供了 Star History 星标增长统计,记录了项目从诞生到 CNCF 毕业过程中社区关注度的持续攀升轨迹,反映出云原生分布式存储领域对这套方案的长期认可。
开源协议
CubeFS 基于 Apache License, Version 2.0 协议开源,这是业界公认对商业使用最友好的开源协议之一,具体条款与免责声明以仓库中的 LICENSE 与 NOTICE 文件为准,企业可放心地将其用于商业项目,既可以内部自用,也可以随商业产品一同分发。
常见问题 FAQ
问:我直接 clone master 分支编译出来的二进制可以用于生产吗? 答:不建议。官方 README 明确警告,master 分支在开发期间可能处于不稳定甚至损坏的状态,为了拿到一套稳定的二进制集,生产环境请使用正式 Release 版本,而不是 master 分支。
问:如何订阅 CubeFS 的用户邮件列表? 答:邮件列表地址是 users@cubefs.groups.io,订阅方式有两种:一是在 groups.io 订阅页面直接在线订阅;二是向 cubefs-users+subscribe@groups.io 发送一封邮件即可申请加入。
问:除了邮件列表还有哪些沟通渠道? 答:官方提供 Slack 工作区 cubefs.slack.com、官方 Twitter 账号 cubefs_storage,以及微信交流群,微信群的入群方式见这个 Issue。
问:CubeFS 适合在什么场景下使用? 答:根据官方定位,它适合作为数据中心文件系统、数据湖存储基础设施、私有云/混合云存储,也可以跑在公有云 S3 之上提供缓存加速与文件系统语义,特别适合为数据库、搜索系统和 AI/ML 应用落地存算分离架构。
问:什么是纠删码,为什么需要它? 答:这是 CubeFS 灵活存储策略中的一个关键能力。与多副本「整份数据复制多份」的思路不同,纠删码把数据切块并编码成校验分片,在同样可靠性下占用的磁盘空间远少于多副本,因此官方 README 把它定位为与「高性能多副本」并列的另一条存储策略路线:热数据、低延迟业务走多副本,冷数据、大容量归档业务走纠删码来摊薄成本。
问:如何在 Kubernetes 上部署 CubeFS? 答:官方在 Artifact Hub 上提供了 Helm Chart,生产环境部署前请先阅读官方文档站的部署章节,并从正式 Release 取对应版本的二进制或镜像,不要直接使用 master 分支构建产物。
问:CubeFS 的开源协议是什么,商用有没有限制? 答:CubeFS 基于 Apache License, Version 2.0 协议开源,这是对商业友好度最高的开源协议之一,允许企业在保留版权声明的前提下自由使用、修改与再分发,具体以仓库内的 LICENSE 与 NOTICE 文件为准。
问:如何参加 CubeFS 的双周社区会议? 答:CubeFS 项目每两周(bi-weekly)举办一次线上社区会议,想加入会议或回看历次会议的纪要与录屏,可以先查阅 meeting schedule 了解日程,再在 meeting minutes 查看历史议程与会议记录。
问:贡献者在项目里有哪些成长路径? 答:项目治理文档对角色及晋升路径有明确定义,依次为 Becoming a Committer、Becoming a Maintainer 与 Becoming a TSC Member,新贡献者从认领未分配的任务开始,按贡献指南逐步晋升。
跳转链接
- 项目仓库:github.com/cubefs/cubefs
- 官方文档:cubefs.io 文档站(中文版)
- 社区会议:Meeting Schedule
- 治理文档:GOVERNANCE.md
- 贡献指南:CONTRIBUTING.md
- 用户案例:ADOPTERS.md
- 学术论文:SIGMOD'19 论文 / arXiv 版本