CubeFS 在过去的一年中推出了许多新特性,特别是在可靠性和稳定性方面进行了大量修复和优化。与此同时,过去的一年也被称为大模型元年,CubeFS 为大模型推出了高性能客户端缓存,以支撑 AI 训练及混合云场景。值此新春佳节来临之际,我们对过去一年进行总结盘点,并展望未来一年的规划目标。
PART.1 产品迭代
在过去的一年中,CubeFS 社区共发布了三个版本,每个版本都有很多令人期待的变化。其中,3.2.1 版本和 3.3.0 版本的优化较大,修复了许多稳定性问题,并引入了一些重要的新特性,如原子性、配额、对象存储增强和纠删码架构简化。3.3.1 版本也推出了许多优化和实用的特性,比如回收站、服务端审计和垃圾清理工具。此外,这个版本还通过了 CNCF 的安全审计,在系统安全方面取得了重要进展。让我们来总结一下这些相关特性:
系统特性
- posix 接口原子性:统一解决分布式场景下数据、元数据多步多节点操作一致性问题,减少文件操作异常,提高可用性、可靠性。
- 回收站:解决经常出现的用户大规模误删除问题。
- 目录联合配额:解决如存储混用卷的目录统计进而解决容量限制、计费。
- 客户端缓存加速:AI 端侧公有云场景使用。
- 审计:客户端和服务端审计功能,追踪文件操作。
- 系统冻结(禁用卷):秒级响应业务,解决用户误操作、恶意操作。
纠删码子系统
- AzureLRC:支持 AzureLRC,AzureLRC+1 支持多机房坏 g+1 块盘的特性。
- Proxy 缓存:Proxy 缓存卷和磁盘信息(去除 memcache),Proxy 卷分配优化。
- Scheduler 支持 Kafka 消费组,支持可配置地并发批量删除 Blob。
- Blobnode Qos 磁盘限速优化,支持单盘读写线程限制。
- 优化数据巡检流程,支持动态调整速率、动态开关控制。
- 审计日志 Filter:审计日志新增功能更强的 Filter 过滤器。
对象子系统
- 兼容性增强:修复 S3 接口历史兼容性问题,提高 objnode 稳定性。
- CORS 功能:支持浏览器跨域功能。
- 权限管控:Bucket Policy、Bucket/Object ACL 权限管控特性。
- WORM 特性:对象删除保护功能。
- 重构签名算法:兼容 S3 V2 / V4 签名算法。
PART.2 社区发展
去年一年在主干的 commit 超过 1200+,同比增长 200%;issue 数量达到 400 左右,同比增长 100%;社区用户增长 50%,推出社区技术类文章 40 篇,组织月度例会 6 次,star 达到 4.2 K。
同时加强生态合作,与 fluid、osc 开源社区、soda 基金会等进行了不同形式的合作探索,同时这几年也在加强同社区的主力 committer 合作,京东、OPPO、BIGO、贝壳等都为社区提供了非常重要的特性和修复。
PART.3 用户情况
PART.4 生态建设
Helm 编排部署
CubeFS 支持在 AWS 的 EKS、Azure 的 AKS、GCP 的 GKE 以及阿里云的 ACK 上使用 Helm 的方式编排部署,包括以下组件:
- Master
- MetaNode
- DataNode
- ObjectNode
- csi
Operator 部署
为了更好地管理 CubeFS,提高效率、降低错误率,实现更高层次的自动化和自动化故障恢复,提供 CubeFS 的 Operator,主要功能包括:
- 集群的初始化部署
- 集群配置变更
- 集群版本升级
- 集群扩容
同时,Operator 也支持 AWS 的 EKS、Azure 的 AKS、GCP 的 GKE 以及阿里云的 ACK。
PART.5 官网优化
PART.6 后续规划
架构重构
- 存储引擎重构,提供 append only 文件系统,数据读写具有更低延时、更高吞吐。
- 混合云:混合云项目支持统一命名空间,提供混合使用多存储系统的能力,提供外部 S3、HDFS 能力。支持生命周期驱动数据在不同介质、存储类型、云上云下之间流动,降本增效。一期即将发版 。
稳定性、可靠性提升
- 磁盘 CRC 增强,提高主从同步、随机写等 CRC 校验能力。
- 磁盘自动化迁移,减少迁移过程元数据信息的原子性问题,提高运营自动化水平。
- 系统模块运营监控、告警加强,增强可观测性。
- 数据节点增加 learner 能力,支持同城多活部署。
性能提升
- 全链路加速,更好支撑数据库存算分离、AI 训练加速等场景。
- 客户端:提供内核客户端,并支持 GDS (GPU Direct Storage)、RDMA 技术,降低 IO 时延及 CPU 开销。
- 服务端:基于 RDMA 重建通信机制,从而整体上降低读写服务的延迟,提高吞吐能力。
- 分布式缓存:进一步优化分布式多级缓存架构,支持跨机房、跨云的读写加速能力,支撑 AI 训练加速需求。
- 优化现有系统基于 TCP 链路的读写能力。
- 优化客户端本地缓存 (一级缓存) 性能。
特性
- 基于 RocksDB 实现元数据存储,元数据全量缓存优化为按需缓存,降低内存开销。
- 纠删码子系统移除 Kafka 组件依赖,提供 SDK 供直接客户端直接接入,缩短数据传输路径。
- 提供事件通知特性、S3api QoS、objnode 审计日志功能、跨区域复制、QPS 及带宽计量计费能力。
CubeFS 简介
CubeFS 于 2019 年开源并在 SIGMOD 发表工业界论文,目前是云原生计算基金会 (CNCF) 托管的孵化阶段开源项目。作为新一代云原生分布式存储平台,兼容 S3、POSIX、HDFS 等协议,支持多副本和纠删码引擎,提供多租户,多 AZ 部署、跨区域复制等特性;适用于大数据、AI、容器平台、数据库及中间件存算分离,数据共享、数据保护等广泛场景。