ceph简介

1、初认ceph
刚到公司后,开始接触软件存储产品,发现都是基于一个叫ceph的开源解决方案来做的。后来慢慢开始关于ceph的一些基础知识和相关操作。接触的产品囊括了ceph所支持的块存储,对象存储和文件存储。

2、ceph来源
ceph产生于Sage Weil大神大学时期的相关研究课题的论文,之后逐渐为大众所熟知,Sage Weil后来开办公司主导ceph的开发与社区维护。

3、ceph的特性
(1) 高可靠性:所谓“高可靠”,首先是针对存储在系统中的数据而言,也即,尽可能保证数据不会丢失。其次,也包括数据写入过程中的可靠性,也即,在用户将数据写入Ceph存储系统的过程中,不会因为意外情况的出现造成数据丢失。
(2)高度自动化:具体包括了数据的自动replication,自动re-balancing,自动failure detection和自动failure recovery。总体而言,这些自动化特性一方面保证了系统的高度可靠,一方面也保障了在系统规模扩大之后,其运维难度仍能保持在一个相对较低的水平。
(3)高可扩展性:这里的“可扩展”概念比较广义,既包括了系统规模和存储容量的可扩展,也包括了随着系统节点数增加的聚合数据访问带宽的线性扩展,还包括了基于功能丰富强大的底层API提供多种功能、支持多种应用的功能性可扩展。

4、ceph的特色
作为一个提供分布式存储解决方案,那么它就要涉及到数据应该写到哪里,该去×××到数据这两个基本问题。
ceph独特之处就在于此,借用ceph浅析文章中的一句话就是“无需查表,算算就好”。
针对上述两个问题,传统方案是引入专用的服务器节点,在其中存储用于维护数据存储空间映射关系的数据结构。在用户写入/访问数据时,首先连接这一服务器进行查找操作,待决定/查到数据实际存储位置后,再连接对应节点进行后续操作。而Ceph彻底放弃了基于查表的数据寻址方式,而改用基于计算的方式。简言之,任何一个Ceph存储系统的客户端程序,仅仅使用不定期更新的少量本地元数据,加以简单计算,就可以根据一个数据的ID决定其存储位置。

5、ceph架构和rados逻辑结构

rados:基础存储系统RADOS(Reliable, Autonomic, Distributed Object Store,即可靠的、自动化的、分布式的对象存储)。所有存储在Ceph系统中的用户数据事实上最终都是由这一层来存储的。而Ceph的高可靠、高可扩展、高性能、高自动化等等特性本质上也是由这一层所提供的。
librados:这一层的功能是对RADOS进行抽象和封装,并向上层提供API,以便直接基于RADOS(而不是整个Ceph)进行应用开发。特别要注意的是,RADOS是一个对象存储系统,因此,librados实现的API也只是针对对象存储功能的。
radosgw,rbd,ceph fs:这三个是高层应用接口,分别对应对象存储,块存储和文件存储业务。其作用是在librados库的基础上提供抽象层次更高、更便于应用或客户端使用的上层接口。

ps:librados和radosgw都可以提供关于对象存储的接口,但两者还是有不同的,radosgw抽象层次更高提供兼容Amazon S3和swift的restful api,I所操作的“对象”只有三个:用户账户、用户存储数据对象的容器、数据对象,并且所有的操作均不涉及存储系统的底层硬件或系统信息。而librados则提供的是本地api。librados API向开发者开放了大量的RADOS状态信息与配置参数,允许开发者对RADOS系统以及其中存储的对象的状态进行观察,并强有力地对系统存储策略进行控制。

rados的逻辑结构由osd和mon这两个角色组成,在文件系统场景下有mds的角色出现,这里不讨论这个东西。
osd:为数众多的、负责完成数据存储和维护功能的节点
mon:若干个负责完成系统状态检测和维护
在使用RADOS系统时,大量的客户端程序通过与OSD或者monitor的交互获取cluster map,然后直接在本地进行计算,得出对象的存储位置后,便直接与对应的OSD通信,完成数据的各种操作。可见,在此过程中,只要保证cluster map不频繁更新,则客户端显然可以不依赖于任何元数据服务器,不进行任何查表操作,便完成数据访问流程。在RADOS的运行过程中,cluster map的更新完全取决于系统的状态变化,而导致这一变化的常见事件只有两种:OSD出现故障,或者RADOS规模扩大。而正常应用场景下,这两种事件发生的频率显然远远低于客户端对数据进行访问的频率。

后面再会讲讲ceph数据读写流程和crush算法的一些内容。

原文地址:http://blog.51cto.com/12374206/2128650

时间: 2024-12-01 19:27:14

ceph简介的相关文章

Openstack之CEPH简介

