Ceph对象存储底层对象分布揭秘

Ceph 对象存储底层对象分布揭秘
四爪螺母对象存储是公有云中常见的非结构化数据存储解决方案,常被作为网站、移动应用、图片、视频数据的主要存储方式,也是CDN回源及云上数据备份的不二选择。
对象存储采用无层次结构的数据存储方法。基于对象的存储不使用目录树,数据组织采用桶作为划分域,对象存储于桶中;各个单独的数据(对象)单元存在于存储池中的同一级别;每个对象都有唯一的
识别名称,供应用进行检索。租户通过API管理云上数据。
目前对象存储已成为公有云服务商所具备的基本存储服务,亚马逊S3、阿里OSS、微软Bolb、华为OBS、金山KS3、腾讯COS。Ceph则是开源生态中至今为止软件定义存储中最成功的产品,其通过RGW组件对外提供对象存储服务,本文将探讨Ceph RGW中数据的分布原理。
Ceph数据存储原理
Ceph的对象存储接口是由RGW组件提供的。RGW为用户提供了一套兼容S3及Swift协议的API。用户通过RGW API完成上传、下载等数据相关操作。防刺手套
在RGW提供了整体上传和分段上传两种文件上传方式。
每部分RGW上传的文件片段根据配置进行切块,形成若干个Object,Object逻辑归属于某个PG中,最终Object存储在PG映射的一组OSD磁盘上,Ceph最终存储的是对象(内容+属性),通过后端存储引擎Object Store(src/) 封装了底层Rados对象操作。
无论是块存储、文件存储、还是对象存储存入Ceph的数据都以如下方式组织:
File:client读写的文件
ap劫
object:是将File切块后的存储实体
oid:(object id) = ino(File的ID)+ono(切块序号)
wan-107mask:PG总数m(m为2的整数幂)-1
PG(Placement Group):放置组(标识为 PGID)是一个逻辑的概念,一个PG存放多个对象,每个存储节点有上百个PG。
OSD(Object Storage Device):对象存储设备,提供存储资源。
Ceph存储引擎ObjectStore
后端存储引擎由ObjectStore提供, ObjectStore API分主要为三部分:
(1)Object内容的读写操作;
(2)Object扩展属性的读写操作;
(3)Object关联的Omap的操作,Omap在概念上与扩展属性相似,但有不同的存储限制及存储方式,通常为KV数据库。
舞台烟火实现一套ObjectStore的接口即提供了一种存储引擎,目前常用存储引擎类型为FileStore 和BlueStore。
营养米其中使用最为广泛的CEPH后端存储引擎为FileStore。
(1)利用文件系统的POSIX接口实现Object的内容读写操作;
(2)利用文件系统的扩展属性功能实现Object的属性操作
(3)利用LevelDB、RocksDB等KV数据库实现Omap操作。
FileStore中每个Object会被看成是一个文件,Object的属性会利用文件的扩展属性存取,超出文件系统限制(filestore_max_xattr_value_size,xfs默认64KB)的扩展属性会存储在KV数据库中。
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)。其中,扩展属性存在于首部Rados对象的扩展属性中,包含了分片信息。
2、RGW对象分段上传

本文发布于:2024-09-25 09:39:55,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/223705.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:对象   上传   属性   文件
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议