当前位置:文档之家› Ceph分布式存储架构深度分析

Ceph分布式存储架构深度分析

Ceph分布式存储架构深度分析
Ceph分布式存储架构深度分析

Ceph分布式存储架构深度分析

本文主要讨论Ceph架构,同时对Ceph生态、特性和企业级存储进行对比分析。

Ceph使用C++语言开发,遵循LGPL协议开源。Sage Weil(Ceph论文发表者)于2011年创立了以Inktank公司主导Ceph的开发和社区维护。2014年Redhat收购inktank公司,并发布InktankCeph 企业版(ICE)软件,业务场景聚焦云、备份和归档,支持对象和块存储应用。从此出现Ceph开源社区版本和Redhat企业版。

Cehp的基础服务架构

Cehp的基础服务架构主要包括了Object Storage Device(OSD),Monitor和MDS。基于此,Ceph提供了Librados原生对象基础库、Librbd块存储库、Librgw基于S3和Swift兼容的对象库和Libceph文件系统库。

OSD(Object Storage Device)负责存储数据,处理数据复制、数据恢复、数据再均衡以及通过心跳机制监测其它OSD状况并报告给Ceph Monitors。

Monitor负责监控集群状态,包括监控自身状态、集群OSD状态、Placement Group(存储组织和位置映射)状态、CRUSH状态(Controlled Replication Under Scalable Hashing,一种伪随机数据分布算法)。同时,Monitor还会记录它们的每一个历史状态改变版本信息,以确定集群该遵循哪个版本。

MDS负责文件系统的元数据存储和管理,也就是如前所说,块存储和对象存储服务是不需要这个模块的。MDS负责提供标准的POSIX文件访问接口。

搭建一台Ceph系统至少需要1个Ceph Monitor和2个Ceph OSD逻辑角色,而Ceph Metadata server仅仅是运行CephFS时存储文件元数据。但在物理部署上,这些逻辑角色可以运行在同一台物理机上的。Ceph存储数据默认是2副本拷贝,所以不管是提供Object、Block还是Filesystem服务,最小的Ceph系统需要2台OSD存储服务器。

Ceph的软件体系架构

1、基础存储系统RADOS

RADOS(Reliable, Autonomic、Distributed Object Store),这一层本身就是一个完整的对象存储系统,包括Cehp的基础服务(MDS,OSD,Monitor),所有存储在Ceph系统中的用户数据事实上最终都是由这一层来存储的。而Ceph的高可靠、高可扩展、高性能、高自动化等等特性本质上也是由这一层所提供的。因此,理解RADOS是理解Ceph的基础与关键。

RADOS在物理形态上由大量的存储设备节点组成,每个节点拥有自己的硬件资源(CPU、内存、硬盘、网络),并运行着操作系统和文件系统。

2、基础库librados

这一层的功能是对RADOS进行抽象和封装,并向上层提供不同API,以便直接基于RADOS进行原生对象或上层对象、块和文件应用开发。特别要注意的是,RADOS是一个对象存储系统,因此,基于librados实现的API也只是针对对象存储功能的。

RADOS所提供的原生librados API包括C和C++两种。Librados在部署上和基于其上开发的应用位于同一台机器。应用调用本机上的librados API,再由后者通过socket与RADOS集群中的节点通信并完成各种操作。

3、高层存储应用接口

这一层包括了RADOS GW(RADOS Gateway)、RBD(Reliable Block Device)和Ceph FS(Ceph File System)三个部分,其作用是在librados库的基础上提供抽象层次更高、更便于应用或客户端使用的上层接口。

RADOSGW是一个提供与Amazon S3和Swift兼容的RESTful API的Gateway,以供相应的对象存储应用开发使用。RADOS GW提供的API抽象层次更高,但功能则不如librados强大。因此,开发者应针对自己的需求选择使用。

RBD则提供了一个标准的块设备接口,常用于在虚拟化的场景下为虚拟机创建Volume。如前所述,Red Hat已经将RBD驱动集成在KVM/QEMU中,以提高虚拟机访问性能。

