8.16学习笔记|青训营

43 阅读5分钟

对象存储

对象存储具备高性能、高可靠、安全、低成本等特性,通过标准的S3/Swift接口提供非结构化数据(图片、音视频、文本等格式文件)的存储服务,可满足用户在任何地方通过互联网对数据进行管理和访问的需求。

对象存储适用的场景

1.比如说在线视频点播类行业,对象存储可以结合媒体处理、CDN等云产品,可快速搭建一个安全、高可用的在线点播平台。而且对象存储的应用场景还有很多,理论上所有的非结构化数据,都能使用对象存储存储数据,比如智能视频监控,企业可通过使用对象存储产品,降低存储成本。

2.您可以将对象存储系统配置为复制内容,这样就可以在物理设备发生故障时使用复制的对象存储设备。这可确保您的系统和应用程序继续运行而不会中断。您还可以跨多个数据中心和地理区域复制数据。

3.面对视频、游戏等热点资源分发的业务场景,您可以使用对象存储作为源站,搭配CDN进行加速分发,方便您通过CDN节点就近访问资源,提升用户体验。

对象存储原理

对象存储中用来存储元数据的节点是控制节点,称为元数据服务器(服务器+对象存储管理软件),里面主要负责存储对象的属性(主要是对象的数据被打散存放到了那几台分布式服务器中的信息);负责存储数据的分布式服务器叫做OSD,主要负责存储文件的数据部分。当用户访问对象,会先访问元数据服务器,元数据服务器只负责反馈对象存储在哪些OSD,假设反馈文件A存储在B、C、D三台OSD,那么用户就会再次直接访问3台OSD服务器去读取数据。这时候由于是3台OSD同时对外传输数据,所以传输的速度就加快了。当OSD服务器数量越多,这种读写速度的提升就越大,通过此种方式,实现了读写快的目的。

对象存储的用法

  • Data Model:存储系统的数据组织模型
  • Posix File System Interface:Posix标准文件系统接口
  • Directory/File: 目录/文件
  • Resutful: 一种接口风格,通常基于HTTP实现
  • Get/Head/Put/Delete: Http Method
  • ListPrefix: 对象存储的Listprefix接口

对象存储架构

核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(Object-based Storage Device,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。

** 对象存储参考资料:**

1、Oracle:www.oracle.com/technetwork…

2、SNIA:vdisk.weibo.com/s/HPecIjmQJ…

今天所讲的对象存储系统相对陌生,第一次接触,听了后还是模糊的概念,从网上找了资料配对着学习有所收获,对于对象存储自己并没有很大基础,以为和平常的存储结构可能差不多,但了解后还是有所差距,通过学习资料还需好好学习。