一、概述

  zone: 包含多个RGW实例的一个逻辑概念。zone不能跨集群,同一个zone的数据保存在同一组pool中;

  zonegroup:一个zonegroup如果包含一个或多个zone,如果包含多zone时,必须指定其中一个zone为master zone,用来处理bucket和用户的创建。

    一个集群可以创建多个zonegroup, 一个zonegroup可以跨多个集群。

  realm: 一个realm包含一个或多个zonegroup。 如果realm包含多个zonegroup,必须指定一个zonegroup为master zonegroup,用来处理系统操作,一个系统中包含多个realm,多个realm之间资源完全隔离;

  user:对象存储的使用者,默认情况下,一个用户只能创建1000个存储桶。

  bucket:存储桶,用来管理对象的容器。

  object:对象,泛指一个文档、图片或视频文件等,尽管用户可以直接上传一个目录,但是ceph并不按目录层级结构保存对象, ceph所有的对象扁平化的保存在bucket中。

二、数据读写流程

  下图展示了应用、RGW、ceph集群的关系:

 应用通过RGW访问集群流程如下:

  ● S3或Swift 应用通过http协议发送请求到RGW。

  ● RGW从http请求中解析出s3或swift协议数据,调用librados接口,将对应的请求发送到rados集群中。

  注:图中load balance非必须,只要在存在多个RGW做负荷分担时需要。

 数据存储位置

  对象存储涉及各种类型的数据,ceph将不同类型的数据存储在不同的pool中,RGW涉及的pool分为两大类:

    ● 保存集群数据的pool,比如用来保存realm信息,zonegroup信息,zone信息,使用哪个pool来保存哪个信息在配置文件中指定, 默认保存在.rgw.zone中。

    ●保存跟单个zone相关数据的pool,在创建zone时指定,默认情况下,pool名以zone名+rgw+保存数据类型来命名,例如下面名为z1的zone默认pool如下:

  注:RGW需要用到的这些pool最好在使用之前手动创建,如果不手动创建,RGW会在需要时自动创建。手动创建的好处是 我们可以根据需要指定pool的PG数,crush规则等。

下面详细说明RGW涉及到的各个pool的作用:

  domain_root:保存bucket和bucket元数据。

  control_pool:在RGW上电时,在control pool创建若干个对象用于watch-notify,主要作用为当一个zone对应多个RGW,且cache使能时, 保证数据的一致性,其基本原理为利用librados提供的对象watch-notify功能,当有数据更新时,通知其他RGW刷新cache, 后面会有文档专门描述RGW cache。

  gc_pool:RGW中大文件数据一般在后台删除,该pool用于记录那些待删除的文件对象。

  lc_pool:保存对象生命周期执行状态。

  log_pool:各种log信息,如op log、数据同步log、过期对象等。

  intent_log_pool:目前没用。

  usage_log_pool:存储计量数据统计,比如上传文件多少次,下载多少次,遍历bucket多少次之类。

  user_keys_pool:存储用户AK和uid的对应关系,方便通过用户restful请求的ak找到用户id。

  user_email_pool:存储swift key和uid的对应关系。

  user_swift_pool:存储用户email和uid的对应关系。

  user_uid_pool:存储用户信息,和用户下bucket列表。

  index_pool:保存bucket中对象列表,index_pool可以配置多个,跟data_pool、data_extra_pool一起组成placement_pool, 在创建bucket时指定数据保存到哪一组placement_pool中。

  data_pool:保存对象数据,data_pool可以有多个。

  data_extra_pool:Multipart upload过程中一些中间态的数据,会存在该pool上。这些数据可以帮助用户进行断点续传及垃圾数据回收。

 应用场景

  ● 频繁IO的网盘。

  ● 有海量数据归档和备份需求的互联网应用企业

  云备份的企业用户。

