Ceph分布式存储

Ceph 基础认知(第 1 章)

核心定义:Ceph 是开源、分布式、软件定义存储,支持对象、块、文件系统三种存储模式,具备高可用、高扩展、去中心化特性,基于 RADOS(可靠自主分布式对象存储)核心架构。

核心组件:

MON(监控器):维护集群状态映射,需奇数个节点保障仲裁,端口 6789/3300。

OSD(对象存储设备):存储数据,处理复制、恢复、重平衡,每个 OSD 对应一块存储设备,端口 6800-7300。

MGR(管理器):集群监控、统计,提供 Dashboard(端口 8443),建议部署 2 个保障高可用。

MDS(元数据服务器):仅用于 CephFS,管理文件元数据,支持 POSIX 接口。

版本与生态:

社区版(LTS 版本):Reef(18.2)、Squid(19.2)等,支持 2 年生命周期;企业版(红帽 RHCS)提供 36 个月支持。

兼容生态:OpenStack、Kubernetes、Linux 内核、SUSE 等。

集群部署(第 2 章)

部署方式:

推荐:Cephadm(容器化部署,支持 Octopus+ 版本)、Rook(K8s 部署,支持 Nautilus+ 版本)。

其他:ceph-ansible(Ansible 部署)、手动部署(不推荐 ceph-deploy,已停止维护)。

最小硬件规格:

OSD:1 核 CPU、4GB 内存、整块硬盘 + 1 个 SSD 分区、10G 网络。

MON:2 核 CPU、2-4GB 内存、60GB 磁盘、1G+ 网络。

MDS:2 核 CPU、2GB 内存、1GB 磁盘、1G+ 网络。

部署流程(Cephadm 为例):

准备 CentOS Stream 8 虚拟机,配置静态 IP、关闭 SELinux / 防火墙、时间同步。

安装 Cephadm,引导集群(cephadm bootstrap --mon-ip [IP])。

添加节点(免密 SSH 授权 + ceph orch host add)。

部署 OSD(ceph orch apply osd --all-available-devices)、MON、MGR 组件。

集群配置(第 3 章)

配置优先级:命令行参数 > 环境变量 > 本地配置文件 > 集中配置数据库 > 编译默认值。

核心配置操作:

配置文件:默认 /etc/ceph/ceph.conf,支持 [global]「mon」「osd」等分区。

集中配置数据库:由 MON 管理,通过 ceph config set/get/dump 命令操作,支持运行时修改。

网络配置:public 网络(客户端与集群通信)、cluster 网络(OSD 数据同步),支持 IPv4/IPv6,建议配置独立集群网络分流流量。

池管理(第 4 章)

池与 PG 核心概念:

池(Pool):集群逻辑分区,分复本池(replicated)和纠删码池(erasure),复本池侧重性能,纠删码池侧重存储效率(如 4+2 模式仅需 1.5 倍存储空间)。

PG(放置组):对象与 OSD 之间的抽象层,通过 CRUSH 算法映射,数量需按 OSD 数量配置(OSD<5 设 128,5-10 设 512,10-50 设 4096)。

核心操作命令:

创建池:ceph osd pool create [池名] [PG数] [PGP数] [类型]。

池配置:ceph osd pool set [池名] [参数] [值](如修改复本数 size 3)。

对象管理:rados put/get/rm(上传 / 下载 / 删除对象)、快照(ceph osd pool mksnap)。

删除池:需先开启 mon_allow_pool_delete=true,命令 ceph osd pool rm [池名] [池名] --yes-i-really-really-mean-it。

认证与授权(第 5 章)

认证机制:基于 Cephx 协议,通过共享密钥加密通信,支持守护进程间、客户端与集群间认证。

用户与权限:

用户类型:守护进程用户(如 osd.0、mon.ceph1)、客户端用户(前缀 client.,如 client.admin)。

权限(Caps):按组件授权(mon/osd/mgr/mds),支持 allow r(读)、allow w(写)、allow *(全权限)。

核心命令:ceph auth add/get/rm(创建 / 查询 / 删除用户)、ceph auth caps(配置权限)。

