分布式存储是大型架构的核心,下面我重点详解分布式存储软件@mikechen
HDFS (大数据存储基石)
HDFS 是 Apache Hadoop 生态系统的核心,专为超大规模数据集的批处理和离线分析设计。
它是大数据技术栈中最重要、最基础的存储组件。
HDFS 采用经典的主从(Master-Slave)架构:
NameNode: HDFS 的主节点,负责存储和管理文件系统的元数据(Metadata)。
它记录了文件路径、目录结构,以及每个文件被切分成的数据块(Block)存储在哪个 DataNode 上。
DataNode: HDFS 的从节点,负责存储实际的数据块(默认 128MB 或 256MB)。
应用场景:Hadoop 生态、离线计算。
Ceph (全能型分布式存储)
Ceph 是一个统一的、软件定义的存储系统,旨在提供极高的可扩展性、高性能和可靠性。
它通过单一存储集群提供块、文件和对象三种存储服务,因此被称为“全能型”分布式存储。
架构组成,如下图所示:
MON(Monitor):负责集群状态、成员管理、元数据。
OSD(Object Storage Daemon):实际存储数据的守护进程,负责数据副本、恢复、重平衡。
RADOS(Reliable Autonomic Distributed Object Store):Ceph 的底层核心,提供对象存储能力和分布式一致性。
典型应用场景:OpenStack、私有云、公有云。
GlusterFS —— 分布式文件系统
GlusterFS 是一个开源的、可大规模横向扩展的分布式文件系统,它主要用于文件共享和通用存储。
GlusterFS 最大的特点:是其无中心主控节点的架构。
Brick(砖块): Brick 是 GlusterFS 的基本存储单元,它只是一个目录,通过文件系统(如 ext4 或 XFS)存储在集群节点上。
无中心架构: 集群中的所有节点地位相等,没有 NameNode 或 MON 这样的中心节点,这消除了单点故障(SPOF)。
应用场景:大规模文件共享、云存储。
MinIO —— 云原生对象存储
MinIO 是一个轻量、极致性能的对象存储,完全兼容 S3 API。
天然适合云原生与 Kubernetes 环境,被大量用于 ML/AI 数据湖、备份、日志以及作为应用的对象后端。
MinIO 是微服务架构中对象存储的理想选择,适用于对性能要求苛高的场景:
AI/ML 数据湖: 存储大规模的训练数据集和模型文件。
DevOps 存储: 存储 CI/CD 流水线中的制品、日志和备份。
私有云对象存储: 作为 S3 的替代方案,在企业内部提供高性能对象存储服务。