ceph ---(ceph简介)
ceph简介:
Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。ceph 的统一体现在可以提供文件系统、块存储和对象存储,分布式体现在可以动态扩展。在国内一些公司的云环境中,通常会采用 ceph 作为openstack 的唯一后端存储来提高数据转发效率。
Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。
网站:
ceph特点
高性能:
- 摒弃了传统的集中式存储元数据寻址的方案,采用CRUSH算法,数据分布均衡,并行度高。
- 考虑了容灾的隔离, 能够实现各类负载的副本放置规则,跨机房,机架感知等。
- 能够支持上千个存储结点的规模,支持TB到PB级的数据
高可用:
- 副本数可以灵活控制
- 支持故障域分离,数据强一致性
- 多种故障场景进行自动修复自愈
- 没有单点故障,自动管理
高扩展性
- 去中心化
- 扩展灵活
- 随着节点增长而线性增长
特点丰富:
- 支持三种存储接口:块存储、文件存储、对象存储
- 支持自定义接口,支持多种语言驱动。
ceph应用
- ceph 可以提供对象存储、块设备存储和文件系统储存,
- 一般我们主要关心的还是块存储;其块设备存储可以对接(IaaS),当前主流的IaaS运平台软件,如:OpenStack、CloudStack、Zstack、Eucalyptus等以及kvm等
ceph 核心组件

- Monitors: 监视器,维护集群的状态的多种映射,同时提供认证和日志记录服务,包括monitor节点端到端的信息,其中包括ceph集群ID,监控主机名和IP以及端口。并且存储当前版本信息以及最新更改信息,(通过 "ceph mon" 查看monitor map)
- MDS(Metadata Server): ceph 元数据,主要保存ceph文件系统的元数据。注意:ceph的 块存储和对象存储都不需要MDS
- OSD(Object Storage Device): 它的主要功能是存储数据、复制数据、平衡数据、恢复数据等,与其它OSD间进行心跳检查等,并将一些变化情况上报给Ceph Monitor。一般情况下一块硬盘对应一个OSD,由OSD来对硬盘存储进行管理,当然一个分区也可以成为一个OSD.
伴随OSD的还有一个概念叫做Journal盘,一般写数据到Ceph集群时,都是先将数据写入到Journal盘中,然后每隔一段时间比如5秒再将Journal盘中的数据刷新到文件系统中。- RADOS(Reliable Autonomic Distributed Object Store): RADOS是ceph存储集群的基础,RADOS中的存储节点被称为OSD,在ceph中,所有数据都以对象的形式存储,并且无论什么数据类型,RADOS对象存储都将负责保存这些对象。RADOS层可以确保数据始终保持一致。
- librados: librados库,为应用程序提供访问接口,同时也为块存储、对象存储、文件系统提供原生接口。
- RADOSGW: 网关接口,提供对象存储服务。它使用librgw和librados来实现允许应用程序与Ceph对象存储建立连接。并且提供S3 和 Swift 兼容的RESTful API接口。
- RBD: 块设备,他能够自动精简配置并可以调整大小,而且将数据分散存储在多个OSD上。
- CephFS: CephFS:Ceph文件系统,与POSIX兼容的文件系统,基于librados封装原生接口。
ceph数据存储过程

无论使用哪种存储方式(对象、块、文件系统),存储的数据都会切分成Object;Object size 大小可以由管理员调整,通常为2M或4M。每个对象都会有一个唯一的OID,由ino和ono生成,
- ino:即是文件的File ID,用于在全局唯一标识每一个文件
- ono:则是分片的编号
- file:用户需要访问和存储的数据
- object:RADOS的基本存储单元
- PG(Placement Group):对object的存储进行组织和位置映射;
- OSD:object storage dervice
三次映射:
- File -> object映射
- Object -> PG映射,hash(oid) & mask -> pgid
- PG -> OSD映射,CRUSH算法

