Ceph分布式存储全解析:从了解到使用

一、分布式存储

分布式存储系统采用多台独立物理服务器分散存储数据,通过统一软件平台实现集中管理与访问。该系统通过网络整合异构或同构存储节点,构建出逻辑统一、物理分散的大规模存储资源池。相比传统存储方案,其创新性地通过软件实现数据分散存储,同时提供冗余备份、负载均衡和故障自动切换等高级功能,具备显著的水平扩展优势、成本效益以及高可靠性和高可用性特点。

分布式算法:

哈希分布

顺序分布

常用分布存储方案:

Lustre

Hadoop

FastDFS

GlusterFS

Ceph

二、Ceph

Ceph 是一款开源的统一分布式存储系统,采用标准商用硬件构建集群,可同时提供块存储(RBD)、文件系统(CephFS)和对象存储(RGW)三种服务。其核心架构基于 RADOS(可靠自治分布式对象存储层),通过 CRUSH 伪随机算法实现去中心化的数据分布和动态扩展,并采用多副本或纠删码机制确保高可靠性与自愈能力。系统利用 PG 逻辑分片优化数据均衡,支持从 PB 级到 EB 级的水平扩展,已成为开源云存储领域的事实标准。Ceph 广泛应用于云计算(如 OpenStack/Kubernetes)、AI 训练、大数据分析及海量非结构化数据存储等场景,但需注意其运维复杂度较高且存在小文件性能瓶颈。

1.Ceph核心组件

RADOS(可靠自制分布式对象存储):所有数据的最终存储层

OSD(对象存储守护进程):数据的载体,每个物理磁盘对应一个OSD进程

MON(集群状态管理器):维护全局视图和身份验证

MGR(运维监控中心):提供集群实时指标与工具集成

RGW(对象存储网关):提供兼容S3/Swift API的对象存储服务

RBD(块存储服务):提供分布式块设备

MDS(元数据服务器):仅为CephFS管理元数据

2.Ceph工作图

3.Ceph搭建
yum -y install ceph-common.x86_64
#查看集群状态
ceph -s 
#查看Ceph集群服务状态
ceph orch ls
#同步Ceph公钥
ssh-copy-id -f -i /etc/ceph/ceph.pub root@节点
#查看Ceph集群主机
ceph orch host ls
#Ceph集群扩容
ceph orch host add 主机名 ip
#删除错误的主机
ceph orch host rm 主机名 --force
#调整mon和mgr的数量
ceph orch apply mon --placement="3 主机1 主机2 主机3"
ceph orch apply mgr --placement="3 主机1 主机2 主机3"
#启动OSD
ceph orch apply osd --all-available-devices
#查看Ceph集群所有容器
ceph orch ps

三、Ceph块存储

Ceph 块存储(RBD)作为分布式存储的核心组件,基于 RADOS 提供高性能、高可靠的块存储服务。该技术将数据分片为对象并分布式存储在 OSD 集群中,具备精简配置、秒级快照、跨主机克隆和异地容灾镜像等特性。RBD 特别适用于虚拟机磁盘、容器持久化存储及数据库场景,既保持了本地 SSD 的低延迟优势,又兼具分布式系统的弹性扩展能力,是支撑云原生架构的重要存储基础设施。

1.管理存储池
#查看Ceph集群存储状态
ceph df
#获取存储池副本数
ceph osd pool get .mgr size
#查看集群中所有存储池
ceph osd pool ls
#创建存储池
ceph osd pool create 存储池名 64
#设置存储池类型
ceph osd pool application enable 存储池名 rbd
2.管理镜像
#查看镜像
rbd ls
#创建镜像
rbd create image --size 5G
#映射镜像到本地
rbd map image
#格式化设备
mkfs.xfs /dev/rbd0
#挂载设备
mount /dev/rbd0 /mnt/
#创建快照
rbd snap create image --snap image-snap
#测试数据回滚
#卸载挂载设备
umount /mnt
#取消映射关系
rbd unmap image
#回滚到指定状态
rbd snap rollback image --snap image-snap
#重新映射挂载镜像
#保护指定快照
rbd snap protect image --snap image-snap
#取消快照保护
rbd snap unprotect image --snap image-snap
#删除镜像
rbd remove image

镜像快照克隆

克隆流程:

#克隆镜像
rbd clone image --snap image-snap image-snap-1
#查看客户端镜像信息
rbd info image
#合并父子镜像
rbd flatten iamge-snap-1

镜像开机自动挂载

#配置开机自动映射镜像
vim /etc/ceph/rbdmap
rbd/image
    id=admin,keyring=/etc/ceph/ceph.client.admin.keyring
#设置rbd设备开机自动挂载
vim /etc/fstab
/dev/rbd/rbd/image  /data/   xfs   noauto 0 0

四、Ceph文件存储

Ceph文件存储系统(CephFS)是一款符合POSIX标准的分布式文件系统,其底层架构基于Ceph RADOS。该系统采用元数据与数据分离的设计:通过元数据服务集群(MDS)高效管理目录结构和文件属性,同时利用OSD集群进行数据存储。CephFS具备企业级文件共享能力,支持无限横向扩展、动态负载均衡、快照保护及配额管理等关键功能。特别适用于高性能计算、AI训练和容器存储等应用场景,可通过内核模块或FUSE接口灵活部署,是现代统一存储架构中的重要文件存储解决方案。

1.创建CephFS文件系统
#创建数据池
ceph osd pool create data 128
#创建元数据池
ceph osd pool create metadata 128
#创建文件系统
ceph fs new mycephfs metadata data
#查看文件系统
ceph fs ls
#部署MDS
ceph orch apply mds mfcephfs --placement='数值 服务器名 ...'

客户端使用CephFS文件系统

#查看key
cat /etc/ceph/ceph.client.admin.keyring
[client.admin]
    key=
...
#挂载文件系统
mkdir /mydata
mount -t ceph 主节点ip:/ /mydata -o name=admin,secret=key值

五、Ceph对象存储

Ceph对象存储构建于RADOS分布式存储系统之上,通过RGW网关完美兼容S3/Swift标准协议,具备EB级海量存储扩展能力。其突出特性包括:确保数据强一致性、实现多租户安全隔离、提供智能化生命周期管理,并支持在通用硬件上动态扩容,大幅降低总体拥有成本。作为统一存储平台的关键组件,该方案能同时满足云原生应用、大数据分析及长期归档等多样化需求,兼具开源技术的灵活性与企业级产品的可靠性,是替代商用对象存储服务的优质选择。

1.Ceoh RGW配置及使用

启动rgw服务

ceph orch apply rgw myrgw --placement="数量 服务器名 ..."

客户端使用rgw

#创建对象存储用户
radosgw-admin user create --uid=用户唯一标识 --display=用户名称 --email=关联邮箱 --access-key=访问密钥 --secret-key=秘密密钥
#创建桶
aws --profile=ceph --endpoint=http://rgw服务地址 s3 mb s3://存储桶名称
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值