对象存储概述

什么是对象存储(OSD)?
存储局域网(SAN)和网络附加存储(NAS)是目前两种主流网络存储架构,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。1999年成立的全球网络存储工业协会(SNIA)的对象存储设备工作组发布了ANSI的X3T10标准。总体上来讲,对象存储综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的分布式数据共享等优势,提供了具有高性能、高可靠性、跨平台以及安全的数据共享的存储体系结构。

SAN存储架构
采用SCSI快I/O命令集,通过磁盘或FC(iber Channel)级的数据访问提供高性能的随机I/O个数据吞吐率,它具有高宽带、低时延的优势,在高性能计算中占有一席之地,如SGI的CXFS文件系统就是基于SAN实现高性能文件存储的,但是由于SAN系统的价格较高,且扩展性较差,已不能满足成千上万个CPU规模的系统。

NAS存储架构
它采用NFS或CIFS命令集访问数据,以文件为传输协议,通过TCP/IP实现网络化存储,可扩展行好、价格便宜、用户易管理,如目前在集群计算中应用较多的NFS文件系统,但由于NAS的西医开销高、带宽低、延迟大,不利于在高性能集群中使用。

对象存储架构

核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备构建存储系统,每个对象存储设备具有一定的只能,能够自动管理其上的数据分布。对象存储结构由对象、对象存储设备、元数据服务器、对象存储系统的客户端四部分组成。

1. 对象
对象 是系统中数据存储的基本单位,每个Obeject是数据和数据属性集的综合体,数据属性可以根据应用的需求进行设置,包括数据分布、服务质量等。在传统的存储系统中用文件或块作为基本的存储单位,块设备要记录每个存储数据块在设备上的位置。Object维护自己的属性,从而简化了存储系统的管理任务,增加了灵活性。Object的大小可以不同,可以包含整个数据结构,如文件、数据表项等。在存储设备中,所有对象都有一个对象标识,通过对象标识OSD命令访问对象。通常由多种类型的对象,存储设备上的根对象标识存储设备和该设备的各种属性,组队象是存储设上共享资源管理策略的对象集合等。


                                                  传统的访问层次和虚拟数据访问模型
2. 对象存储设备
每个OSD都是一个智能设备,具有自己的存储介质、处理器、内存以及网络系统等,负责管理本地的Object,是对象存储系统的核心。OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。OSD的主要功能包括数据存储和安全访问、目前国际上通常采用刀片式结构实现对象存储设备。OSD提供三个主要功能:
(1)数据存储。OSD管理对象数据,并将它们放置在标准的磁盘系统上,OSD不提供接口访问方式,Client请求数据时用对象ID、偏移进行数据读写。
(2)智能分布。OSD用其自身的CPU和内存优化数据分布,并支持数据的预取。由于OSD可以智能地支持对象的预取,从而可以优化磁盘的性能。
(3)每个对象数据的管理。OSD管理存储在其它对象上的元数据,该元数据与传统的inode元数据相似,通常包括对象的数据块和对象的长度。而在传统的NAS系统中,这些元数据是由文件服务器提供的,对象存储架构将系统中主要的元数据管理工作由OSD来完成,降低了Client的开销。

3. 元数据服务器(Metadata Server,MDS)
MDS控制Client与OSD对象的交互,为客户端提供元数据,主要是文件的逻辑视图,包括文件与目录的组织关系、每个文件所对应的OSD等。主要提供以下几个功能:
(1)对象存储访问。MDS构造、管理描述每个文件分布的视图,允许Client直接访问对象。MDS为Client提供访问该文件所含对象的能力,OSD在接收到每个请求时先验证该能力,然后才可以访问。
(2)文件和目录访问管理。MDS在存储系统上构建一个文件结构,包括限额控制、目录和文件的创建和删除、访问控制等。
(3)Client Cache一致性。为了提高Client性能,在对象存储系统设计时通常支持Client的Cache。由于引入Client方的Cache,带来了Cache一致性的问提,MDS支持基于Client的文件Cache,当Cache的文件发生改变时,将通知Client刷新Cvashe,从而防止Cache不一致引发的问提。
4. 对象存储系统的客户端Client
为了有效支持Client支持访问OSD上的对象,需要在计算节点实现对象存储系统的Client。现有的应用对数据的访问大部分都是通过POSIX文件方式进行的,同时为了提高性能,也具有对数据的Cache功能和文件的条带功能。同时,文件系统必须维护不同客户端上Cache的一致性,保证文件系统的数据一致。文件系统访问流程:
1)客户端应用发出读请求;
2)文件系统向元数据服务器发送请求,获取要读取的数据所在的OSD;
3)然后直接向每个OSD发送数据读取请求;
4)OSD得到请求后,判断要读取的Object,并根据此Object的认证方式,对客户端进行认证,如果客户端得到收授权,则将Object的数据返回给客户端;
5)文件系统收到OSD返回的数据以后,读操作完成。

对象存储文件系统的关键技术
1、分布元数据 传统的存储结构元数据服务器通常提供两个主要功能。
(1)为计算结点提供一个存储数据的逻辑视图(Virtual File System,VFS层),文件名列表及目录结构。
(2)组织物理存储介质的数据分布(inode层)。对象存储结构将存储数据的逻辑视图与物理视图分开,并将负载分布,避免元数据服务器引起的瓶颈(如NAS系统)。元数据的VFS部分通常是元数据服务器的10%的负载,剩下的90%工作(inode部分)是在存储介质块的数据物理分布上完成的。在对象存储结构,inode工作分布到每个智能化的OSD,每个OSD负责管理数据分布和检索,这样90%的元数据管理工作分布到智能的存储设备,从而提高了系统元数据管理的性能。另外,分布的元数据管理,在增加更多的OSD到系统中时,可以同时增加元数据的性能和系统存储容量。

