首页 / 资讯中心 / 文章详情

Ceph分布式存储深度解析

Ceph分布式存储深度解析 ★ FEATURED ARTICLE
Ceph分布式存储深度解析架构、核心组件与三大存储形态标签Ceph、分布式存储、SDS、云原生、RADOS前言提到分布式存储Ceph绝对是绕不开的六边形选手。作为开源软件定义存储SDS的标杆它诞生于Sage Weil的博士课题最大亮点就是一套集群同时对外提供对象、块、文件三种存储服务无需专用硬件跑在普通x86服务器上支持PB级横向扩容广泛用于OpenStack、Kubernetes、私有云、容器持久化、备份归档场景。很多新手初次接触Ceph会被MON、OSD、PG、CRUSH一堆名词劝退。上篇我们从基础入手搞懂Ceph底层架构、核心组件看懂三种存储接口的差异理解它去中心化自愈的设计思想。一、Ceph整体架构总览Ceph的底层基石是RADOSReliable Autonomic Distributed Object Store可靠自主分布式对象存储。RBD、RGW、CephFS全部是构建在RADOS之上的上层服务。RADOS负责把数据打散成对象跨节点存储、副本复制、故障自动恢复是整个Ceph的心脏。整体分层底层RADOS集群MON、OSD、MGR、MDS中间库librados客户端SDK所有上层服务统一调用这个库和集群通信上层服务RBD块存储、RGW对象网关、CephFS文件系统Ceph核心守护进程组件表组件名称全称核心职责部署建议MONMonitorceph-mon维护集群Cluster Map集群拓扑、OSD状态、认证信息通过Paxos选主保证一致性客户端先找MON拿集群地图至少3个奇数节点保证仲裁quorum小集群3个大规模5个OSDObject Storage DaemonCeph数据真正存放载体一个OSD对应一块磁盘负责对象读写、副本复制、心跳检测、故障恢复、数据回填backfill大量部署集群容量和IO性能主要由OSD决定HDD/SSD/NVMe均可MGRManagerceph-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之间自动完成数据副本重建实现自愈。PGPlacement Group放置组理解PG非常关键。对象数量极其庞大Ceph不会直接管理每一个对象。它把大量对象打包放入PGPG作为最小管理单元一个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的优势与局限优势软件定义通用x86服务器无需专用存储硬件降低硬件采购成本去中心化架构无单点故障硬盘/节点故障自动重建副本三合一存储一套集群支撑块、对象、文件统一运维在线横向扩容新增服务器和磁盘集群自动均衡数据业务不中断支持副本模式2副本、3副本和纠删码EC冷数据用EC节省存储空间。局限性运维门槛高组件多参数复杂需要专业人员维护故障重建时大量数据回填会占用网络、磁盘IO容易引发业务性能抖动小文件场景性能短板明显网络要求高生产环境建议独立存储网络万兆起步。小结上篇我们理清了Ceph底层RADOS、四大核心组件、CRUSHPG原理以及三大存储接口的选型差异。Ceph本质不是一个简单的文件盘而是一套分布式对象存储底座块/对象/文件都是底座之上的服务。下篇我们进入实战视角硬件规划、集群部署流程、副本vs纠删码对比、日常运维命令、监控告警、常见故障排查、性能调优还有生产环境踩坑经验。
阅读完成 · 觉得有帮助?
咨询建站