ceph ---(ceph简介)的更多相关文章
- ceph架构简介
ceph架构简介 在测试OpenStack的后端存储时,看到了ceph作为后端存储时的各种优势 ,于是查询资料,总结了这篇ceph架构的博客,介绍了ceph的架构和ceph的核心组件.ceph整体十分 ...
- ceph分布式存储简介
一.Ceph简介: 什么是分布式存储? 我在一个环境当中,有很多很多的服务器,服务器上也有它自己很多的硬盘,我通过软件的形式把若干服务器都收集起来,部署成一个软件,在这个逻辑的软件里可以同时看到我若干 ...
- [ ceph ] CEPH 部署完整版(CentOS 7 + luminous)
1. 前言 拜读了 胖哥的(el7+jewel)完整部署 受益匪浅,目前 CEPH 已经更新到 M 版本,配置方面或多或少都有了变动,本博文就做一个 ceph luminous 版本完整的配置安装. ...
- ceph写osd的配置文件/etc/ceph/ceph.conf
ceph在部署过程中是先进行部署,再去写配置文件的,而一些新手在部署完了后,并没有写配置文件,在重启服务器后,因为挂载点没有挂载,所以服务无法启动,所以需要写好配置文件 还有一种情况是集群有几百个os ...
- Ceph部署(二)RGW搭建
背景 Ceph RGW简介 Ceph RGW基于librados,是为应用提供RESTful类型的对象存储接口.RGW提供两种类型的接口: 1) S3:兼容Amazon S3RESTful API: ...
- Ceph编译安装教程
Ceph官方版本目前支持的纠删码很有限,实验室这块希望能够整合我们自主开发的纠删码BRS(Binary Reed–Solomon encoding),所以需要编译Ceph环境.Ceph官方目前推荐的安 ...
- Ceph luminous 安装配置
Ceph luminous 安装配置 #环境centos7 , Ceph V12 openstack pike 与 ceph 集成 http://www.cnblogs.com/elvi/p/7897 ...
- Ceph部署(一)集群搭建
背景 Ceph简介 Ceph是一个分布式存储,可以提供对象存储.块存储和文件存储,其中对象存储和块存储可以很好地和各大云平台集成.一个Ceph集群中有Monitor节点.MDS节点(可选,用于文件存储 ...
- Ceph 集群整体迁移方案(转)
场景介绍:在我们的IDC中,存在着运行了3-6年的Ceph集群的服务器,这些服务器性能和容量等都已经无法满足当前业务的需求,在购入一批高性能机器后,希望将旧机器上的集群整体迁移到新机器上,当然,是保证 ...
- Ceph分布式存储-原理介绍及简单部署
1)Ceph简单概述Ceph是一个分布式存储系统,诞生于2004年,最早致力于开发下一代高性能分布式文件系统的项目.Ceph源码下载:http://ceph.com/download/.随着云计算的发 ...
随机推荐
- Android-SDK接入-YSDK(应用宝1.7.0)
SDK接入-YSDK(应用宝1.7.0)-2021-01-07 大家好,近期在多渠道打包平台,会定期遇到第三方SDK升级,所以很被动的是,我们也要跟随他们的步伐,及时升级.否则将面临第三方开发者站无法 ...
- 温故而知新--day1
温故而知新--day1 变量类型 变量是计算机存储数据的内存空间,由于计算机可以处理不同的数据,不同的数据就要定义不同的数据类型.python的数据类型很多,还可以自定义数据类型,常用的一般数据类型有 ...
- String--常见面试题
String s = new String("xyz") 创建了几个对象? 实例分析1 javac编译代码,然后用javap来反编译,执行javap -c Test 从结果来看,l ...
- Linux性能相关命令
Linux性能相关命令 目录 Linux性能相关命令 1. 查看硬盘相关信息 2. 查看CPU相关信息 3. 查看内存相关信息 4. 查看进程运行的信息 1. 查看硬盘相关信息 cat /proc/s ...
- Hbase 手动执行MajorCompation
说明: Major Compaction 的作用: 1.将一个Region下的所有StoreFile合并成一个StoreFile文件 2.对于删除.过期.多余版本的数据进行清除 由于MajorComp ...
- LeetCode530. 二叉搜索树的最小绝对差
题目 又是常见的BST,要利用BST的性质,即中序遍历是有序递增序列. 法一.中序遍历 1 class Solution { 2 public: 3 vector<int>res; 4 v ...
- oracle rac与单实例DG切换
1.主库查看状态(RAC库) SQL> select database_role,switchover_status from v$database; DATABASE_ROLE SWITCHO ...
- mybatis-plubs条件构造器中的方法所对应的sql语法
[通用条件:] [比较大小: ( =, <>, >, >=, <, <= )] eq(R column, Object val); // 等价于 =,例: eq(& ...
- Java-web易混淆知识点整理
Java-web易混淆知识点 post和get区别 post: 数据不会显示在地址栏 安全 大小无限制 可以提交二进制文件 get: 数据显示在地址栏 不安全 get方式提交有大小限制(约4kb) 相 ...
- 微信登录2-生成授权URL
一.准备工作 1.注册 微信开放平台:https://open.weixin.qq.com 2.邮箱激活 3.完善开发者资料 4.开发者资质认证 准备营业执照,1-2个工作日审批.300元 5.创建网 ...