CephFS是一个POSIX兼容的分布式文件系统。目前还处在开发状态,因而Ceph官网并不推荐将其用于生产环境中。

4、服务器客户端层

这一层就是不同场景下对于Ceph各个应用接口的各种应用方式,例如基于librados直接开发的对象存储应用,基于RADOS GW开发的对象存储应用,基于RBD实现的云硬盘等等。

Ceph Client是基于Fuse层(User SpacE)和VFS文件系统开发,兼容Posix接口标准。在Ceph 存储系统中,Ceph Metadata Daemon 提供了元数据服务器,而Ceph Object Storage Daemon 提供了数据和元数据的实际存储。Ceph对DFS、Block和Object数据写入和读取,都需Client利用Crush算法(负责集群中的数据放置和检索的算法)完成存储位置计算和数据组装。

Ceph内部数据存储视图

在Ceph存储系统中,Cehp的基础服务架构主要包括了Object Storage Device(OSD),Monitor 和MDS。一个Cluster可逻辑上划分为多个Pool,一个Pool由若干个逻辑PG( Placement Group)组成,Pool内的副本数量也是可以设置的。

Ceph底层是对象系统,所以一个文件会被切分为多个Object,每个Object会被映射到一个PG,每个PG 会映射到一组OSD(Object Storage Device),其中第一个OSD 是主,其余的是备,OSD 间通过心跳来相互监控存活状态。引入PG概念后,OSD只和PG相关,不但简化了OSD的数据存储,而且实现了Object到OSD的动态映射,OSD的添加和故障不影响Object的映射。

Ceph数据存储过程

在Ceph存储系统中,数据存储分三个映射过程,首先要将用户要操作的file,映射为RADOS 能够处理的object。就是简单的按照object的size对file进行切分,相当于RAID中的条带化过程。接着把Object映射到PG,在file被映射为一个或多个object之后,就需要将每个object独立地映射到一个PG中去。第三次映射就是将作为object的逻辑组织单元的PG映射到数据的实际存储单元OSD。

文件存入时,首先把File切分为RADOS层面的Object,每个Object一般为2MB或4MB(大小可设置)。每个Object通过哈希算法映射到唯一的PG。每个PG通过Crush算法映射到实际存储单元OSD,PG和OSD间是多对多的映射关系。OSD在物理上可划分到多个故障域中,故障域可以跨机柜和服务器,通过策略配置使PG的不同副本位于不同的故障域中

Ceph数据分布算法

Ceph以私有Client方式对外提供服务,支持Linux用户态(Fuse)和内核态(VFS)方式,Clinet 还实现数据切片,通过Crush算法定位对象位置,并进行数据的读写。但在测试中,通常在Ceph服务器端将Ceph配置成NFS服务的ExportFS,通过标准NFS接口导出目录。CephFS 支持POSIX、HDFS、NFS、CIFS服务接口,其中NFS和CIFS通过外置网关实现(通过Clinet导出)。

在PG通过Crush算法映射到数据的实际存储单元OSD时,需求通过Crush Map、Crush Rules 和Crush算法配合才能完成。

Cluster Map用来记录全局系统状态记数据结构,由Crush Map和OSD Map两部分组成。Crush Map包含当前磁盘、服务器、机架的层级结构,OSD Map包含当前所有Pool的状态和所有OSD的状态。

Crush Rules就是数据映射的策略,决定了每个数据对象有多少个副本,这些副本如何存储。Crush算法是一种伪随机算法,通过权重决定数据存放(如跨机房、机架感知等),通常采用基于容量的权重。Crush算法支持副本和EC两种数据冗余方式,还提供了四种不同类型的Bucket(Uniform、List、Tree、Straw),大多数情况下的都采用Straw。

ceph分布式存储介绍

