#RADOS
RADOS是Ceph存储系统的核心提供分布式对象存储服务
所有的数据都会被拆固定大小的对象(通常为4MB)并通过RADOS存储在Ceph集群中
RADOS使用CRUSH算法来确定这些对象应该存储在哪些OSD设备上
其他存储接口(RBD、CephFS、RGW)都是构建在RADOS之上的
适用于需要直接操作对象存储的高性能应用
#对象存储接口
RGW是Ceph提供的对象存储接口
支持S3和Swift协议
用于构建兼容AWS S3和OpenStack Swift的对象存储服务
适用于需要对象存储的应用(如云存储、备份和大数据存储)
#块存储接口
RBD是Ceph提供的块存储接口
将Ceph对象存储抽象为虚拟块设备
适用于需要块存储的应用(如虚拟机、数据库和容器存储)
#文件系统接口
CephFS是Ceph提供的文件系统接口
将Ceph对象存储抽象为POSIX兼容的分布式文件系统
适用于需要分布式文件系统的应用(如NFS、SMB等共享存储)
#Ceph Monitor (Ceph-MON)
角色:维护集群的映射和状态信息
最少数量:1
建议数量:通常建议有至少3个MON节点(高可用集群一般配置为基数方便集群仲裁选举)
#Ceph Manager (Ceph-MGR)
角色:提供集群管理和监控功能包括收集性能数据和提供管理界面
最少数量:1
建议数量:至少2个MGR节点(一个主节点和一个备用节点)
#Ceph OSD Daemon (Ceph-OSD)
角色:实际存储数据、处理数据复制、恢复、重新平衡等任务(1个OSD通常对应1个存储设备)
最少数量:3
建议数量:至少3个OSD节点(在实际部署中通常会有更多的OSD节点以确保数据冗余和分布)
#Ceph Metadata Server (ceph-MDS)
角色:负责管理Ceph文件系统(CephFS)的目录和文件的元数据
最少数量:1
建议数量:2个MDS(一主一备)、3个MDS(二主一备)、根据负载情况部署多个MDS
#Ceph RADOS Gateway daemons (Ceph-RGW)
角色:提供对象存储接口
最少数量:1
建议数量:至少两个RGW实例(使用简单的Nginx或HAProxy配置来分发流量)
#Ceph RADOS Block Device (ceph-RBD)
角色:提供块存储接口
主要:RBD不需要单独的守护进程
#各组件作用
Alertmanager #处理Prometheus服务器发送的警报
Prometheus #是监控和警报工具包(它收集Ceph-exporter提供的数据)
Grafana #是一个视觉化和警报软件
Node-exporter #收集和监控单个节点的硬件和操作系统指标
Ceph-exporter #收集和监控整个Ceph存储集群的状态和性能指标
#确保监控堆栈组件Alertmanager、Prometheus、Grafana部署到同一节点
#集群全部节点部署Node-exporter、Ceph-exporter
#OSD
是实际存储数据的节点
#池 (Pools)
是逻辑分区
用于组织和管理数据
提供了弹性、放置组、CRUSH规则和配额
#放置组 (Placement Groups,PG)
是数据分片
帮助实现数据分布和负载均衡
#存储算法 (CRUSH)
是数据分布算法
决定数据对象存储在哪些OSD上