ceph-RGW Jewel版新概念的更多相关文章

  1. ceph的jewel新支持的rbd-nbd

    jewel版本新增加了一个驱动NBD,允许librbd实现一个内核级别的rbd NBD相比较于kernel rbd: rbd-ko是根据内核主线走的,升级kernel rbd需要升级到相应的内核,改动 ...

  2. 趣解 ceph rgw multisite data sync 机制

    multisite是ceph rgw对象数据异地容灾备份的一个有效方案,笔者希望深入理解该技术,并应用于生产环境中,然而rgw的这部分代码晦涩难懂,笔者多次尝试阅读,仍云里雾里不解其意,最终流着泪咬着 ...

  3. [新概念英语II 笔记] Lesson 3: Please Send Me a Card

    发现身边很多程序员都能看懂英文技术文章的60%-80%内容,但大家都有一个毛病,就是不会说,不会写作,在逛英文技术社区的时候,想发表点什么评论,总担心自己写的话有错误.究其原因, 我觉得主要原因是因为 ...

  4. 新概念英语(1-47)A cup of coffee

    新概念英语(1-47)A cup of coffee How does Ann like her coffee? A:Do you like coffee, Ann? B:Yes, I do. A:D ...

  5. 新概念英语(1-45)The boss's letter

    新概念英语(1-45)The boss's letter Why can't Pamela type the letter? A:Can you come here a minute, please, ...

  6. 新概念英语(1-43)Hurry up!

    新概念英语(1-43)Hurry up! How do you know Sam doesn't make the tea very often? A:Can you make the tea, Sa ...

  7. 新概念英语(1-41)Penny's bag

    新概念英语(1-41)Penny's bag Who is the tin of tobacco for? A:Is that bag heavy, Penny? B:Not very. A:Here ...

  8. 新概念英语(1-39)Don't drop it!

    新概念英语(1-39)Don't drop it! Where does Sam put the vase in the end ? A:What are you going to do with t ...

  9. 新概念英语(1-35)Our village

    新概念英语(1-35)Our village Are the children coming out of the park or going into it ? This is a photogra ...

随机推荐

  1. 开源的DirectUI界面库

    1. duilib简介 duilib是一个开源的DirectUI界面库,简洁但是功能强大.而且还是BSD的license,所以即便是在商业上,大家也可以安心使用.现在大家可以从这个网站获取到他们所有的 ...

  2. 来自Vexels的超棒免费商业相关图标资源 #精选设计素材图标

    如果你也在寻找一些商务相关的图标的话,今天推荐的这套图标资源绝对是你梦寐以求滴 , 首先呢请预览一下效果吧~ 这套来自Vexels的图标包含了28张商务和商业相关的内容,包含了战略,市场,项目,付款等 ...

  3. JavaScript String 对象常用方法

    <script type="text/javascript"> //concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串. var str = &q ...

  4. 【转】Ant之build.xml详解

    关键字: ant build.xml Ant的概念 可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道make这个命令.当编译Linux内核及一些软件的源程序 ...

  5. vsphere产品下载列表

    https://my.vmware.com/cn/web/vmware/info/slug/datacenter_cloud_infrastructure/vmware_vsphere_with_op ...

  6. 使用Spring框架入门四:基于注解的方式的AOP的使用

    一.简述 前面讲了基于XML配置的方式实现AOP,本文简单讲讲基于注解的方式实现. 基于注解的方式实现前,要先在xml配置中通过配置aop:aspectj-autoproxy来启用注解方式注入. &l ...

  7. 通过jdbc获取数据库中的表结构 主键 各个表字段类型及应用生成实体类

    http://www.cnblogs.com/lbangel/p/3487796.html 1.JDBC中通过MetaData来获取具体的表的相关信息.可以查询数据库中的有哪些表,表有哪些字段,字段的 ...

  8. XWindow、Server、Client和QT、GTK之间的关系

    X WINDOW X Window从逻辑上分为三层:X Server.X Client和X协议.最底层的X Server(X服务器)主要处理输入/输出信息并维护相关资源,它接受来自键盘.鼠标的操作并将 ...

  9. sharepoint 2010 怎样在Ribbon区加入功能button

    继续前面的一篇博客,sharepoint 2010 怎样在列表中加入功能菜单操作项.这次主要是记录下,在Ribbon区域加入功能button.比如加入收藏button.例如以下图所看到的: 1. 还是 ...

  10. 算法笔记_220:猜算式(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 看下面的算式: □□ x □□ = □□ x □□□ 它表示:两个两位数相乘等于一个两位数乘以一个 三位数. 如果没有限定条件,这样的例子很多. 但 ...