Ceph分布式存储 1Ceph存储概述 Ceph 最初是一项关于存储系统的PhD 研究项目,由Sage Weil 在University of California, Santa Cruz(UCSC)实施。 Ceph 是开源分布式存储,也是主线Linux 内核(2.6.34)的一部分。1.1Ceph 架构 Ceph 生态系统可以大致划分为四部分(见图1):客户端(数据用户),元数据服务器(缓存和同步分布式元数据),一个对象存储集群(将数据和元数据作为对象存储,执行其他关键职能),以及最后的集群监视器(执行监视功能)。 图1 Ceph 生态系统 如图1 所示,客户使用元数据服务器,执行元数据操作(来确定数据位置)。元数据服务器管理数据位置,以及在何处存储新数据。值得注意的是,元数据存储在一个存储集群(标为―元数据I/O‖)。实际的文件I/O 发生在客户和对象存储集群之间。这样一来,更高层次的POSIX 功能(例如,打开、关闭、重命名)就由元数据服务器管理,不过POSIX 功能(例如读和

写)则直接由对象存储集群管理。 另一个架构视图由图2 提供。一系列服务器通过一个客户界面访问Ceph 生态系统,这就明白了元数据服务器和对象级存储器之间的关系。分布式存储系统可以在一些层中查看,包括一个存储设备的格式(Extent and B-tree-based Object File System [EBOFS] 或者一个备选),还有一个设计用于管理数据复制,故障检测,恢复,以及随后的数据迁移的覆盖管理层,叫做Reliable Autonomic Distributed Object Storage(RADOS)。最后,监视器用于识别组件故障,包括随后的通知。 图2 ceph架构视图 1.2Ceph 组件 了解了Ceph 的概念架构之后,您可以挖掘到另一个层次,了解在Ceph 中实现的主要组件。Ceph 和传统的文件系统之间的重要差异之一就是,它将智能都用在了生态环境而不是文件系统本身。 图3 显示了一个简单的Ceph 生态系统。Ceph Client 是Ceph 文件系统的用户。Ceph Metadata Daemon 提供了元数据服务器,而Ceph Object Storage Daemon 提供了实际存储(对数据和元数据两者)。最后,Ceph Monitor 提供了集群管理。要注意的是,Ceph 客户,对象存储端点,元数据服务器(根据文件系统的容量)可以有许多,而且至少有一对冗余的监视器。那么,这个文件系统是如何分布的呢?

ceph源码分析之读写操作流程(2)

ceph源码分析之读写操作流程(2) 上一篇介绍了ceph存储在上两层的消息逻辑,这一篇主要介绍一下读写操作在底两层的流程。下图是上一篇消息流程的一个总结。上在ceph中,读写操作由于分布式存储的原因,故走了不同流程。 对于读操作而言: 1.客户端直接计算出存储数据所属于的主osd,直接给主osd 上发送消息。 2.主osd收到消息后,可以调用Filestore直接读取处在底层文件系统中的主pg里面的内容然后返回给客户端。具体调用函数在ReplicatedPG::do_osd_ops中实现。读操作代码流程如图:如我们之前说的,当确定读操作为主osd的消息时(CEPH_MSG_OSD_OP类型),会调用到ReplicatePG::do_osd_op函数,该函数对类型做进一步判断,当发现为读类型(CEPH_OSD_OP_READ)时,会调用FileStore中的函数对磁盘上数据进行读。 [cpp] view plain copy int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops) { …… switch (op.op) { …… case CEPH_OSD_OP_READ: ++ctx->num_read; { // read into a buffer bufferlist

bl; int r = osd->store->read(coll, soid, op.extent.offset, op.extent.length, bl); // 调用FileStore::read从底层文件系统读 取……} case CEPH_OSD_OP_WRITE: ++ctx->num_write; { ……//写操作只是做准备工作,并不实际的 写} ……} } FileStore::read 函数是底层具体的实现,会通过调用系统函数 如::open,::pread,::close等函数来完成具体的操作。[cpp] view plain copy int FileStore::read( coll_t cid, const ghobject_t& oid, uint64_t offset, size_t len, bufferlist& bl, bool allow_eio) { …… int r = lfn_open(cid, oid, false, &fd); …… got = safe_pread(**fd, bptr.c_str(), len, offset); //FileStore::safe_pread中调用了::pread …… lfn_close(fd); ……} 而对于写操作而言,由于要保证数据写入的同步性就会复杂很多: 1.首先客户端会将数据发送给主osd, 2.主osd同样要先进行写操作预处理,完成后它要发送写消息给其他的从osd,让他们对副本pg进行更改, 3.从osd通过FileJournal完成写操作到Journal中后发送消息

7种分布式文件系统介绍

FastDFS (7) Fastdfs简介 (7) Fastdfs系统结构图 (7) FastDFS和mogileFS的对比 (8) MogileFS (10) Mogilefs简介 (10) Mogilefs组成部分 (10) 0)数据库(MySQL)部分 (10) 1)存储节点 (11) 2)trackers(跟踪器) (11) 3)工具 (11) 4)Client (11) Mogilefs的特点 (12) 1. 应用层——没有特殊的组件要求 (12) 2. 无单点失败 (12) 3. 自动的文件复制 (12) 4. “比RAID好多了” (12) 5. 传输中立,无特殊协议 (13) 6.简单的命名空间 (13) 7.不用共享任何东西 (13) 8.不需要RAID (13)

