CEPH的基本认识

CEPH

Ceph 是开源、分布式、软件定义存储系统,核心优势为高可用、高扩展、易用性强,支持块、对象、文件三种存储模式,以下是关键知识点梳理:

一、基础核心概念

  • 本质定位:基于 RADOS(可靠自主分布式对象存储)的软件定义存储,可部署在 x86/ARM 混合架构服务器,无单点故障。
  • 核心优势:采用 RADOS 系统将所有数据作为对象, 存储在存储池中,去中心化(客户端通过 CRUSH 算法直连 OSD)、自动扩展 / 数据再平衡 / 恢复、统一存储接口。
  • 用户角色:核心为存储管理员(集群部署维护、培训)和存储操作员(日常监控、设备更换),其他角色含应用架构师、云操作员等,组织规模不同角色可合并。

二、集群架构与组件

1. 核心组件
  • MON(监视器):维护集群映射(5 类映射:MON/OSD/PG/CRUSH/MDS),奇数部署确保仲裁,需超过半数正常运行。
  • OSD(对象存储设备):存储数据,处理复制、恢复、再平衡,每个物理磁盘对应一个 OSD,支持 XFS 文件系统。
  • MGR(管理器):提供 Web 仪表板(8443 端口)和集群统计,至少部署 2 个确保高可用。
  • MDS(元数据服务器):仅服务 CephFS,管理文件元数据,支持 POSIX 接口。
2. 访问方式
  • 原生 API(librados):性能最优,支持多语言调用。
  • RBD(块设备):适用于虚拟化(KVM/QEMU)、云平台(OpenStack Cinder)。
  • RGW(对象网关):支持 S3/Swift API,用于对象存储服务。
  • CephFS(文件系统):并行文件系统,适用于共享存储场景。

三、部署关键要点

1. 部署方式
  • 推荐:Cephadm(容器化,支持 Octopus+)、Rook(K8s 部署,支持 Nautilus+)。
  • 不推荐:ceph-deploy(停止维护)。
2. 基础配置
  • 最小硬件规格:OSD 需 1 核 CPU+1 块硬盘 + 1G 网络(推荐 10G);MON 需 2 核 CPU+2-4G 内存。
  • 核心端口:MON(6789/3300)、OSD(6800-7300)、MGR(8443)、RGW(80)。
  • 部署流程:准备虚拟机模板→配置主机名 / 网络 /yum→初始化集群(cephadm bootstrap)→添加节点→部署 MON/OSD/MGR 等组件。

四、核心功能与管理

1. 池管理(核心模块)
  • 池类型:复本池(多副本冗余,适合高 IO 场景)、纠删码池(K+M 区块存储,省空间,适合归档)。
  • PG 数量:计算公式为(OSD 数 ×100)/ 最大副本数 / 池数,需取 2 的 N 次幂;OSD<5 时设 128,5-10 时 512,10-50 时 4096。
  • 关键操作:创建(ceph osd pool create)、配额设置(max_objects/max_bytes)、快照(ceph osd pool mksnap)、命名空间(逻辑分组对象)。
2. 认证与授权
  • 认证协议:cephx 协议,通过共享密钥加密通信,默认启用。
  • 用户类型:守护进程用户(如 osd.0)、客户端用户(前缀 client.)、超级用户(client.admin)。
  • 权限控制:通过 caps(能力)分配权限,支持按守护进程类型(mon/osd/mgr)、池、命名空间粒度控制。
3. 三大存储模式实践
(1)块存储(RBD)
  • 核心操作:创建镜像(rbd create)、映射设备(rbd map)、快照(rbd snap create)、克隆(基于受保护快照)、镜像同步(RBD Mirrors 支持单向 / 双向复制)。
  • 缓存配置:支持回写(write-back)、直写(write-through)模式,优化 IO 性能。
(2)对象存储(RGW)
  • 核心特性:支持 S3/Swift API,多站点部署(Realm→Zone Group→Zone 架构),数据自动复制。
  • 关键操作:创建用户(radosgw-admin user create)、桶管理(aws s3 mb/ls/cp)、配额控制(用户 / 桶 / 全局级)。
(3)文件系统(CephFS)
  • 核心依赖:至少 1 个活跃 MDS + 备用 MDS,需创建元数据池和数据池。
  • 挂载方式:Kernel 挂载(mount.ceph)、FUSE 挂载(ceph-fuse),支持快照和跨集群镜像(CephFS Mirror)。

五、关键配置与运维

  • 配置优先级:命令行参数 > 环境变量 > 本地配置文件 > 集中配置数据库 > 编译默认值。
  • 集群状态检查:ceph -s(集群健康状态)、ceph osd tree(OSD 拓扑)、ceph df(容量使用)。
  • 常见故障处理:OSD 故障自动恢复、MON 仲裁维护、数据不一致通过 scrub 修复。
bash 复制代码
#在物理主机执行ceph命令,需要安装ceph-common软件包
dnf install -y ceph-common

#实验环境
# 配置yum仓库
[root@localhost ~]# cat << 'EOF' > /etc/yum.repos.d/ceph.repo
[Ceph]
name=Ceph 
baseurl=https://mirrors.aliyun.com/centos-vault/8-stream/storage/x86_64/ceph-pacific
enabled=1
gpgcheck=0
EOF


