Ceph对象存储底层对象分布揭秘_第1页
Ceph对象存储底层对象分布揭秘_第2页
Ceph对象存储底层对象分布揭秘_第3页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Ceph 对象存储底层对象分布揭秘对象存储是公有云中常见的非结构化数据存储解决方案,常被作为网站、移动应用、图片、视频数据的主要存储方式,也是 CDN 回源及云上数据备份的不二选择。对象存储采用无层次结构的数据存储方法。基于对象的存储不使用目录树,数据组织采用桶作为划分域,对象存储于桶中;各个单独的数据(对象)单元存在于存储池中的同一级别; 每个对象都有唯一的识别名称,供应用进行检索。租户通过 API 管理云上数据。目前对象存储已成为公有云服务商所具备的基本存储服务,亚马逊 S3、阿里 OSS、微软Bolb、华为 OBS、金山 KS3、腾讯 COS。Ceph 则是开源生态中至今为止软件定义存储

2、中最成功的产品,其通过 RGW 组件对外提供对象存储服务,本文将探讨 Ceph RGW 中数据的分布原理。Ceph 数据存储原理CephRGWRGWS3SwiftRGW API在 RGW 提供了整体上传和分段上传两种文件上传方式。每部分 RGW 上传的文件片段根据配置进行切块,形成若干个 Object,Object 逻辑归属于某个 PG 中,最终 Object 存储在 PG 映射的一组 OSD 磁盘上,Ceph 最终存储的是对象(内容+属性),通过后端存储引擎 Object Store(src/os/ObjectStore.cc) 封装了底层Rados 对象操作。无论是块存储、文件存储、还是对

3、象存储存入 Ceph 的数据都以如下方式组织:File:client 读 写 的 文 件object:是将 File 切块后的存储实体oid:(object id) = ino(File 的 ID)+ono(切块序号) mask:PG 总数 m(m 为 2 的整数幂)-1PG(Placement Group):放置组(标识为 PGID)是一个逻辑的概念,一个 PG 存放多个对象,每个存储节点有上百个 PG。OSD(Object Storage Device):对象存储设备,提供存储资源。Ceph 存储引擎 ObjectStore后端存储引擎由 ObjectStore 提供, ObjectSto

4、re API 分主要为三部分:ObjectObjectObjectOmapOmapKV实现一套 ObjectStore 的接口即提供了一种存储引擎,目前常用存储引擎类型为 FileStore 和 BlueStore。其中使用最为广泛的 CEPH 后端存储引擎为 FileStore。POSIXObjectObjectLevelDB、RocksDBKVOmapFileStore 中每个 Object 会被看成是一个文件,Object 的属性会利用文件的扩展属性存取,超出文件系统限制(filestore_max_xattr_value_size,xfs 默认 64KB)的扩展属性会存储在 KV 数据

5、库中。Ceph RGW 对象存储模型在 RGW 提供了整体上传和分段上传两种文件上传方式。1、RGW 对象整体上传rgw_max_chunk_size:首部对象切片大小(默认 1M) rgw_obj_stripe_size:除首部对象外的其他切片大小(默认 8M) rgw_max_put_size:整体上传文件限制(默认 512G)整体上传的文件,将会切分为一个大小为 rgw_max_chunk_size 的首部 Rados 对象,及若干个大小为 rgw_obj_stripe_size 的中间 Rados 对象(最后一个对象可以小于rgw_obj_stripe_size)。其中,扩展属性存在于

6、首部 Rados 对象的扩展属性中,包含了分片信息。2、RGW 对象分段上传rgw_multipart_min_part_size:分段最小大小(默认 1M) rgw_multipart_part_upload_limit:最大分段数(默认 10000)分段上传,用户上传时自主对上传文件进行分段,除最后一个分段外必须大于rgw_multipart_min_part_size,每段文件独立上传,每段都可看作一个整体上传。上传完成后,会生成一个内容为空的首部 Rados 对象,用于存储 RGW 对象的属性信,其中包含分段及分片信息。Ceph RGW 对象存储实践接下来我们就进入到 Ceph 中一探

7、究竟。首先搭建一个三副本的 Ceph(Luminous 版)集群,部署图如上图所示。下面我们来查看 RGW 对象在 Ceph 中是如何存储的。1、整体上传整体上传 file10MB.dat 对象分布图如上所示。整体上传文件定位首部对象定位除首部对象外的其他分片对象我 们 可 以 看 到 有 很 多 扩 展 属 性 , 介 绍 常 见 的 几 个 : cephos.spill_out:记录文件的扩展属性是否溢出到了 Omap “ceph._”:对象信息“ceph._user.rgw.acl”: 对 象 ACL “ceph._user.rgw.manifest”:对象 rgw 相关信息,包含分片信息。从上面实践结果可以看到,我们手动构建的文件 MD5 和原文件一致。2、分段上传分段上传 file20MB.dat 对象分布图如上图所示。分段上传文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论