9.不会碰到文件系统本身的不可知情况 (13) HDFS (14) HDFS简介 (14) 特点和目标 (14) 1. 硬件故障 (14) 2. 流式的数据访问 (14) 3. 简单一致性模型 (15) 4. 通信协议 (15) 基本概念 (15) 1. 数据块(block) (15) 2. 元数据节点(Namenode)和数据节点(datanode) . 16 2.1这些结点的用途 (16) 2.2元数据节点文件夹结构 (17) 2.3文件系统命名空间映像文件及修改日志 (18) 2.4从元数据节点的目录结构 (21) 2.5数据节点的目录结构 (21) 文件读写 (22) 1.读取文件 (22) 1.1 读取文件示意图 (22) 1.2 文件读取的过程 (23) 2.写入文件 (24) 2.1 写入文件示意图 (24)

CEPH分布式存储部署要点

CEPH分布式存储部署 PS:本文的所有操作均在mon节点的主机进行,如有变动另有注释 作者:网络技术部徐志权 日期:2014年2月10日 VERSION 1.0 更新历史: 2014.2.10:首次完成ceph部署文档,块设备及对象存储的配置随后添加。

一、部署前网络规划 1.1 环境部署 主机名公网IP(eth0)私网IP(eth1)操作系统运行服务node1 192.168.100.101 172.16.100.101 CentOS6.5 mon、mds node2 192.168.100.102 172.16.100.102 CentOS6.5 osd node3 192.168.100.103 172.16.100.103 CentOS6.5 osd ◆操作系统使用CentOS6.5,因为系统已经包含xfs的支持可以直接使用不需要再次 编译。 ◆由于CentOS6.5系统的内核为2.6.32,因此要关闭硬盘的写入缓存,若高于此版本 不需要关闭。 #hdparm -W 0 /dev/sdb 0 ◆本次部署一共有一个监控节点、一个元数据节点、两个数据节点,每个数据节点拥 有两个硬盘作为数据盘。 1.2 网络拓扑

