FastBlock是一个专为全闪存场景设计的高性能分布式块存储系统

FastBlock是一个专为全闪存场景设计的高性能分布式块存储系统,旨在满足对低延迟和高吞吐量有严格要求的应用需求。

设计背景

随着全闪存技术的普及,传统的分布式块存储系统在性能、延迟和成本方面暴露出诸多问题。例如,Ceph等传统系统在全闪存环境下可能无法充分发挥硬件性能,且存在高CPU消耗、可用性差、单卷性能不足等问题。为了解决这些挑战,FastBlock应运而生,旨在提供一个高性能、低延迟、易于维护的分布式块存储解决方案。

核心特点

  • 高可用性与一致性:通过Raft协议确保系统的数据一致性和高可用性,即使在部分节点故障的情况下,仍能保证数据的完整性和服务的连续性。

  • 低延迟IO:采用SPDK(Storage Performance Development Kit)用户态NVMe驱动和无锁队列等技术,减少IO路径中的延迟,提高数据读写效率。

  • 高性能网络通信:利用RDMA(Remote Direct Memory Access)网卡,实现零拷贝、内核旁路、无需CPU干预的网络通信,进一步降低网络通信延迟,提升系统整体性能。

系统架构

FastBlock的架构与Ceph类似,包含Monitor、OSD(Object Storage Daemon)、PG(Placement Group)等组件:

  1. Monitor:负责节点管理、卷管理、存储卷元数据、集群拓扑结构维护、PG分布管理等工作。Monitor使用etcd进行多副本存储,是系统一致性的关键。

  2. RPC子系统:支持两种通信方式:基于Socket的Control RPC,用于传输元数据;基于RDMA的Data RPC和Raft RPC,分别用于数据传输和Raft协议通信,确保高效的数据交互。

  3. OSD Raft子系统:实现了multi-raft,负责数据复制和一致性维护,包括Raft组的管理、选举、日志处理、数据状态机处理等。

  4. OSD KV子系统:用于存储Raft协议元数据和存储系统本身的数据,采用内存中的哈希映射存储所有数据,并定期将数据刷新到磁盘。

  5. OSD本地存储子系统:基于SPDK的Blobstore访问NVMe磁盘,包含三个存储模块:disk_log(存储Raft日志)、object_store(存储对象数据)、kv_store(存储KV数据)。

  6. 客户端:支持多种模式,包括使用SPDK vhost提供给虚拟机、使用NBD提供给裸金属、使用SPDK nvmf-tgt通过操作系统内核导出磁盘。客户端通过调用libfastblock库,在Image访问和Object访问之间进行切换,实现高效的数据读写。

技术特点

  • CPU绑定与跨核优化:每个OSD可以绑定多个CPU核,创建PG时考虑CPU核的分配,相同的PG会落在其所有OSD的同一个shard_id上,避免OSD之间在通信时切换CPU核,减少跨核开销。

  • SPDK编程框架:通过用户态NVMe驱动替代内核NVMe驱动,减少用户态与内核态之间的频繁切换;使用轮询替代中断,提高响应速度;采用无锁队列技术,显著降低IO路径开销。

  • 心跳合并:在multi-raft设计中,对相同Leader和相同Follower的Raft组进行心跳包的合并,减少心跳包数量,优化带宽和CPU资源的使用。

应用场景

  • 虚拟机磁盘:使用FastBlock的vhost应用启动SPDK vhost进程,在FastBlock的image上创建BDEV设备和vhost控制器,生成socket文件。通过QEMU启动虚拟机时,将该BDEV设备作为虚拟机的磁盘。

  • 裸金属服务器:使用FastBlock的fastblock-nvmf-tgt应用启动SPDK nvmf-tgt进程,在FastBlock的image上创建BDEV设备,并通过操作系统内核将该BDEV设备导出为磁盘。

开源与社区

FastBlock项目已在openEuler社区开源,采用木兰V2宽松License协议,使用C++/Golang语言和SPDK框架进行开发,使用成熟的Raft协议作为核心一致性算法,旨在与社区伙伴共同打造全闪时代的云计算数据基石。

项目地址:fastblock: A distributed block storage system that uses mature Raft protocol and is designed for all-flash scenarios

通过以上介绍,可以看出FastBlock在高性能分布式块存储领域具有显著优势,特别适用于对存储性能和延迟有高要求的应用场景,如数据库、高性能计算和实时数据处理等。

相关推荐
QY_Research_18 分钟前
2026房地产NFT平台创业机遇与落地指南分析报告
大数据·人工智能·物联网·机器人·制造
机器人零零壹2 小时前
技术白皮书:iRobotCAM如何解决机器人激光切割应用中的核心难点,从CAD离线编程到双目视觉定位与轨迹自适应提升复杂空间曲线切割的精度、效率与柔性化水平
人工智能·算法
电子元件小说家3 小时前
2026年四季度电感市场观察:AI算力与汽车电子驱动下的选型与验证建议智能硬件
人工智能·汽车
网易CodeWave-小码哥3 小时前
支持多模块 Java 微服务导入|CodeWave SDD V4.5.10 上线
人工智能
AI你一生一世3 小时前
不止于时序存储:DolphinDB 如何成为 AI 时代的工业智能底座
java·人工智能·struts·时序数据库·工业智能·dolphindb·ai基础设施
belldeep3 小时前
python:genesis-world, Genesis-Embodied-AI
人工智能·python·ai·genesis
怕浪猫3 小时前
小程序成长计划上新:10 亿 Token 现在能调 DeepSeek-v4.1-flash了
人工智能·aigc·ai编程
ss2733 小时前
为什么PostgreSQL适合AI场景?
数据库·人工智能·postgresql
七牛云行业应用4 小时前
DeepSeek Super-agent 与 Grok Bot:开源 Agent 架构和聊天助手有何区别
人工智能·ai·架构·ai编程
维克兜率天4 小时前
【维克】趋势型CTA:期货市场的“追涨杀跌“
人工智能·python