块存储管理(第 6 章)

RBD(RADOS 块设备):提供虚拟块设备,支持快照、克隆、镜像同步,适用于虚拟机(KVM/QEMU)、OpenStack 云实例。

核心操作:

创建镜像:rbd create [池名]/[镜像名] --size [大小]。

映射与挂载:rbd map [池名]/[镜像名] → 格式化(mkfs.xfs)→ 挂载(mount)。

快照与克隆:rbd snap create(创建快照)→ rbd snap protect(保护快照)→ rbd clone(克隆镜像)。

多站点同步(RBD Mirror):支持单向 / 双向镜像,基于日志或快照复制,保障灾难恢复。

对象存储管理(第 7 章)

RADOS Gateway(RGW):提供 S3/Swift 兼容 API,支持对象存储,适用于海量非结构化数据(视频、日志、备份)。

核心配置:

部署 RGW:ceph orch apply rgw [服务名] --placement [节点] --port [端口]。

用户管理:radosgw-admin user create(创建 S3/Swift 用户)、配额配置(radosgw-admin quota set)。

桶操作(S3 示例):aws s3 mb(创建桶)、aws s3 cp(上传 / 下载对象)、aws s3 rb(删除桶)。

多站点同步:基于 Realm(域)、Zone Group(区域组)、Zone(区域)架构,支持跨集群数据复制。

文件系统存储管理(第 8 章)

CephFS:兼容 POSIX 的分布式文件系统,需 MDS 组件,适用于共享存储、容器持久化等场景。

核心操作:

创建文件系统:ceph fs new [名称] [元数据池] [数据池] → 部署 MDS(ceph orch apply mds [名称] --placement [节点])。

挂载方式:Kernel 挂载(mount.ceph [MON IP]😕 [挂载点] -o name=[用户])、FUSE 挂载(ceph-fuse -n [用户] [挂载点])。

快照与镜像:mkdir [挂载点]/.snap/[快照名](创建快照)、CephFS Mirror(跨集群文件系统同步)。

核心总结

Ceph 核心优势

统一存储:支持对象、块、文件系统三种模式,适配多场景需求。

高可用:去中心化架构,无单点故障,OSD 故障自动恢复,MON 集群仲裁保障。

高扩展:横向扩展 OSD 节点,支持 EB 级存储容量。

兼容性强:适配云平台(OpenStack/K8s)、虚拟化、传统应用,支持 S3/Swift/POSIX 接口。

适用场景

块存储:虚拟机磁盘、数据库存储(MySQL/PostgreSQL)。

对象存储:海量数据备份、视频 / 图片存储、大数据分析数据源。

文件系统:共享存储(NFS 替代)、容器持久化存储、HPC 集群存储。

关键运维要点

集群健康检查:ceph -s(查看状态)、ceph health(健康状态)。

组件管理:ceph orch ls/ps/restart(服务部署 / 状态 / 重启)。

性能优化:OSD 日志用 SSD、配置独立 cluster 网络、调整 PG 数量。

数据安全:启用 Cephx 认证、配置快照策略、多站点同步备份。

相关推荐
yyyyy_abc1 天前
ceph学习笔记
笔记·ceph·学习
自由且自律3 天前
ceph实战,基于docker部署
运维·ceph·docker·容器·云计算
老wang你好5 天前
Ceph存储全攻略:RBD、CephFS与RGW详解
ceph
珂玥c7 天前
Ceph集群新增osd
ceph
老wang你好8 天前
Ceph分布式存储系统全解析
ceph
一个行走的民21 天前
分布式系统中 Map 增量(Delta)是否需要持久化
ceph
一个行走的民23 天前
BlueStore 核心原理与关键机制
ceph
奋斗的小青年I25 天前
Proxmox VE Ceph 超融合集群落地实战
windows·ceph·vmware·pve·超融合·proxmox
一个行走的民25 天前
深度剖析 Ceph PG 分裂机制:原理、底层、实操、影响、线上避坑(最全完整版)
ceph·算法
一个行走的民25 天前
Ceph 核心概念精讲:彻底搞懂 PG、PGP、pg_num、pgp_num
ceph