1.3 配置服务器、安装ceph ●添加ceph的rpm库key #rpm --import 'https://https://www.doczj.com/doc/ff17049494.html,/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' #rpm --import 'https://https://www.doczj.com/doc/ff17049494.html,/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc' ●添加ceph-extras库 #vi /etc/yum.repos.d/ceph-extras [ceph-extras] name=Ceph Extras Packages baseurl=https://www.doczj.com/doc/ff17049494.html,/packages/ceph-extras/rpm/centos6/$basearch enabled=1 priority=2 gpgcheck=1 type=rpm-md gpgkey=https://https://www.doczj.com/doc/ff17049494.html,/git/?p=ceph.git;a=blob_plain;f=keys/release.asc [ceph-extras-noarch] name=Ceph Extras noarch baseurl=https://www.doczj.com/doc/ff17049494.html,/packages/ceph-extras/rpm/centos6/noarch enabled=1 priority=2 gpgcheck=1 type=rpm-md gpgkey=https://https://www.doczj.com/doc/ff17049494.html,/git/?p=ceph.git;a=blob_plain;f=keys/release.asc [ceph-extras-source] name=Ceph Extras Sources baseurl=https://www.doczj.com/doc/ff17049494.html,/packages/ceph-extras/rpm/centos6/SRPMS enabled=1 priority=2 gpgcheck=1 type=rpm-md gpgkey=https://https://www.doczj.com/doc/ff17049494.html,/git/?p=ceph.git;a=blob_plain;f=keys/release.asc ●添加ceph库 #rpm -Uvh https://www.doczj.com/doc/ff17049494.html,/rpms/el6/noarch/ceph-release-1-0.el6.noarch.rpm ●添加epel库 #rpm -Uvh https://www.doczj.com/doc/ff17049494.html,/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm ●安装ceph #yum update -y && yum install ceph -y

(完整版)Ceph分布式存储

Ceph分布式存储系统 Ceph是根据加州大学Santa Cruz分校的Sage Weil的博士论文所设计开发的新一代自由软件分布式文件系统,其设计目标是良好的可扩展性(PB级别以上)、高性能及高可靠性。Ceph其命名和UCSC(Ceph 的诞生地)的吉祥物有关,这个吉祥物是“Sammy”,一个香蕉色的蛞蝓,就是头足类中无壳的软体动物。这些有多触角的头足类动物,是对一个分布式文件系统高度并行的形象比喻。 其设计遵循了三个原则:数据与元数据的分离,动态的分布式的元数据管理,可靠统一的分布式对象存储机制。本文将从Ceph的架构出发,综合性的介绍Ceph分布式文件系统特点及其实现方式。 一、Ceph基本架构 Ceph是一个高可用、易于管理、开源的分布式存储系统,可以在一套系统中同时提供对象存储、块存储以及文件存储服务。其主要由Ceph存储系统的核心RADOS以及块存取接口、对象存取接口和文件系统接口组成,如图所示 Ceph的底层是RADOS,它的意思是“A reliable,autonomous, distributed object storage”。 RADOS作为Ceph分布式文件系统的一个子项目,是为了满足Ceph的需求

而设计的,但是,其也可以单独作为一种分布式数据存储系统,给其他的有类似需求的分布式文件系统提供数据存储服务。Ceph文件系统, Ceph对象存储和Ceph块设备从RADOS的存储集群中读去和写入数据。 Ceph作为一个分布式存储系统,其对外提供的接口,决定了其通用性以及扩展性。如上图架构图中所示的那样,Ceph对外提供了丰富多样的服务接口,包括多种编程语言接口LIBRADOS(备注,上图来自Ceph中文社区,社区人员在翻译的过程中将字母L遗失掉了)、对象存储接口(RADOSGW)、块存储接口(RBD)以及文件系统接口(Ceph FS)。其中LIBRADOS编程接口是其他各种客户端接口的基础,其他接口都是基于LIBRADOS 来进行扩展实现的。 1.1. RADOS Ceph中RADOS(Reliable Autonomic Distributed Object Store)存储集群是所有其他客户端接口使用和部署的基础。RADOS由两个组件组成: ?OSD: Object StorageDevice,提供存储资源。 ?Monitor:维护整个Ceph集群的全局状态。 典型的RADOS部署架构由少量的Monitor监控器以及大量的OSD存储设备组成,它能够在动态变化的基于异质结构的存储设备集群之上提供一种稳定的、可扩展的、高性能的单一逻辑对象存储接口。 RADOS系统的架构如图所示: 我们看到,RADOS不是某种组件,而是由OSD(Object Storage Device)集群和Monitor集群组成。通常,一个RADOS系统中,OSD集群是由大量的智能化的OSD节点组成;Monitor集群是由少量的Monitor节点组成。OSD集群负责存储所有对象的数据。Monitors集群负责管理Ceph集群中所有成员、关系、属性以及数据分发等信息。

