什么是对象存储?OSD架构及原理

导读:什么是对象存储?本文介绍OSD对象存储概念及对象存储系统的架构组成和工作原理,以及对象存储与SAN和NAS网络存储技术的比较。
什么是对象存储(OSD)?
存储局域网(SAN)和网络附加存储(NAS)是我们比较熟悉的两种主流网络存储架构,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。
对象存储的发展历史:
1999年成立的全球网络存储工业协会(SNIA)的对象存储设备(Object Storage Device)工作组发布了ANSI的X3T10标准。
对象存储的优点:
总体上来讲,对象存储同兼具SAN高速直接访问磁盘特点及NAS的分布式共享特点。
SAN(Storage Area Network)结构
采用SCSI 块I/O的命令集,通过在磁盘或FC(Fiber Channel)级的数据访问提供高性能的随机I/O和数据吞吐率,它具有高带宽、低延迟的优势,在高性能计算中占有一席之地,如SGI的CXFS文件系统就是基于SAN实现高性能文件存储的,但是由于SAN系统的价格较高,且可扩展性较差,已不能满足成千上万个CPU规模的系统。
NAS(Network Attached Storage)结构
它采用NFS或CIFS命令集访问数据,以文件为传输协议,通过TCP/IP实现网络化存储,可扩展性好、价格便宜、用户易管理,如目前在集群计算中应用较多的NFS文件系统,但由于NAS的协议开销高、带宽低、延迟大,不利于在高性能集群中应用。
对象存储结构
核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(Object-based Storage Device,OSD)构建存储系统,每个对象存储设备具有一定的智能,能够自动管理其上的数据分布。
对象存储结构组成部分(对象、对象存储设备、元数据服务器、对象存储系统的客户端):

对象存储架构
1、对象
对象是系统中数据存储的基本单位,一个对象实际上就是文件的数据和一组属性信息(Meta Data)的组合,这些属性信息可以定义基于文件的RAID参数、数据分布和服务质量等,而传统的存储系统中用文件或块作为基本的存储单位,在块存储系统中还需要始终追踪系统中每个块的属性,对象通过与存储系统通信维护自己的属性。在存储设备中,所有对象都有一个对象标识,通过对象标识OSD命令访问该对象。通常有多种类型的对象,存储设备上的根对象标识存储设备和该设备的各种属性,组对象是存储设备上共享资源管理策略的对象集合等。

对象的层次关系理解(图片来源SNIA)
对象的组成(图形来源Oracle)
2、对象存储设备
对象存储设备具有一定的智能,它有自己的CPU、内存、网络和磁盘系统,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对象的交互,主要提供以下几个功能:
(1) 对象存储访问。
MDS构造、管理描述每个文件分布的视图,允许Client直接访问对象。MDS为Client提供访问该文件所含对象的能力,OSD在接收到每个请求时将先验证该能力,然后才可以访问。
(2) 文件和目录访问管理。
MDS在存储系统上构建一个文件结构,包括限额控制、目录和文件的创建和删除、访问控制等。
(3) Client Cache一致性。
为了提高Client性能,在对象存储系统设计时通常支持Client方的Cache。由于引入Client方的Cache,带来了Cache一致性问题,MDS支持基于Client的文件Cache,当Cache的文件发生改变时,将通知Client刷新Cache,从而防止Cache不一致引发的问题。
4、对象存储系统的客户端Client
为了有效支持Client支持访问OSD上的对象,需要在计算节点实现对象存储系统的Client,通常提供POSIX文件系统接口,允许应用程序像执行标准的文件系统操作一样。
对象存储文件系统的关键技术
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。
推荐参考文档:
Oracle:Object-Based Storage Devices
SNIA:OSD系统架构 英文
IBM:Linux 对象存储文件系统的研究

