分布式文件存儲詳解(四大主流存儲架構)
HDFS
HDFS 是 Apache Hadoop 項目的核心組件之一,專為大數據批處理而設計。
HDFS 采用主從(Master/Slave)架構,如下圖所示:
圖片
NameNode(主節點): 負責管理文件系統的元數據(metadata)。
例如:文件目錄結構、文件與數據塊...等等,它不存儲實際數據。
DataNode(從節點): 負責存儲實際的數據塊,數據會被切分成固定大小(通常為 128MB 或 256MB)的數據塊。
優點:
高吞吐:適合大文件的順序讀寫。
Hadoop 生態緊密結合(MapReduce、Hive、Spark 等)。
缺點:
不支持低延遲訪問(比如隨機小文件讀寫性能差)。
不適合小文件存儲(元數據過載)。
應用場景:大數據處理平臺(離線計算、日志存儲)。
CephFS
Ceph 的分布式文件系統組件,采用 CRUSH 算法進行數據分布。
圖片
Ceph 的核心是 CRUSH 算法,它通過哈希計算和映射,將數據對象動態、均勻地分布在集群中的所有存儲設備上,實現了高度的去中心化。
OSD (Object Storage Device): 存儲數據對象,每個 OSD 通常對應一個物理硬盤。
Monitor: 負責維護集群的狀態信息和元數據。
MDS (Metadata Server): 專門負責管理 CephFS 的文件元數據。
工作流程: 客戶端與 MDS 交互獲取元數據,然后直接與 OSD 交互進行數據讀寫。
應用場景:云計算(OpenStack 的默認存儲 backend)。
GFS
GFS,Google 提出的分布式文件系統,HDFS 的靈感來源。
整體架構,如下圖所示:

GFS 同樣采用主從(Master/Slave)架構,原理與 HDFS 非常相似。
Master(主節點): 負責管理元數據,包括文件命名空間、訪問控制和數據塊位置信息。
Chunkserver(從節點): 負責存儲實際數據塊(稱為 Chunk),每個 Chunk 通常為 64MB。每個 Chunk 也有多副本。
工作流程: 客戶端先與 Master 交互獲取元數據,然后直接與 Chunkserver 進行數據讀寫。
TFS
TFS 是淘寶自主研發的分布式文件系統,專為淘寶海量的圖片、商品、交易等小文件存儲而設計。
TFS 同樣采用主從(Master/Slave)架構,但其設計核心是針對小文件進行優化。
特別適合:商品圖片、用戶頭像、短視頻、文檔...等場景。


