ceph学习资料

Ceph分布式存储 1. ceph概念 Ceph作为分布式存储,它有如下特点: ?高扩展性:普通的x86服务器组成的ceph集群,最多支持1000台以上的服务器扩展,并且可以在线扩展。 ?高可靠性:数据容错性高,没有因为单点故障造成的数据丢失;多副本技术,数据安全性更加可靠;自动修复,数据丢失或者部分磁盘故障对全局没影响,不会影响上层的应用,对用户全透明。 ?高性能:数据是均匀分布到每个磁盘上的,读写数据都是有多个osd并发完成的,集群性能理论上来说随着集群节点数和osd的增长而线性增长。 2. ceph架构 2.1 组件

Ceph的底层是RADOS,它的意思是“A reliable, autonomous, distributed object storage”(一个可靠的自治的分布式存储,字面意思哈)。 RADOS系统逻辑架构图: RADOS主要由两个部分组成。一种是大量的、负责完成数据存储和维护功能的OSD(Object Storage Device),另一种则是若干个负责完成系统状态检测和维护的monitor。osd和monitor之间相互传输节点状态信息。 而ceph集群主要包括mon、mds、osd组件 其中,mon负责维护整个集群的状态以及包括crushmap、pgmap、osdmap等一系列map 信息记录与变更。 Osd负责提供数据存储,数据的恢复均衡。 Mds(元数据服务器)主要是使用文件系统存储的时候需要,它主要负责文件数据的inode 信息,并让客户端通过该inode信息快速找到数据实际所在地。 2.2 数据映射流程 在Ceph中,文件都是以object(对象)的方式存放在众多osd上。 一个file(数据)的写入顺序: 首先mon根据map信息将file(数据)切分成多个的object;再通过hash算法决定这些个object对象分别会存放在那些pg(放置组)里面;接下来在通过crushmap再决定将pg放在底层的那些osd上,pg与osd的关系属于一对多的关系。一个osd可以包括多

分布式存储基础、Ceph、cinder及华为软件定义的存储方案

块存储与分布式存储 块存储,简单来说就是提供了块设备存储的接口。通过向内核注册块设备信息,在Linux 中通过lsblk可以得到当前主机上块设备信息列表。 本文包括了单机块存储介绍、分布式存储技术Ceph介绍,云中的块存储Cinder,以及华为软件定义的存储解决方案。 单机块存储 一个硬盘是一个块设备,内核检测到硬盘然后在/dev/下会看到/dev/sda/。因为需要利用一个硬盘来得到不同的分区来做不同的事,通过fdisk工具得到/dev/sda1, /dev/sda2等,这种方式通过直接写入分区表来规定和切分硬盘,是最死板的分区方式。 分布式块存储 在面对极具弹性的存储需求和性能要求下,单机或者独立的SAN越来越不能满足企业的需要。如同数据库系统一样,块存储在scale up的瓶颈下也面临着scale out的需要。 分布式块存储系统具有以下特性: 分布式块存储可以为任何物理机或者虚拟机提供持久化的块存储设备; 分布式块存储系统管理块设备的创建、删除和attach/detach; 分布式块存储支持强大的快照功能,快照可以用来恢复或者创建新的块设备; 分布式存储系统能够提供不同IO性能要求的块设备。 现下主流的分布式块存储有Ceph、AMS ESB、阿里云磁盘与sheepdog等。 1Ceph 1.1Ceph概述 Ceph目前是OpenStack支持的开源块存储实现系统(即Cinder项目backend driver之一) 。Ceph是一种统一的、分布式的存储系统。“统一的”意味着Ceph可以一套存储系统同时提供对象存储、块存储和文件系统存储三种功能,以便在满足不同应用需求的前提下简化部署

RedHat Ceph分布式存储指南-块设备模块