什么是对象存储?OSD架构及原理相关推荐

  1. 如何从零起步搭建一个分布式对象存储的架构

    早在几年前,云存储还只是存在于业界大佬们口中的一个概念,其应用场景仅供大公司使用.突飞猛进的网络技术似乎在一瞬间就把这个概念普及到千家万户,现在云存储已经是大家司空见惯的一个网络服务了.比如大家用的百 ...

  2. access 图片存储的格式_Ceph对象存储RGW架构及安装实战

    Ceph RGW架构简介 我们知道Ceph可以提供块.文件和对象三种形态的存储.而RGW就是提供对象存储的网关,也即对象存储网关.所谓对象存储网关,也就是对象存储的入口,本质上是一个HTTP服务器,与 ...

  3. 对象存储产生背景、发展历史、原理架构、优缺点、应用场景及开源项目对比

    1 对象存储的背景 在较长时间中,DAS.SAN.NAS三种存储架构被广泛使用 DAS和SAN是基于物理块的存储方式(块存储),NAS是基于文件的存储方式 随着数据量爆炸增长,非结构化数据的占比显著增 ...

  4. 对象存储与块存储、文件存储等对比

    看到 一篇文档, 讲 对象存储, 好奇,搜索文章,摘抄,学习记录 ! 背景: 传统存储在面对海量非结构化数据时,在存储.分享与容灾上面临很大的挑战,主要表现在以下几个方面:传统存储并非为非结构化内容设 ...

  5. 对象存储,为什么那么火?

    作者|小枣君 来源|鲜枣课堂 引言 上期文章(链接:关于存储技术的最强入门科普),小枣君给大家详细介绍了数据存储技术的基本知识,其中重点对DAS.SAN和NAS技术进行了对比分析. 我们知道,在很长的 ...

  6. 块存储、文件存储、对象存储三者有什么区别,有什么关系?

    一.块存储.文件存储.对象存储,三者的本质差别是什么? 1.块存储 典型设备:磁盘阵列,硬盘 块存储主要是将裸磁盘空间整个映射给主机使用的,就是说例如磁盘阵列里面有5块硬盘(为方便说明,假设每个硬盘1 ...

  7. 复杂存储过程学习_对象存储在无人驾驶高精度地图的场景实践

    在自动驾驶领域有这样一个说法:关注自动驾驶的进展,就看高精地图的动态,因为他们才是加速自动驾驶汽车落地的幕后推手.本文介绍了QingStor®️对象存储的种种优势以及许多针对该场景的特性,分享了对象存 ...

  8. 对象存储只能按文件名搜索,你out了吧

    摘要:不少大公司的一个桶里都是几亿几十亿的对象,那他们都是怎么检索的呢? 本文分享自华为云社区<对象存储只能按文件名搜索? 用 DWR + ElasticSearch 实现文件名.文件内容.图片 ...

  9. 对象存储、文件存储、块存储区别介绍

    简单总结: 1. 块存储 设备一般是磁盘.暴露直接访问SCSI和网络访问FC等标准协议.支撑直接的磁盘操作,适合场景一遍是对读写有非常高的性能要求,如数据库 2. 文件存储 以文件和文件夹方式.通过I ...

  10. 对象存储3:对象存储的原理、构造和详解

    前两篇介绍了对象存储的基础,包括存储类型,常用存储分类和分类方法. SCSI,TCP/IP,FC等存储介质以及DAS\NAS\SAN等存储网络,请参考:对象存储1:传统存储类型和分类. 文件存储,块存 ...

最新文章

  1. Maya创建科幻3D动画循环场景视频教程
  2. Matlab与线性代数 -- 矩阵的水平连接和垂直连接
  3. mac14.5 mojave安装错误
  4. Dubbo下载-从missing artifactId说起
  5. 2021-03-31 Matlab simulink 模糊PID在无刷直流电机中的应用
  6. python 文件操作 os.listdir() 遍历文件
  7. Stackoverflow 年度报告 2020:开发者最喜爱的数据库是什么?
  8. 论文笔记--基于 FCM 聚类的跨模态人物图像标注方法-2015
  9. Kubernetes 搭建 Kafka 和 Zookeeper 集群(完整教程)
  10. listview数据下载后不更新
  11. ORACLE账号注册之后,要修改密码才能用
  12. 从ISO 文件制作U盘启动盘.
  13. Eclipse Paho MQTT客户端Java源码分析
  14. 麦克风阵列语音增强(二)
  15. GC overhead limit exceeded 的解决方案与详情分析
  16. Node.js项目总结及常用技巧
  17. ZZULIOJ: 1187: 棒棒糖(结构体专题)
  18. ROS移植机器人小车:问题集(2)
  19. 不要被假相迷惑-有意思的声卡驱动
  20. 思考题:存储了100亿个非法网页的url地址。每个URL地址的大小占用64B。要求实现一个网页过滤系统,内存使用不能超过30GB,此外,允许有一定的误判率,但是不能超过万分之一

热门文章

  1. 10个免费商用的图片网站分享
  2. Python-初应用:乌龟吃鱼(菜菜狂踩雷现场、典型低级错误)
  3. 推荐个不错的 Word 全文翻译和压缩工具!
  4. db2 最大分区数_DB2分区数据库浅析
  5. 计算机游戏软件视频,电脑录制游戏视频软件哪个好,电脑游戏录制软件排行
  6. 9 Creating a Chain of Effects
  7. 这些年,我身边的那些人和事
  8. Java网络爬虫(七)--实现定时爬取与IP代理池
  9. uniapp地图计算两点角度,旋转图标(轨迹回放)
  10. 三维激光雷达点云处理发展趋势