一、Ceph简介

Ceph是一个统一的分布式存储系统,提供较好的性能、可靠性和扩展性

二、Ceph 与其他存储对比

三、Ceph特点

高性能

a. 摒弃了传统的集中式存储元数据寻址的方案,采用 CRUSH 算法,数据分布均衡,并行度高。

b. 考虑了容灾域的隔离,能够实现各类负载的副本放置规则,例如跨机房、机架感知等。

c. 能够支持上千个存储节点的规模,支持 TB 到 PB 级的数据。

高扩展性:可无限扩容

特性丰富:支持三种存储接口:块存储、文件存储、对象存储

支持三种接口: Object:有原生的API,而且也兼容Swift和S3的API、Block:支持精简配置、快照、克隆。File:Posix接口,支持快照

四、Ceph架构

<1> Ceph的最底层是RADOS(分布式对象存储系统),它具有可靠、智能、分布式等特性,实现高可靠、高可拓展、高性能、高自动化等功能,并最终存储用户数据。RADOS系统主要由两部分组成,分别是OSD和Monitor。
<2> RADOS之上是LIBRADOS,LIBRADOS是一个库,它允许应用程序通过访问该库来与RADOS系统进行交互,支持多种编程语言,比如C、C++、Python等。
<3> 基于LIBRADOS层开发的有三种接口,分别是RADOSGW、librbd和MDS。
<4> RADOSGW是一套基于当前流行的RESTFUL协议的网关,支持对象存储,兼容S3和Swift。
<5> librbd提供分布式的块存储设备接口,支持块存储。
<6> MDS提供兼容POSIX的文件系统,支持文件存储。

五、Ceph核心组件

Montior:一个Ceph集群需要多个Monitor组成小集群, 它们通过 Paxos 同步数据,用来保存 OSD 的元数据。

OSD:负责响应客户端请求返回具体数据进程,一个Ceph集群一般都有多个OSD。

Pool、PG和OSD的关系:

  • 一个Pool里有很多PG;
  • 一个PG里包含一堆对象,一个对象只能属于一个PG;
  • PG有主从之分,一个PG分布在不同的OSD上(针对三副本类型)

MDS:是CephFS服务的依赖的元数据服务。

RBD:Ceph对外提供的块设备服务,接口iSCSI兼容。

RGW:Ceph对外提供对象存储服务,接口S3和Swift兼容。

CephFS:Ceph对外提供的文件系统服务。

RADOS:Ceph集群的精华,用户实现数据分配,Failover等集群操作。

Libradio: Librados 是 Rados 提供库,因为 RADOS 是协议很难直接访问,因此上层的 RBD、RGW 和 CephFS 都是通过 librados 访问的,目前提供 PHP、Ruby、Java、Python、C 和 C++支持。

CRUSH:Ceph使用的数据分布算法,类似一致性哈希,让数据分配到预期的地方。

Pool: Pool是存储对象的逻辑分区。

PG:逻辑感念,一个PG包含多个OSD。引入PG这一层其实是为了更好的分配数据和定位数据。

Object:Ceph最底层存储单元是Object对象,每个Object包含元数据和原始数据。

六、Ceph 架构展示

Ceph的功能模块

ceph资源划分

七、Ceph三种存储类型

1、 块存储(RBD)

  • 优点:

    • 通过Raid与LVM等手段,对数据提供了保护;
    • 多块廉价的硬盘组合起来,提高容量;
    • 多块磁盘组合出来的逻辑盘,提升读写效率;
  • 缺点:
    • 采用SAN架构组网时,光纤交换机,造价成本高;
    • 主机之间无法共享数据;
  • 使用场景
    • docker容器、虚拟机磁盘存储分配;
    • 日志存储;
    • 文件存储;

2、文件存储(CephFS)

  • 优点:

    • 造价低,随便一台机器就可以了;
    • 方便文件共享;
  • 缺点:
    • 读写速率低;
    • 传输速率慢;
  • 使用场景
    • 日志存储;
    • FTP、NFS;
    • 其它有目录结构的文件存储

3、对象存储(Object)(适合更新变动较少的数据)

  • 优点:

    • 具备块存储的读写高速;
    • 具备文件存储的共享等特性;
  • 使用场景
    • 图片存储;
    • 视频存储;