Red Hat Customer Content Services Red Hat Ceph Storage 1.3Ceph Block Device Red Hat Ceph Storage Block Device

Red Hat Ceph Storage 1.3 Ceph Block Device Red Hat Ceph Storage Block Device

Legal Notice Copyright ? 2015 Red Hat, Inc. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at https://www.doczj.com/doc/ff17049494.html,/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ? is the registered trademark of Linus Torvalds in the United States and other countries. Java ? is a registered trademark of Oracle and/or its affiliates. XFS ? is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ? is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ? is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project. The OpenStack ? Word Mark and OpenStack Logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community. All other trademarks are the property of their respective owners. Abstract This document describes how to manage create, configure and use Red Hat Ceph Storage block devices.

Ceph分布式存储平台部署手册

Ceph分布式存储平台 部署手册

目录 1.CEPH的架构介绍 (5) 2.CEPH在OPENSTACK中应用的云存储的整体规划 (6) 3.CEPH集群安装在UBUNTU 12.04 (7) 3.1.配置ceph源7 3.2.依需求修改ceph.conf配置文件7 3.3.设置主机的hosts 9 3.4.设置集群节点之间无密钥访问9 3.5.创建目录10 3.6.创建分区与挂载10 3.7.执行初始化11 3.8.启动ceph 11 3.9.ceph健康检查11 4.CEPH集群安装在CENTOS6.4 (12) 4.1.安装更新源12 4.2.使用rpm安装ceph0.67.4 12 4.3.依需求修改ceph.conf配置文件13 4.4.设置主机的hosts 21 4.5.设置集群节点之间无密钥访问21 4.6.创建目录22 4.7.执行初始化22 4.8.启动ceph 22 4.9.ceph健康检查23

5.OPENSTACK GLANCE 使用CEPH集群的配置 (24) 5.1.创建卷池和图像池24 5.2.增加两个池的复制水平24 5.3.为池创建 Ceph 客户端和密钥环24 5.4.在计算节点应用密钥环24 5.4.1.创建libvirt密钥24 5.4.2.计算节点ceph安装25 5.5.更新你的 glance-api 配置文件25 6.OPENSTACK VOLUMES使用CEPH集群的配置 (27) 6.1.计算节点ceph安装27 6.2.创建临时的 secret.xml 文件27 6.3.设定 libvirt 使用上面的密钥28 6.4.更新 cinder 配置28 6.4.1.cinder.conf文件更改28 6.4.2.更改 cinder 启动脚本配置文件29 6.4.3.更改/etc/nova/nova.conf配置29 6.4.4.重启 cinder 服务29 6.5.验证cinder-volume 29 6.6.验证rdb创建volume 30 7.挂载CEPHFS (31) 7.1.配置/etc/fstab 31 7.2.挂载vm实例目录31 8.FQA (32)

SKY 分布式存储解决方案

XSKY统一存储解决方案 2017.5

研发核心?团队A :来自一线互联网,国内Ceph 社区贡献第一;?团队B :来自IT 领导厂商的存储产品研发。 关于XSKY | 星辰天合 ?总部位于北京,在上海、深圳等地有办事处和研发中心 ?启明创投、北极光创投和红点投资,A 轮前融资额¥7200万, B 轮融资额¥1亿2000万元; ?员工140+人,研发+服务~100+人; ?公司愿景:提供企业就绪的分布式软件定义存储产品,帮助客 户实现数据中心架构革新; ?产品:X-EBS 分布式块存储,X-EOS 分布式对象存储,X-EDP 统一数据平台。XSKY 公司和团队简介 Future Ready SDS 关于公司 ?Ceph 分布式存储技术中国领先者,2016年Ceph 社区中 国贡献率第一 ? 拥有近40个产品专利和软著? 中国开源云联盟理事会员?IDC 重点关注的软件定义存储创业公司

XSKY在ceph 社区的贡献度 3

