ceph架构及 IO流程

CEPH是由多个节点构成的集群,它具有良好的可扩展性和可靠性。节点之间相互通信以达到:

存储和检索数据

数据复制

监控集群的健康状况

保证数据的完整性

检测故障并恢复

基本架构如下图:

分布式对象存储系统RADOS是CEPH最为关键的技术,主要由OSD和Monitor组成。

CEPH是一个完全无中心架构的计算模式的存储系统。client通过设备映射关系计算出其写入数据的位置,这样client可以直接与存储节点通信,从而避免中心节点的性能瓶颈。很厉害的样子,身为写IO,感觉我只需要跟OSD打交道了。

CEPH也是一个拥有雄心壮志的存储系统,同时支持块、文件和对象三类存储。本次client准备将CEPH作为块存储使用。

在发起写IO之前,client做了很多工作。同其他系统类似,想要跟CEPH集群通信,首先需要得到认证。拿到接头暗号之后,就可以创建映像和将映像映射为块存储并使用了。

Client写数据之前已经获取了集群map信息,并将我解体......我被切分成多个object(如果我是大IO), 每个object都有一个唯一的object ID。然后计算寻址每个object的存储位置:object根据Hash被映射到不同的PG,然后又根据CRUSH算法找出存储object的一组OSD的Primary OSD。

接着Client直接和Primary OSD进程通信并发起写入操作。然后由Primary OSD写到Secondary OSD和Tertiary OSD(如果配置为3副本)。等他们都写完之后,再由Primary OSD给主机打个招呼知会一下。

由于我被切分成多个object, 多个object可以并行发到多OSD。等所有object都操作完成之后, 我完成了使命。

以上是一个典型写IO对于写流程的简单描述。

相关推荐
qq_312920111 天前
K8s存储类(StorageClass)设计与Ceph集成实战
ceph·容器·kubernetes
1990_super10 天前
虚拟机环境部署Ceph集群的详细指南
ceph
1990_super10 天前
Ceph对象池详解
ceph
1990_super11 天前
使用ceph-deploy安装和配置RADOS Gateway (RGW)并使用S3访问集群
ceph·gateway
野生技术架构师17 天前
分布式存储 Ceph 的演进经验 · SOSP 2019
分布式·ceph
mixboot19 天前
ceph 14.2.22 nautilus Balancer 数据平衡
ceph·balancer·数据平衡
斯普信专业组22 天前
k8s云原生rook-ceph pvc快照与恢复(下)
ceph·云原生·kubernetes
斯普信专业组22 天前
k8s云原生rook-ceph pvc快照与恢复(上)
ceph·云原生·kubernetes
斯普信专业组23 天前
Ceph、K8s、CSI、PVC、PV 深入详解
ceph·容器·kubernetes
mixboot1 个月前
Ceph OSD.419 故障分析
ceph·osd