码迷,mamicode.com
首页 > 其他好文 > 详细

Ceph-相关概念

时间:2016-06-03 23:11:44      阅读:470      评论:0      收藏:0      [点我收藏+]

标签:ceph

Ceph在KVM虚拟化中的应用与故障处理
    

    在一个分布式集群上,同时为用户提供对象存储,块存储及文件存储



    优点:   统一存储
            无任何单点故障
            数据多分冗余
            存储容量可扩展
            自动容错及故障自愈
 
    Ceph的三大角色组件及其作用


    表现为3个守护进程

    Ceph OSD
    Monitor
    MDS


    还有其他的一些功能组件 RADOS Getaway

    Ceph OSD:Ceph Object Storage Device 主要功能包括:存储数据,副本数据处理,数据恢复,数据回补,平衡数据分布,并将数据相关的一些儿监控信息提供给至少2个Ceph OSD,才能有效保存两份数据.
    Monitor:主要功能是维护集群状态的表组,  Monitor Map,OSD Map,PG(Placement Group) map,CRUSH map
    MDS:Ceph的MDS(Metadata Server)守护进程,主要保存的是Ceph文件系统的元数据.   对于Ceph的块设备和Ceph对象存储都不需要Ceph MDS守护进程.


    Ceph的架构及应用场景
         ceph的架构主要分成底层数据分布及上层应用接口


        Ceph的底层核心是RADOS(reliable,autonomous,Distributed,Object,Storage)
          Ceph的本质是一个对象存储.RADOS由两个组件组成:OSD和Monitor

          OSD主要提供存储资源,每一个disk,SSD,RAID GROUP或者一个分区都可以成为一个OSD,而每个OSD还将负责向该对象的负载节点分发和恢复,Monitor维护Ceph集群并监控Ceph集群的全局状态,提供一致性的策略


          RADOS分发策略依赖于一个名为CRUSH(Controlled Replication Under Scalable Hashing 基于可扩展哈希算法的可控复制)的算法

          Ceph的应用场景主要由它的架构确定.ceph提供对象存储.块存储和文件存储.主要有4中应用


          第一类:Librados应用.通俗地说,Librados提供应用程序对RADOS的直接访问,目前Librados已经提供了对C,C++,Java,Python,Ruby和PHP的支持,它支持单个单项的原子操作,如同时更新数据和属性,CAS操作,同时有对象粒度的快照操作,它的实现是基于RADOS的插件API,其实际上就是在RADOS上运行的封装库.
          第二类:RADOSGW(Reliable Autonomic Distributed Object Storage)应用,这类应用基于Librados之上,增加了HTTP协议,提供RESTful接口并且兼容S3,Swift接口
          第三类:RBD(RADOS BLOCK DEVICE)应用,这类应用也是基于librados之上的,细分为两种应用场景

                  1.为虚拟机提供块设备,通过Librbd可以创建一个块设备(Container),然后通过QEMU/KVM附加到VM上,通过Container和VM的解耦,使得块设备可以被绑定到不通的VM上
                  2.为主机提供块设备.


                  以上两种方式都是将一个虚拟的块设备分片存储在RADOS中,都会利用数据条带化提高数据并行传输,都支持块设备的快照.COW(Copy-ON-Write)克隆.最重要的是RBD还支持Live migration.

          第四类:CephFS(Ceph文件系统)应用,这类应用是基于RADOS实现的PB级别分布式文件系统,其中引入了MDS(Meta Data Server),它主要为兼容POSIX文件系统提供元数据,比如文件目录和文件元数据,同时MDS会将元数据存储在RADOS中,这样元数据本身也达到了并行化,可以大大加快文件操作的速度.

                  MDS本身不为Client提供数据文件,只为Client提供对元数据的操作,当Client打开一个文件时,会查询并更新MDS响应的元数据,然后根据提供的对象信息直接从RADOS中得到文件信息.

本文出自 “lionel” 博客,请务必保留此出处http://reliable.blog.51cto.com/10292844/1785966

Ceph-相关概念

标签:ceph

原文地址:http://reliable.blog.51cto.com/10292844/1785966

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!