☰
Ceph分布式存储深度解析
2026/10/21 11:41:14 网站建设 项目流程

Ceph分布式存储深度解析:架构、核心组件与三大存储形态

标签:Ceph、分布式存储、SDS、云原生、RADOS

前言

提到分布式存储,Ceph绝对是绕不开的"六边形选手"。作为开源软件定义存储(SDS)的标杆,它诞生于Sage Weil的博士课题,最大亮点就是一套集群同时对外提供对象、块、文件三种存储服务,无需专用硬件,跑在普通x86服务器上,支持PB级横向扩容,广泛用于OpenStack、Kubernetes、私有云、容器持久化、备份归档场景。

很多新手初次接触Ceph会被MON、OSD、PG、CRUSH一堆名词劝退。上篇我们从基础入手,搞懂Ceph底层架构、核心组件,看懂三种存储接口的差异,理解它"去中心化自愈"的设计思想。

一、Ceph整体架构总览

Ceph的底层基石是RADOS(Reliable Autonomic Distributed Object Store,可靠自主分布式对象存储)。RBD、RGW、CephFS全部是构建在RADOS之上的上层服务。RADOS负责把数据打散成对象,跨节点存储、副本复制、故障自动恢复,是整个Ceph的心脏。

整体分层:

  1. 底层:RADOS集群(MON、OSD、MGR、MDS)
  2. 中间库:librados,客户端SDK,所有上层服务统一调用这个库和集群通信
  3. 上层服务:RBD块存储、RGW对象网关、CephFS文件系统

Ceph核心守护进程组件表

组件名称全称核心职责部署建议
MON(Monitor)ceph-mon维护集群Cluster Map(集群拓扑、OSD状态、认证信息),通过Paxos选主保证一致性,客户端先找MON拿集群地图至少3个,奇数节点,保证仲裁(quorum),小集群3个,大规模5个
OSDObject Storage DaemonCeph数据真正存放载体,一个OSD对应一块磁盘;负责对象读写、副本复制、心跳检测、故障恢复、数据回填(backfill)大量部署,集群容量和IO性能主要由OSD决定;HDD/SSD/NVMe均可
MGR(Manager)ceph-mgr集群管理助手,采集性能指标、资源使用率,提供Dashboard、Prometheus监控、各类管理模块至少2个主备,防止单点故障
MDSMetadata ServerCephFS专用,管理文件系统元数据(目录、权限、文件名),RBD/RGW不需要MDSCephFS场景部署,支持多MDS动态负载均衡

💡划重点:Ceph没有中心化元数据存储。传统SAN/NAS依赖中心元数据服务器,一旦挂掉整个存储瘫痪。Ceph依靠CRUSH算法,客户端拿到集群map后,直接和OSD通信读写数据,MON只负责维护集群状态,不参与数据IO路径,这是它可以无限横向扩容的关键。

二、CRUSH算法:Ceph的"智能调度大脑"

CRUSH全称Controlled Replication Under Scalable Hashing,可扩展哈希下的受控副本放置,是Ceph最核心的黑科技。

  • 传统存储:中央查询表记录每一份数据在哪台机器;扩容、硬盘损坏时需要大规模迁移元数据,性能差。
  • CRUSH:确定性算法,不用查表,输入对象ID + 集群拓扑,直接算出该对象的副本应该落在哪些OSD上。

CRUSH支持自定义故障域:可以强制把副本分布在不同磁盘、不同服务器、不同机架、不同机房。硬盘坏了,CRUSH自动重新计算新位置,OSD之间自动完成数据副本重建,实现自愈。

🔑PG(Placement Group,放置组):理解PG非常关键。
对象数量极其庞大,Ceph不会直接管理每一个对象。它把大量对象打包放入PG,PG作为最小管理单元,一个PG映射到一组OSD(主OSD+副本OSD)。Pool(存储池)由多个PG组成。
PG数量规划是Ceph运维经典难题,PG太少负载不均;PG太多消耗大量CPU内存。

三、三大存储接口:一套集群,三种玩法

Ceph最吸引人的地方,就是同一套RADOS底层,对外提供三种存储能力,适配不同业务。

存储接口名称接口协议核心特性典型业务场景
RBDRADOS块设备Linux内核块设备精简置备、快照、克隆、增量镜像、异地镜像;KVM/QEMU原生支持云主机系统盘/数据盘、K8s PVC、数据库块存储
RGWRADOS Gateway对象网关兼容S3、Swift REST API桶、对象、版本控制、生命周期、跨区域复制图片、视频、日志归档、备份、静态资源存储
CephFSCeph文件系统POSIX标准文件系统目录树、文件权限、多客户端并发挂载文件共享、大数据计算、日志文件存储

简单一句话区分:

  • RBD:给虚拟机/容器用的虚拟硬盘;
  • RGW:像阿里云OSS、S3,存图片视频二进制对象;
  • CephFS:像NFS,支持文件夹、ls、chmod这类文件操作。

⚠️注意选型坑:RBD性能最好;RGW适合海量非结构化数据;CephFS因为要维护文件元数据,在高并发小文件场景需要单独规划MDS资源。

四、Ceph的优势与局限

优势

  1. 软件定义,通用x86服务器,无需专用存储硬件,降低硬件采购成本;
  2. 去中心化架构,无单点故障,硬盘/节点故障自动重建副本;
  3. 三合一存储,一套集群支撑块、对象、文件,统一运维;
  4. 在线横向扩容:新增服务器和磁盘,集群自动均衡数据,业务不中断;
  5. 支持副本模式(2副本、3副本)和纠删码EC,冷数据用EC节省存储空间。

局限性

  1. 运维门槛高,组件多,参数复杂,需要专业人员维护;
  2. 故障重建时,大量数据回填会占用网络、磁盘IO,容易引发业务性能抖动;
  3. 小文件场景性能短板明显;
  4. 网络要求高,生产环境建议独立存储网络,万兆起步。

小结

上篇我们理清了Ceph底层RADOS、四大核心组件、CRUSH+PG原理,以及三大存储接口的选型差异。Ceph本质不是一个简单的文件盘,而是一套分布式对象存储底座,块/对象/文件都是底座之上的服务。

下篇,我们进入实战视角:硬件规划、集群部署流程、副本vs纠删码对比、日常运维命令、监控告警、常见故障排查、性能调优,还有生产环境踩坑经验。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询