XSKY如何为Ceph社区贡献源代码 XSKY开源贡献主要集中在NVMe, DPDK/SPDK/RDMA整合,BlueStore,网络 优化,OSD,MON性能优化等等方面。 XSKY为Ceph网络层AsyncMessanger的主 要贡献和维护者。 XSKY2016年10月将Ceph的 InfiniBand/RDMA互联共享给upstream。

产品以Ceph为引擎,构建企业级分布式存储产品 ?企业级接口,FC和iSCSI,多路径 ?高性能,低延时、百亿级文件对象 ?持续服务,高水平SLA和业务QoS保证 ?易运维,全图形化操作,0命令行运维 ?内置数据保护功能,一站式解决数据安全问题 ?完善的社区生态,高速增长的数据服务能力 ?成熟的数据分布算法(CRUSH) ?统一存储API,主流云平台接口 ?软件定义,硬件持续革新 5

Ceph安装部署与测试调优

Ceph安装部署及测试调优

目录 1.熟悉Ceph存储的基本原理与架构 2.掌握Ceph集群的安装部署方法 3.掌握Ceph常见的性能测试调优方法

目录 1.基本概念及架构 2.安装部署 3.测试调优

Ceph是一个统一的分布式存储系统,具有高扩展性、高可靠性、高性能,基于RADOS(reliable, autonomous, distributed object store ),可提供对象存储、块设备存储、文件系统存储三种接口 RADOS:是Ceph集群的精华,为用户实现 数据分配、Failover等集群操作。 LIBRADOS:Librados是RADOS的提供库, 上层的RBD、RGW和CephFS都是通过 LIBRADOS访问的,目前提供PHP、Ruby、 Java、Python、C和C++支持。 RBD:RBD全称RADOS block device,是 Ceph对外提供的块设备服务。 RGW:RGW全称RADOS gateway,是 Ceph对外提供的对象存储服务,接口与S3和 Swift兼容。 CephFS:CephFS全称Ceph File System, 是Ceph对外提供的文件系统服务

OSD :Ceph OSD 进程,功能是负责读写数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD 守护进程的心跳来向Ceph Monitors 提供一些监控信息。 Monitor :集群的管理进程,维护着展示集群状态的各种图表,包括监视器图、OSD 图、归置组 (PG )图、和CRUSH 图。 MDS :Ceph 元数据服务器,为Ceph 文件系统存储元数据(也就是说,Ceph 块存储和Ceph 对象存储不使用MDS ) 。 Ceph 存储集群

Ceph分布式存储架构深度分析

Ceph分布式存储架构深度分析

本文主要讨论Ceph架构,同时对Ceph生态、特性和企业级存储进行对比分析。 Ceph使用C++语言开发,遵循LGPL协议开源。Sage Weil(Ceph论文发表者)于2011年创立了以Inktank公司主导Ceph的开发和社区维护。2014年Redhat收购inktank公司,并发布InktankCeph 企业版(ICE)软件,业务场景聚焦云、备份和归档,支持对象和块存储应用。从此出现Ceph开源社区版本和Redhat企业版。 Cehp的基础服务架构 Cehp的基础服务架构主要包括了Object Storage Device(OSD),Monitor和MDS。基于此,Ceph提供了Librados原生对象基础库、Librbd块存储库、Librgw基于S3和Swift兼容的对象库和Libceph文件系统库。 OSD(Object Storage Device)负责存储数据,处理数据复制、数据恢复、数据再均衡以及通过心跳机制监测其它OSD状况并报告给Ceph Monitors。 Monitor负责监控集群状态,包括监控自身状态、集群OSD状态、Placement Group(存储组织和位置映射)状态、CRUSH状态(Controlled Replication Under Scalable Hashing,一种伪随机数据分布算法)。同时,Monitor还会记录它们的每一个历史状态改变版本信息,以确定集群该遵循哪个版本。 MDS负责文件系统的元数据存储和管理,也就是如前所说,块存储和对象存储服务是不需要这个模块的。MDS负责提供标准的POSIX文件访问接口。

相关主题
文本预览
相关文档 最新文档