Oepnstack之CEPH系列是根据Ceph Cookbook整理的笔记,分为以下几个部分: 1. <Ceph简介> 2. <Ceph集群操作> 3. <Ceph块设备管理与Openstack配置> 4. <深入Ceph> 5. <ceph优化与性能测试> 首发与blog.bobozhu.cn. Ceph概念 1.CEPH英文是宠物章鱼的昵称(cephalopod),一个软件定义存储(SDS)的实施方案,底层为分布式对象存储. 2.CEPH是真

CEPH Jewel+Ubuntu14.04+Calamari部署之CEPH Jewel集群部署

CEPH简介 CEPH是一种已经震撼了整个存储行业的最热门的软件定义存储技术(SoftwareDefined Storage,SDS).它是要给开源项目,为块存储.文件存储和对象存储提供了统一的软件定义解决方案.CEPH旨在提供一个扩展性强大.性能优越且无单点故障的分布式存储系统.从一开始,CEPH就被设计为能在通用商业硬件上运行,并且支持高度扩展(逼近甚至超过艾字节的数量). <Ceph Cookbook> 一.环境准备 1.Vmware安装Ubuntu14.04共3台(分别是node1.n

使用ceph-deploy安装部署线上ceph分布式存储集群(centos6.6)

一:CEPH简介 OSDs: Ceph的OSD守护进程(OSD)存储数据,处理数据复制,恢复,回填,重新调整,并通过检查其它Ceph OSD守护程序作为一个心跳 向Ceph的监视器报告一些检测信息.Ceph的存储集群需要至少2个OSD守护进程来保持一个 active + clean状态.(Ceph默认制作2个备份,但你可以调整它) Monitors:Ceph的监控保持集群状态映射,包括OSD(守护进程)映射,分组(PG)映射,和CRUSH映射. Ceph 保持一个在Ceph监视器, Ceph O

Openstack之Ceph集群操作

Oepnstack之CEPH系列是根据Ceph Cookbook整理的笔记,分为以下几个部分: 1. <Ceph简介> 2. <Ceph集群操作> 3. <Ceph块设备管理与Openstack配置> 4. <深入Ceph> 5. <ceph优化与性能测试> **注意:此文对应ceph版本为10.1.2** ~~~bash #ceph -v ceph version 10.1.2(4a2a6f72640d6b74a3bbd92798bb913ed

Ceph块设备管理与Openstack配置(上)

Oepnstack之CEPH系列是根据Ceph Cookbook整理的笔记,分为以下几个部分: <Ceph简介> <Ceph集群操作> <Ceph块设备管理与Openstack配置> <深入Ceph> <ceph优化与性能测试> 注意:此文对应ceph版本为10.1.2 #ceph -v ceph version 10.1.2(4a2a6f72640d6b74a3bbd92798bb913ed380dcd4) 前言 目前接触到的Mitaka版本O

Ceph存储的搭建

Ceph分布式文件存储的安装 1. Ceph简介: ??Ceph提供非凡的数据存储可扩展性 - 数以千计的客户端主机或KVM访问PB级到数据级的数据.它为应用程序提供对象存储.块存储.文件系统,存储在一个统一的存储集群中 .Ceph是开源产品可以免费使用,可以部署在经济实惠的商用服务器上. Ceph分布式存储系统支持的三种接口: Object:有原生的API,而且也兼容Swift和S3的API Block:支持精简配置.快照.克隆 File:Posix接口,支持快照 Ceph分布式存储系统的特点

ceph分布式存储介绍

一.Ceph简介:        Ceph是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统.ceph 的统一体现在可以提供文件系统.块存储和对象存储,分布式体现在可以动态扩展.在国内一些公司的云环境中,通常会采用 ceph 作为openstack 的唯一后端存储来提高数据转发效率.       Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区.在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用.RedHat及O

[ ceph ] 基本介绍及硬件配置

1. Ceph简介 所有的 Ceph 存储集群的部署都始于一个个 Ceph节点.网络和 Ceph存储集群.Ceph 存储集群至少需要一个 Ceph Monitor.一个 Manager和一个Ceph OSD 守护进程.在运行 Ceph 作为文件存储时,还需要 Ceph 元数据服务. Monitors:Ceph监视器(ceph-mon)维护集群状态的映射,包括监视器映射.管理器映射.OSD映射和 CRUSH 映射.这些映射是Ceph守护进程相互协调所需的关键集群状态.Monitor还负责管理守护进

Openstack学习目录

1.2016.12.27    ceph简介   crush算法 2.2016.12.27    openstack matadata (config driver/ metadata rest api<nova-api-metadata><neutron-metadata-agent><neutron-ns-metadata-proxy>) 3.2016.12.27    openstack neutron 只是NFV 要实现SDN必须借助第三方比如vmware ns