2、并发数据访问 对象存储体系结构定义了一个新的、更加智能化的磁盘接口OSD。OSD是与网络连接的设备,它自身包含存储介质,如磁盘或磁带,并具有足够的智能可以管理本地存储的数据。计算结点直接与OSD通信,访问它存储的数据,由于OSD具有智能,因此不需要文件服务器的介入。如果将文件系统的数据分布在多个OSD上,则聚合I/O速率和数据吞吐率将线性增长,对绝大多数Linux集群应用来说,持续的I/O聚合带宽和吞吐率对较多数目的计算结点是非常重要的。对象存储结构提供的性能是目前其它存储结构难以达到的,如ActiveScale对象存储文件系统的带宽可以达到10GB/s。

对象存储(Object-based Storage)概述相关推荐

  1. 三分钟了解阿里云产品:对象存储OSS概述

    阿里云的产品种类繁多,今天让我们一起来了解下对象存储(Object Storage Service,简称OSS)吧! 对象存储是什么? 简单来说,对象存储OSS是阿里云提供的海量.安全和高可靠的云存储 ...

  2. OSS(对象存储服务)与 AWS S3(Amazon Simple Storage Service)

    1. AWS S3对象存储 Amazon Simple Storage Service (Amazon S3) 是一种面向 Internet 的存储服务.您可以通过 Amazon S3 随时在 Web ...

  3. 阿里云云计算ACP学习(三)---对象存储OSS

    对象存储OSS 1. OSS概述 阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云提供的海量.安全.低成本.高可靠的云存储服务. 它具有与平台无关的RESTfu ...

  4. 块存储、文件存储、对象存储这三者和分布式文件存储系统的本质区别

    块存储和文件存储是我们比较熟悉的两种主流的存储类型,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based St ...

  5. 存储-对象存储、文件存储和块存储

    块存储和文件存储是我们比较熟悉的两种主流的存储类型,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based St ...

  6. 云存储哪家强:AWS、Azure、 Google、SoftLayer的对象存储和块存储

    近日,RightScale的博客中讨论了目前市面上最主要的公有云服务供应商,包括AWS.Google Cloud Platform.Microsoft Azure,以及IBM SoftLayer,他们 ...

  7. 电信天翼云对象存储java实现

    首先先了解电信天翼云对象存储 产品介绍         对象存储(Object-Oriented Storage, OOS)是中国电信为客户提供的一种海量.弹性.廉价.高可用的存储服务.客户只需花极少 ...

  8. 华为OBS对象存储,每个人都应该用一用

    随着互联网硬件与软件的不断迭代,如今用户在网上冲浪的时间越来越多,智能手机的兴起诞生了各类短视频.快资讯网站以及自媒体市场.但由于大量的数据出现,对于用户及企业来说,如何存储这些数据成为了不可忽视的难 ...

  9. 阿里云对象存储OSS(Object Storage Service)

    文章目录 简介 endpoint:阿里云服务部署的地区位置 见解 开发步骤 配置文件 utils层(读取全局配置文件并赋值给类变量) service层 impl(基于oss驱动sdk实现类) cont ...

最新文章

  1. mysql外键约束脚本_如何在MySQL中设置外键约束
  2. python打开excel执行vba代码_python可以添加,运行和删除VBA宏以实现excel而无需中间保存步骤吗?...
  3. android 图片操作,Android图片操作(Bitmap)
  4. 球体动画Android,Android自定义View实现简单炫酷的球体进度球实例代码
  5. 造谣“外卖员因差评杀人” 女子被依法刑事拘留
  6. 如何提高WEB程序的效率
  7. 让计算机u盘启动,如何让vmware用u盘启动
  8. MIME,拓展名需要相应的软件打开
  9. 泛微oa明细表添加按钮_泛微OA系统表结构说明
  10. 深度学习之学习(1-1) VGG16网络结构详解
  11. Snagit 2019 快速截图
  12. 老生常谈:如何快速提升项目管理和团队效率?
  13. ShowWindow(SW_SHOWNORMAL)
  14. Spark Core项目实战(3) | 页面单跳转化率统计
  15. 永磁同步电机矢量控制(四)——速度环 PI 参数整定(二)
  16. 【C++】C++11简介 | 列表初始化 | 声明 | 范围for
  17. 传统外置存储已近黄昏
  18. 汤森路透 Thomson Reuters--使用多模型数据库ArangoDB 打造快速安全的简单视图分析...
  19. postcss-pxtorem无法将内联样式的px转成rem
  20. 拉普拉斯的几个重要定理

热门文章

  1. HDU 6070 Dirt Ratio
  2. 通过ASM1117实现5V转3.3V电路
  3. Django针对上一篇和下一篇文章标题的实现逻辑
  4. pta——出生年,查验身份证(c语言)
  5. 安装SQLServer2019
  6. Excel批量调整行高
  7. JS实现多线程--Concurrent.Thread.js
  8. IntelliJ IDEA设置修改字体大小与样式
  9. java 类型转换
  10. Tomcat服务器的默认端口是多少?怎样修改tomcat的端口?