如何理解对象存储(Object-based Storage)?

Ceph

1 前言

经常在网上看到对象存储文章,但一直没有一篇文章能让我明白对象存储是什么。最近得到一个机会,老板希望我们告诉他什么是对象存储,为了给老板做5页PPT笔者参阅了大量的文献并整理成文(以下文章仅供当参阅,并非权威之作,如果你觉得有不妥之处,欢迎指正)。

2 对象存储

2.1 Obeject-based Storage的概念

是一种新的储架构,对象存储有别于Block与File级别的存储,他以一个弹性的可自定义的数据对象为基本的存储单元,基于数据对象的唯一ID索引,并形成虚拟文件组织结构。结合群集技术将一群服务器的存储设备汇集成存储池,通过软件数据可自动在群集中自分布,存储容量可达到TB甚至EB以上的规模,对象存储同时具备高I/O、共享便利、高扩展性、高可靠性、高性能等特征。
注:以上概念是个人整理,并非权威,请谨慎引用。

2.2 OSD的概念

OSD是Object-based Storage Device的简称,即面向对象存储技术设备的简称,指运行对象存储技术群集中的基本逻辑单元(通俗指运行对象存储群集技术软件的服务器)

2.3 Object的概念


– Data指用户要存取的数据记录或称资料
– MetaData用于定位数据存取的真实位置、历史数据、资源查找、文件记录等功能
– OID即Object ID是数据对象的唯一标识(相当于人身份证ID)
– Attributes数据描述属性
– Object由Data/OID/Metadat/Attributes组成,是对象存储定义的最小数据存储单元

2.4 块存储与对象存储的对比


– 块存储最小存储单元是一个数据块(Block)而对象存储基本单元是一个数据对象(Object)
– 块存储基于inode寻找唯一的数据块而对象存储基于OID寻找唯一的数据对象
– 块存储的数据块与对象存储的数据块都是扁平化结构(决定读写的I/O)

– 块存储下块分数据块与文件夹块,文件夹块通过记录inode重定位数据块来组织文件结构
– 而同理,对象存储通过GID重新定位数据对象来组织出虚拟文件结构(即目录树)

2.5 Object Type

ANSI T10 SCSI OSD标准定义四个不同的对象:

– 根对象,OSD本身
– 用户对象,由来自于应用程序或客户端的SCSI命令创建的对象
– 集合对象,一组用户对象,例如输入项目的所有.mp3的对象集合或所有对象
– 分区对象,由共享安全或空间管理特征(如配合和秘钥)的用户对象和集合容器

2.6 系统架构


对象存储通常分为三个部分:
Metadata Server Cluster– 元数据群集,用于定位存取数据的位置等
Object Storage Cluster– 对象存储群集,用于存储数据对象(Object)
Clients – 数据的需求方,到Metadata Server定位据的位置后到Object Storage中存取

2.7 对象存储的特点

– 高I/O读写性能,具有SAN的高速直接访问磁盘的特点
– 共享便利,具有NAS的分布式共享特点
– 高扩展性,使用普通x86服务器,支持10~1000台服务器,支持TB到PB级的扩展。
– 高可靠性,没有单点故障,多数据副本,自动管理,自动修复。
– 高性能,数据分布均衡,并行化度高。对于objects storage和block storage,不需要元数据服务器。

3 存储类型对比分析

3.1 块存储

– 专业厂商定制,整个存储相当于一块大硬盘(用户可根据需要格式化成文件系统使用)
– 以数据块为最小存储单元,以inode直接定位数据(决定IO性能)
– 以FC-SAN协议作为通讯介质
– 优点是I/O性能好
– 缺点是可扩展性差,数据不便于共享,并且设备价格高
– scale up的扩展方式,单点通过多控制器、多电源实现容错
– 代表产品:SAN

3.2 文件存储

– 相当于共享文件夹(Samba)或NFS,由软件加服务器硬件实现
– 以文件为存储单元,以目录结构定位数据(决定IO性能)
– 优点是数据共享便利
– 缺点是传输协议开销大,I/O性能差
– 默认scale up的扩展方式,借助lvs可实现scale out扩展方式(存储自身没有高可靠性能力)
– 代表产品:NAS

3.3 对象存储

– 软件定义存储的一种类型,由存储软件系统加服务器硬件实现
– 以数据对象为最小存储单元,通过数据对象ID直接索引数据(决定IO性能)
– 优点是I/O性能好,协议开销小,共享便利,成本适中
– scale out的扩展方式,存储本身实现高可靠性、高性能、高扩展
– 代表产品Redhat Cept与OpenStack Swift

类型 存储单元 传输协议 读写I/O 协议开销 共享能力 扩展性 可靠性 成本 产品
块存储 Block FC-SAN SAN
文件存储 File TCP/IP NAS
对象存储 Object SCSI/FC/ATA Cept/Swift

==============================================
参阅文献:
https://en.wikipedia.org/wiki/Object_storage
http://www.chinastor.com/a/jishu/OSD.html
https://zhidao.baidu.com/question/681721512143511972.html
http://wenku.baidu.com/view/be724b74f46527d3240ce0a5.html?from=search
https://www.ustack.com/blog/ceph_infra/
http://wenku.baidu.com/link?url=eoa47VQbA9-_rxGLG5o8uNDCWV-DeviAOe0hQCPQSqPLRK62_igE9hCmVwyV51zlzBSqnkuqjgJw0dNh0dQARWlEBv8ug8_RgYUtLC9CoYG
https://www.ustack.com/blog/ceph_infra/
http://www.oracle.com/technetwork/server-storage/solaris/osd-142183.html
http://www.tuicool.com/articles/2yqUZvz

没有评论

发表评论