#安装cephadm
dnf install -y cephadm
# 安装 cephadm 的时候,会自动安装官方推荐的容器引擎 podman
#提前下载镜像
[root@localhost ~]# podman pull quay.io/ceph/ceph:v16  
[root@localhost ~]# podman pull quay.io/ceph/ceph-grafana:8.3.5
[root@localhost ~]# podman pull quay.io/prometheus/node-exporter:v1.3.1
[root@localhost ~]# podman pull quay.io/prometheus/alertmanager:v0.23.0
[root@localhost ~]# podman pull quay.io/prometheus/prometheus:v2.33.4

43)、RGW(80)。

  • 部署流程:准备虚拟机模板→配置主机名 / 网络 /yum→初始化集群(cephadm bootstrap)→添加节点→部署 MON/OSD/MGR 等组件。

四、核心功能与管理

1. 池管理(核心模块)
  • 池类型:复本池(多副本冗余,适合高 IO 场景)、纠删码池(K+M 区块存储,省空间,适合归档)。
  • PG 数量:计算公式为(OSD 数 ×100)/ 最大副本数 / 池数,需取 2 的 N 次幂;OSD<5 时设 128,5-10 时 512,10-50 时 4096。
  • 关键操作:创建(ceph osd pool create)、配额设置(max_objects/max_bytes)、快照(ceph osd pool mksnap)、命名空间(逻辑分组对象)。
2. 认证与授权
  • 认证协议:cephx 协议,通过共享密钥加密通信,默认启用。
  • 用户类型:守护进程用户(如 osd.0)、客户端用户(前缀 client.)、超级用户(client.admin)。
  • 权限控制:通过 caps(能力)分配权限,支持按守护进程类型(mon/osd/mgr)、池、命名空间粒度控制。
3. 三大存储模式实践
(1)块存储(RBD)
  • 核心操作:创建镜像(rbd create)、映射设备(rbd map)、快照(rbd snap create)、克隆(基于受保护快照)、镜像同步(RBD Mirrors 支持单向 / 双向复制)。
  • 缓存配置:支持回写(write-back)、直写(write-through)模式,优化 IO 性能。
(2)对象存储(RGW)
  • 核心特性:支持 S3/Swift API,多站点部署(Realm→Zone Group→Zone 架构),数据自动复制。
  • 关键操作:创建用户(radosgw-admin user create)、桶管理(aws s3 mb/ls/cp)、配额控制(用户 / 桶 / 全局级)。
(3)文件系统(CephFS)
  • 核心依赖:至少 1 个活跃 MDS + 备用 MDS,需创建元数据池和数据池。
  • 挂载方式:Kernel 挂载(mount.ceph)、FUSE 挂载(ceph-fuse),支持快照和跨集群镜像(CephFS Mirror)。

五、关键配置与运维

  • 配置优先级:命令行参数 > 环境变量 > 本地配置文件 > 集中配置数据库 > 编译默认值。
  • 集群状态检查:ceph -s(集群健康状态)、ceph osd tree(OSD 拓扑)、ceph df(容量使用)。
  • 常见故障处理:OSD 故障自动恢复、MON 仲裁维护、数据不一致通过 scrub 修复。
bash 复制代码
#在物理主机执行ceph命令,需要安装ceph-common软件包
dnf install -y ceph-common

#实验环境
# 配置yum仓库
[root@localhost ~]# cat << 'EOF' > /etc/yum.repos.d/ceph.repo
[Ceph]
name=Ceph 
baseurl=https://mirrors.aliyun.com/centos-vault/8-stream/storage/x86_64/ceph-pacific
enabled=1
gpgcheck=0
EOF


#安装cephadm
dnf install -y cephadm
# 安装 cephadm 的时候,会自动安装官方推荐的容器引擎 podman
#提前下载镜像
[root@localhost ~]# podman pull quay.io/ceph/ceph:v16  
[root@localhost ~]# podman pull quay.io/ceph/ceph-grafana:8.3.5
[root@localhost ~]# podman pull quay.io/prometheus/node-exporter:v1.3.1
[root@localhost ~]# podman pull quay.io/prometheus/alertmanager:v0.23.0
[root@localhost ~]# podman pull quay.io/prometheus/prometheus:v2.33.4
相关推荐
2301_767902641 天前
ceph分布式存储(三)
分布式·ceph
2301_767902642 天前
ceph分布式存储(一)
分布式·ceph
2301_767902642 天前
ceph分布式存储(二)
分布式·ceph
FJW0208144 天前
cephadm部署ceph集群以及k8s对接
ceph·容器·kubernetes
韭菜张师傅5 天前
Ceph RBD 命令详解
ceph
韭菜张师傅6 天前
Ceph FS 命令详解
ceph
韭菜张师傅6 天前
Ceph MDS 命令详解
网络·ceph
lpruoyu6 天前
【云原生】Kubernetes平台存储系统搭建_CRI、CNI、CSI
ceph·云原生·容器·kubernetes
JNU freshman7 天前
Ceph 中与“重构/恢复/回填/重平衡”相关的参数表
java·ceph·重构