1. Ceph分布式存储系统简介相关推荐

  1. Ceph-deploy 搭建Ceph分布式存储系统

    Ceph-deploy 搭建Ceph分布式存储系统 Ceph版本为mimic Ceph-deploy版本为2.0.1 环境准备 安装Ceph-deploy管理节点 (在管理节点上)添加Ceph仓库到C ...

  2. 2021年最新 k8s安装部署步骤 kubernetes从入门到实践 K8S实战容器化迁移实战教程 K8S存储之Ceph分布式存储系统 K8S架构师实战指南

    2021年最新 k8s安装部署步骤 kubernetes从入门到实践 K8S实战容器化迁移实战教程 K8S存储之Ceph分布式存储系统 K8S架构师实战指南

  3. Kubernetes 集群基于 Rook 搭建 Ceph 分布式存储系统

    文章目录 1.Rook & Ceph 介绍 1.1.Rook 1.2.Ceph 2.环境.软件准备 3.Kubernetes HA 集群搭建 4.部署 Rook Operator 5.配置 R ...

  4. Ceph分布式存储系统架构研究综述

    Ceph项目是加州大学圣克鲁兹分校的 Weil于2006年开发的.当时他发现元数据的查询和维护严重影响了 Lustre等分布式文件系统的性能和扩展性,因此设计了一种利用算法来确定数据与存储节点对应关系 ...

  5. K8S实战集训第二课 K8S 存储 之 Ceph 分布式存储系统

    文章目录 为什么要用Ceph Ceph架构介绍 Ceph核心概念 RADOS Librados Crush Pool PG Object Ceph核心组件 OSD Monitor MDS Mgr RG ...

  6. 各类分布式存储系统简介

    分布式文件系统原理 本地文件系统如ext3,reiserfs等(这里不讨论基于内存的文件系统),它们管理本地的磁盘存储资源.提供文件到存储位置的映射,并抽象出一套文件访问接口供用户使用.但随着互联网企 ...

  7. Ceph分布式存储系统-性能测试与优化

    测试环境 部署方案:整个Ceph Cluster使用4台ECS,均在同一VPC中,结构如图: 以下是 Ceph 的测试环境,说明如下: Ceph 采用 10.2.10 版本,安装于 CentOS 7. ...

  8. 分布式存储系统-Ceph简单分析

    1 Ceph分布式存储系统分析 Ceph是一个统一的分布式存储系统,可同时提供块.文件和对象3种接口的存储服务.与传统的分布式存储系统不同,它采用了无中心节点的元数据管理方式,因此具有良好的扩展性和线 ...

  9. Ceph分布式文件系统集群搭建详解

    1.Ceph分布式文件系统简介 Ceph是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统. Ceph 独一无二地在一个统一的系统中同时提供了对象.块.和文件存储功能. 基开发目标是: ...

最新文章

  1. 0x15.基本数据结构 — 字符串 (KMP算法(含详细证明)和最小表示法)
  2. python字符串连接方式_Python 字符串连接方式有这么种,你知道吗?
  3. Nature好文:过去150年,科学与产业经历四段情缘!
  4. 发射站(2017佛山市选拔初中组)
  5. 读书笔记:《图解HTTP》第一章 网络基础
  6. 全球变暖java_第九届 蓝桥杯 JavaB组 全球变暖
  7. ul 原点显示_web前端开发学习教程,CSS HTML - ul li列表原点如何相连
  8. SQL2000和SQL2005和SQL2008同时安装问题
  9. 文本验证码被曝漏洞,淘宝、京东都中招!
  10. 双面板文件打点器——emelFM2
  11. 火狐浏览器安装插件步骤
  12. 支付宝APP支付功能开发
  13. luogu2791 幼儿园篮球题 第二类斯大林数(特)卡常NTT
  14. 【转】网页基础:网页设计(我所知道的所有的html和css代码(含H5和CSS3)),如有错误请批评指正...
  15. 利用pearcmd.php本地文件包含(LFI)
  16. 数据库读写分离的理解
  17. 王爽 汇编语言第二版 课程设计2
  18. 浅谈Springcloud中的几个主流熔断器
  19. C++使用static的错误:无法解析的外部符号、“static”不应在文件范围内定义的成员函数上使用
  20. 城固一中2021高考成绩查询,汉中市各高中2020年高考喜报成绩一览

热门文章

  1. 数学中的i可以用计算机按吗,数学在计算机中的应用
  2. Assert断言的使用
  3. BigInteger精讲
  4. python paramiko_python模块之Paramiko
  5. mysql多字段设置为text问题
  6. Android开发中的Proguard
  7. (c#)字符串转换为char类型
  8. 【Arma3脚本教程】二、常用命令
  9. .NET Nlog使用讲解
  10. @Documented,@Retention,@Target