ceph简介

1、ceph

作者sage博士2004年发表。

2、ceph特点

高性能

a、采用crush算法,数据分布均衡

b、灾域的隔离,实现各类负载的副本放置规则

c、支持上千个存储节点的规模

高可用性

a副本数可以灵活控制

b支持故障域隔离,数据强一致性

c故障场景自动修复自愈

d没有单点故障 自动管理

高可扩展

去中心化

扩展灵活

节点增长而线性增长

特性丰富:支持块存储、文件存储、对象存储

3、应用场景

ceph是高性能、可扩容的分布式存储系统

对象存储 RADOSGW  提供restful接口

块存储 RDB

文件系统 CephFS

4、ceph核心组件

monitor集群状态监视器

MDS  metadata server:ceph元数据

OSD  object store daemon :对象存储守护程序 负责存储数据、处理数据复制、恢复、回、再平衡

RADOS:reliable autonomic distributed object store 可靠自动分布对象存储 ,保存对象,确保数据一致性

LIBRADOS :应用程序提供接口

RADOSGW :网关接口,提供对象存储服务,使用librgw和librados实现应用程序和ceph对象建立连接

RBD:块设备 自动精简并调整大小,数据分散在多个OSD上

cephFS 文件系统

5、ceph数据存储过程

PG placement Group

file-->object映射

object-->PG映射

PG-->OSD映射,crush算法

CRUSH controlled replication under scalable hashing 数据存储分布式选择算法

 

6、ceph IO流程和数据分布

 步骤:
    1. client 创建cluster handler。
    2. client 读取配置文件。
    3. client 连接上monitor,获取集群map信息。
    4. client 读写io 根据crshmap 算法请求对应的主osd数据节点。
    5. 主osd数据节点同时写入另外两个副本节点数据。
    6. 等待主节点以及另外两个副本节点写完数据状态。
    7. 主节点及副本节点写入状态都成功后,返回给client,io写入完成。

 

 

你可能感兴趣的:(存储)