Ceph 系统的关键核心在于 CRUSH 算法,该算法通过哈希计算和动态映射,将数据对象均匀分布到整个集群的所有存储设备中,从而实现了去中心化的高效存储架构。
HDFS
作为 Apache Hadoop 项目的重要模块之一,HDFS 专门为海量数据的批处理任务设计。
HDFS 采用经典的主从架构模式,具体结构如下图所示:
图片
NameNode(主节点):负责管理文件系统的元数据信息。
例如:文件目录结构、文件与数据块的对应关系等,它本身并不存储实际数据内容。
DataNode(从节点):负责存储实际的数据块,系统会将数据切分为固定大小的数据块(通常为 128MB 或 256MB)。
主要优势:
高吞吐量:特别适合大文件的顺序读写操作。
与 Hadoop 生态圈紧密集成(可无缝对接 MapReduce、Hive、Spark 等组件)。
存在局限:
难以支持低延迟访问(例如随机小文件读写时性能较差)。
不适合存储小文件(容易导致元数据管理负担过重)。
典型应用场景:大数据处理平台(离线计算、日志存储等)。
CephFS
这是 Ceph 的分布式文件系统组件,采用 CRUSH 算法实现数据分布。
图片
Ceph 的核心机制基于 CRUSH 算法,通过智能化哈希计算与动态映射,将数据对象均衡分布到集群所有存储节点,实现高度去中心化的架构设计。
OSD(对象存储设备):负责存储数据对象,通常每个 OSD 对应一个物理硬盘。
Monitor:负责维护集群状态信息和元数据。
MDS(元数据服务器):专门管理 CephFS 的文件元数据。
工作流程:客户端首先与 MDS 交互获取元数据,然后直接与 OSD 进行数据读写。
应用场景:云计算平台(作为 OpenStack 的默认存储后端)。
GFS
GFS 是谷歌提出的分布式文件系统,也是 HDFS 的设计灵感来源。
整体架构如下图所示:

GFS 同样采用主从架构,其基本原理与 HDFS 高度相似。
Master(主节点):负责管理元数据,包括文件命名空间、访问控制和数据块位置信息。
Chunkserver(从节点):负责存储实际数据块(称为 Chunk),每个 Chunk 通常为 64MB。每个 Chunk 都会创建多个副本。
工作流程:客户端先与 Master 交互获取元数据,然后直接与 Chunkserver 进行数据读写。
TFS
TFS 是淘宝自主研发的分布式文件系统,专门为解决淘宝海量图片、商品、交易等小文件存储需求而设计。
TFS 虽然也采用主从架构,但其设计核心是针对小文件存储进行深度优化。
特别适用于:商品图片、用户头像、短视频、文档等典型场景。
