精华内容
下载资源
问答
  • 对象存储和专属对象存储
    千次阅读
    2021-11-26 23:16:20

    三种存储形态

    在这里插入图片描述

    三种存储形态和存储架构示意图

    1、块存储

      块存储我们简单的理解就是一块一块的硬盘,直接挂载在主机上,在主机上我们能够看到的就是一块块的硬盘以及硬盘分区。从存储架构的角度而言,块存储又分为DAS存储(Direct-Attached Storage,直连式存储)和SAN存储(Storage Area Network,存储区域网络)。

    2、文件存储

      文件存储,我们指的是在文件系统上的存储,也就是主机操作系统中的文件系统。我们知道,文件系统中有分区,有文件夹,子文件夹,形成一个自上而下的文件结构;文件系统下的文件,用户可以通过操作系统中的应用程序进行打开、修改等操作,如打开word、编辑word。从架构上来说,文件存储提供一种NAS(Network Attached Storage,网络附属存储)架构,使得主机的文件系统不仅限于本地的文件系统,还可以连接基于局域网的共享文件系统。

    3、对象存储

      对象存储是面向对象/文件的、海量的互联网存储,它也可以直接被称为“云存储”。对象尽管是文件,它是已被封装的文件(编程中的对象就有封装性的特点),也就是说,在对象存储系统里,你不能直接打开/修改文件,但可以像ftp一样上传文件,下载文件等。另外对象存储没有像文件系统那样有一个很多层级的文件结构,而是只有一个“桶”(bucket)的概念(也就是存储空间),“桶”里面全部都是对象,是一种非常扁平化的存储方式。其最大的特点就是它的对象名称就是一个域名地址,一旦对象被设置为“公开”,所有网民都可以访问到它;它的拥有者还可以通过REST API的方式访问其中的对象。因此,对象存储最主流的使用场景,就是存储网站、移动app等互联网/移动互联网应用的静态内容(视频、图片、文件、软件安装包等等)。

    对象存储

    对象存储需求

      随着互联网,Web应用创建出数百亿的小文件;人们上传海量的照片、视频、音乐,Facebook每天都新增数十亿条内容,人们每天发送数千亿封电子邮件。据IDC统计未来在10年间数据将增长44倍,到2020年全球数据将增加到35ZB,其中80%是非结构化数据,且大部分是非活跃数据。

      面对如此庞大的数据量,仅具备PB级扩展能力的块存储(SAN)和文件存储(NAS)显得有些无能为力:通常块存储(SAN)的一个LUN容量仅数TB。单个文件系统最优性能情况下支持的文件数量通常只在百万级别。人们需要一种全新的架构的存储系统,这种存储系统需要具备极高的可扩展性,能够满足人们对存储容量TB到EB规模的扩展的需求。

      2006年Amazon发布AWS, S3 服务及其使用的REST、SOAP访问接口成为对象存储的事实标准。Amazon S3成功为对象存储注入云服务基因。

    对象存储含义

      存储局域网(SAN)和网络附加存储(NAS)是目前两种主流网络存储架构,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。总体上来讲,对象存储(Object-Based Storage, OBS)综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的分布式数据共享等优势,提供了具有高性能、高可靠性、跨平台以及安全的数据共享的存储体系结构。
      对象存储核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(OSD)构建存储系统,每个对象存储设备具有一定的智能,能够自动管理其上的数据分布。

      对象存储是一种基于对象的存储设备,具备智能、自我管理能力,通过web服务协议(如:REST、SOAP)实现对象的读写和存储资源的访问。

      对象存储系统包含两种数据描述:容器(Bucket)、对象(Object)。容器和对象都有一个全局唯一的ID。对象存储采用扁平化结构管理所有数据,用户/应用通过接入码(AccessKey)认证后,只需要根据ID就可以访问容器/对象及相关的数据(Data)、元数据(metadata)和对象属性(Attribute)。

    对象存储与传统网络存储的区别

      对象存储在很多重要方面与SAN和NAS迥然不同,对存储管理员而言最显著的区别在于对象存储没有LUNs,卷以及RAID等要素。对象数据不是存储在固定的块,而是在大小可变的“容器”里。鉴于元数据(metadata)和数据本身可通过传统数据访问方法进行访问,对象存储允许数据被直接访问。此外,支持对象级和命令级的安全策略设置。


    扩展知识:NAS与SAN概述

    1、NAS(Network Attached Storage)

      NAS(Network Attached Storage:网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。
      它采用NFS或CIFS命令集访问数据,以文件为传输协议,通过TCP/IP实现网络化存储,可扩展性好、价格便宜、用户易管理,如目前在集群计算中应用较多的NFS文件系统,但由于NAS的协议开销高、带宽低、延迟大,不利于在高性能集群中应用。

    优点

      NAS产品是真正即插即用的产品。NAS设备一般支持多计算机平台,用户通过网络支持协议可进入相同的文档,因而NAS设备无需改造即可用于混合Unix/Windows NT局域网内。   
      NAS设备的物理位置同样是灵活的。它们可放置在工作组内,靠近数据中心的应用服务器,或者也可放在其他地点,通过物理链路与网络连接起来。无需应用服务器的干预,NAS设备允许用户在网络上存取数据,这样既可减小CPU的开销,也能显著改善网络的性能。

    局限

      NAS没有解决与文件服务器相关的一个关键性问题,即备份过程中的带宽消耗。与将备份数据流从LAN中转移出去的存储区域网(SAN)不同,NAS仍使用网络进行备份和恢复。NAS 的一个缺点是它将存储事务由并行SCSI连接转移到了网络上。这就是说LAN除了必须处理正常的最终用户传输流外,还必须处理包括备份操作的存储磁盘请求。
      由于存储数据通过普通数据网络传输,因此易受网络上其它流量的影响。当网络上有其它大数据流量时会严重影响系统性能;由于存储数据通过普通数据网络传输,因此容易产生数据泄漏等安全问题;
      存储只能以文件方式访问,而不能像普通文件系统一样直接访问物理数据块,因此会在某些情况下严重影响系统效率,比如大型数据库就不能使用NAS。

    2、SAN(Storage Area Network and SAN Protocols)

      存储区域网络(Storage Area Network and SAN Protocols,简写SAN,即存储区域网络及其协议)是一种高速网络或子网络,提供在计算机与存储系统之间的数据传输。存储设备是指一台或多台用以存储计算机数据的磁盘设备,通常指磁盘阵列。存储区域网络能够使用多种技术,这就使得系统间的数据备份、操作、文件转移和数据复制很容易实现重定向。

    优点

      SAN提供了一种与现有LAN连接的简易方法,并且通过同一物理通道支持广泛使用的SCSI和IP协议。SAN不受现今主流的、基于SCSI存储结构的布局限制。特别重要的是,随着存储容量的爆炸性增长,SAN允许企业独立地增加它们的存储容量。 SAN的结构允许任何服务器连接到任何存储阵列,这样不管数据置放在那里,服务器都可直接存取所需的数据。因为采用了光纤接口,SAN还具有更高的带宽。 因为SAN解决方案是从基本功能剥离出存储功能,所以运行备份操作就无需考虑它们对网络总体性能的影响。SAN方案也使得管理及集中控制实现简化,特别是对于全部存储设备都集群在一起的时候。最后一点,光纤接口提供了10公里的连接长度,这使得实现物理上分离的、不在机房的存储变得非常容易。

    局限

      成本和复杂性,特别是在光纤信道中这些缺陷尤其明显。使用光纤信道的情况下,合理的成本大约是1千兆或者两千兆大概需要五万到六万美金。从另一个角度来看,虽然新推出的基于iSCSI的SAN解决方案大约只需要两万到三万美金,但是其性能却无法和光纤信道相比较。在价格上的差别主要是由于iSCSI技术使用的是现在已经大量生产的吉比特以太网硬件,而光纤通道技术要求特定的价格昂贵的设备。

    对象存储的特性

      对象存储是一种基于对象的存储设备,具备智能、自我管理能力,通过web服务协议(如:REST、SOAP)实现对象的读写和存储资源的访问。

      对象存储系统包含两种数据描述:容器(Bucket)、对象(Object)。容器和对象都有一个全局唯一的ID。对象存储采用扁平化结构管理所有数据,用户/应用通过接入码(AccessKey)认证后,只需要根据ID就可以访问容器/对象及相关的数据(Data)、元数据(metadata)和对象属性(Attribute)。

    在这里插入图片描述

    对象存储数据组织示意图

      对象存储对外提供更抽象的对象接口,而不是SCSI或文件接口。与SAN存储以逻辑扇区为单位的较细粒度的固定IO(512B~4KB)不同,对象存储IO粒度更有弹性,支持几个字节(B)到数万亿字节(TB)范围内的任意对象大小,使得业务可根据需要灵活的分割数据。

      对象存储以对象ID为基础,扁平化的管理所有对象和桶,根据对象ID便可直接访问数据,解决了NAS复杂的目录树结构在海量数据情况下的数据查找耗时长的问题,这使得对象存储具备极强的扩展性,能够轻松实现单一名字空间内支持百亿级文件的存储。

      在重复数据删除,绿色节能等特性基础上,为了更好的满足海量数据存储和公众云服务需求,对象存储系统还包括如下一些关键特性:

    1、优秀的扩展性

      扁平化的数据结构允许对象存储容量从TB级扩展到EB级,管理数十个到百亿个存储对象,支持从数字节(Byte)到数万亿字节(TB)范围内的任意大小对象,解决了文件系统复杂的iNode的机制带来的扩展性瓶颈,并使得对象存储无需像SAN存储那样管理数量庞大的逻辑单元号(LUN)。对象存储系统通常在一个横向扩展(或网格硬件)架构上构建一个全局的命名空间,这使得对象存储非常适用在云计算环境中使用。某些对象存储系统还可支持升级、扩容过程中业务零中断。

    2、基于策略的自动化管理

      由于云环境中的数据往往是动态、快速增长的,所以基于策略的自动化将变得非常重要。对象存储支持从应用角度基于业务需求设置对象/容器的属性(元数据)策略,如数据保护级别,保留期限,合规状况,远程复制的份数等。这使得对象存储具备云的自服务特征同时,有效的降低运维管理的成本,使得客户在存储容量从TB增长到ZB时,运维管理成本不会随之飙升。

    3、多租户技术

      多租户特性可以使用同一种架构,同一套系统为不同用户和应用提供存储服务,并分别为这些用户和应用设置数据保护、数据存储策略,并确保这些数据之间相互隔离。

    扩展知识:多租户技术介绍

    多租户架构浅析

      多租户技术(英语:multi-tenancy technology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。

      云计算可以划分为以下几个层次的服务——IaaS、PaaS和SaaS,而今天我们今天讲的多租户架构就是一种常见的 SaaS 软件架构模式。多租户技术是实现如何在多用户环境下(此处的多用户一般是面向企业用户)共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。 简单讲:在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。从定义中我们可以理解:多租户是一种架构,目的是为了让多用户环境下使用同一套程序,且保证用户间数据隔离。那么重点就很浅显易懂了,多租户的重点就是同一套程序下实现多用户数据的隔离。

    对象存储结构

    Alt

    对象存储结构

      对象存储结构由 对象、对象存储设备、元数据服务器、对象存储系统的客户端 四部分组成。

    1、对象(Object)

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

    在这里插入图片描述

    传统块存储和对象存储示意图

    在这里插入图片描述

    对象存储中对象(Object)的组成

    2、对象存储设备

      每个OSD都是一个智能设备,具有自己的存储介质、处理器、内存以及网络系统等,负责管理本地的Object,是对象存储系统的核心。OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。OSD的主要功能包括数据存储和安全访问。目前国际上通常采用刀片式结构实现对象存储设备。OSD提供三个主要功能:

    1. 数据存储。OSD管理对象数据,并将它们放置在标准的磁盘系统上,OSD不提供块接口访问方式,Client请求数据时用对象ID、偏移进行数据读写。
    2. 智能分布。OSD用其自身的CPU和内存优化数据分布,并支持数据的预取。由于OSD可以智能地支持对象的预取,从而可以优化磁盘的性能。
    3. 每个对象元数据的管理。OSD管理存储在其上对象的元数据,该元数据与传统的inode元数据相似,通常包括对象的数据块和对象的长度。而在传统的NAS系统中,这些元数据是由文件服务器维护的,对象存储架构将系统中主要的元数据管理工作由OSD来完成,降低了Client的开销。

    在这里插入图片描述

    传统模型与OSD模型示意

    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刷新Cache,从而防止Cache不一致引发的问题。

    4、对象存储系统的客户端(Client)

      为了有效支持Client支持访问OSD上的对象,需要在计算节点实现对象存储系统的Client。现有的应用对数据的访问大部分都是通过POSIX文件方式进行的,对象存储系统提供给用户的也是标准的POSIX文件访问接口。接口具有和通用文件系统相同的访问方式,同时为了提高性能,也具有对数据的Cache功能和文件的条带功能。同时,文件系统必须维护不同客户端上Cache的一致性,保证文件系统的数据一致。文件系统读访问流程:

    • 1)客户端应用发出读请求;
    • 2)文件系统向元数据服务器发送请求,获取要读取的数据所在的OSD;
    • 3)然后直接向每个OSD发送数据读取请求;
    • 4)OSD得到请求以后,判断要读取的Object,并根据此Object要求的认证方式,对客户端进行认证,如果此客户端得到授权,则将Object的数据返回给客户端;
    • 5)文件系统收到OSD返回的数据以后,读操作完成。

    对象存储应用场景

      通常,无论是虚拟主机还是独立云主机,作为个人网站都会把所有的图片都存储在空间里,这样有一下几个问题:

    1. 随着网站的运行,图片越来越多,会导致主机的空间使用越来越多;
    2. 图片的增多会导致网站页面打开速度越来越慢,因为越来越多的图片需要从服务器上下载到本地浏览器的缓存目录,这样需要越来越多的宽带,而虚拟主机或云主机通常的宽带都是限定的;
    3. 网站迁移的成本越来越大。

      如果使用了云存储,这样可以把图片存储在第三方,所有的图片都不会再消耗虚拟主机的宽带资源和磁盘资源,保证网站访问速度不受影响,迁移网站只需要迁移数据库和基本程序文件即可,基本上几十M就可以打包所有的文件,所以云存储的好处显而易见。

    • 应用场景一:

      如果您的网站有大量的图片,如果都存储在本地,需要大量的磁盘空间,虽然现在磁盘空间的价格已经很低,但是用户访问却需要大量的宽带,超过10G的图片,主机宽带10M是不够的,而10M的云主机每年的价格8000左右,随着年限的增长,云主机需要的硬件和宽带需求会越来越多,那么网站基本成本支出也会越来越搞,如果把所有的图片都存储在云存储里,每年主机成本可以降低2/3,甚至更多。

    • 应用场景二:

      视频存储的问题,可以选择把视频存储在专门的视频网站,比如优酷,腾讯视频,爱奇艺等,但是这样的问题是,所有的视频都会被视频网站加上播放前的贴片广告,这样其实非常不友好,给客户看的视频,还要先看几十秒甚至2分钟广告,这有点尴尬了,但是如果放网站上,会出现磁盘和宽带不足的情况,如果上传到云存储上,设置好伪静态和防止BT软件下载,这样就非常好了。

    • 应用场景三:
        电商、互联网金融、在线教育等行业的Web和移动应用,架构里有数据库、应用服务器、负载均衡的应用,另外还需要存储比如商品图片,互联网金融行业的用户证件照,在线交易视频等文件等,需要存储,此前的做法是搭建文件服务器,文件服务器的扩展性、并发性都有问题,这时候就需要用到对象存储。

    • 应用场景四:
        企业网盘,其后端就是对象存储。企业遍布各地的各个部门文档都在用企业网盘,分享和管理文件,企业网盘可以非常容易地分享给特定的个人,群组或部门。企业网盘是单独的市场,与个人网盘有很大区别,企业对访问权限认证的管理更细致,数据管理要求更高。

    还有很多的应用场景,此处不一一列举。

    • 文章是个人知识点整理总结,如有错误和不足之处欢迎指正。
    • 如有疑问、或希望与笔者探讨技术问题(包括但不限于本章内容),欢迎添加笔者微信(o815441)。请备注“探讨技术问题”。欢迎交流、一起进步。

    http://www.chinastor.com/a/jishu/OSD.html
    https://blog.csdn.net/liuaigui/article/details/17973039
    https://www.wopus.org/tools/4868.html
    http://storage.chinabyte.com/145/12496645.shtml

    业务搭载离不了云服务器,选择合适的平台最重要!

    从目前国内云计算市场的格局来看,国内云计算前三强分别是阿里云、腾讯云和华为云,阿里云、腾讯云作为背靠互联网平台的企业,更偏向于B端用户;华为与作为传统的通信巨头,更偏向于G端。

    本人从事云计算相关工作至今已有多年,国内主流的云平台都接触过,包括他们的销售及技术团队,对各家的产品也小有了解,并且指导过数百家企业迁移上云,对云平台选择也有一定的发言权!

    网上有很多评测,评测数据也五花八门,说谁好的都有,这个两篇博文分析汇总的非常详细,分享给大家,文档地址:

    如果是高并发,高IO业务场景,需要确定服务器规格,可让业务应用性能发挥到最佳,参考官方文档:

    阿里云服务器规格:规格实例族 - 云服务器 ECS

    腾讯云服务器规格:规格实例族 - 云服务器CVM

    更多相关内容
  • 什么是专属对象存储

    2022-05-09 11:04:47
    说到华为的大数据,就不得不说一下华为云大数据的专属对象存储,接下来我来为大家介绍一下,什么是专属于云,什么是专属对象存储。 专属云 专属云(Dedicated Cloud)是面向企业、政府、金融等客户,提供计算、存储...

    说到华为的大数据,就不得不说一下华为云大数据的专属对象存储,接下来我来为大家介绍一下,什么是专属于云,什么是专属对象存储。

    专属云

    专属云(Dedicated Cloud)是面向企业、政府、金融等客户,提供计算、存储资源池以及网络、管控多级隔离的综合解决方案。租户独享专属资源池,与公共租户资源物理隔离,满足特定性能、应用及安全合规等要求,为客户提供可靠、便捷的云上“头等舱”。

    专属对象存储

    专属对象存储是专属云资源下的对象存储服务。对象存储服务可以申请独享的专属物理主机资源,从而满足您对隔离性、安全性、性能的更高要求。

    file

    购买专属对象存储

    专属云的申请和开通是线下进行的,开通专属云后才能购买专属对象存储,购买方法请参见如何购买专属对象存储

    对象存储与专属对象存储的收费不同,具体请参见产品价格详情

    功能限制:暂不支持并行文件系统、暂不支持多AZ、暂不支持归档数据直读、暂不支持桶配额、暂不支持碎片管理、暂不支持企业项目。

    #那么什么是对象存储服务呢?

    [对象存储服务](Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力。

    OBS系统和单个桶都没有总数据容量和对象/文件数量的限制,为用户提供了超大存储容量的能力,适合存放任意类型的文件,适合普通用户、网站、企业和开发者使用。OBS是一项面向Internet访问的服务,提供了基于HTTP/HTTPS协议的Web服务接口,用户可以随时随地连接到Internet的电脑上,通过OBS管理控制台或各种OBS工具访问和管理存储在OBS中的数据。此外,OBS支持SDK和OBS API接口,可使用户方便管理自己存储在OBS上的数据,以及开发多种类型的上层业务应用。

    华为云在全球多区域部署了OBS基础设施,具备高度的可扩展性和可靠性,用户可根据自身需要指定区域使用OBS,由此获得更快的访问速度和实惠的服务价格。

    file

    那么接下来我们给大家介绍一下OBS的存储类别。

    存储类别

    OBS提供了四种存储类别:标准存储、低频访问存储、归档存储、深度归档存储(受限公测中),从而满足客户业务对存储性能、成本的不同诉求。

    1.标准存储访问时延低和吞吐量高,因而适用于有大量热点文件(平均一个月多次)或小文件(小于1MB),且需要频繁访问数据的业务场景,例如:大数据、移动应用、热点视频、社交图片等场景。

    2.低频访问存储适用于不频繁访问(平均一年少于12次)但在需要时也要求快速访问数据的业务场景,例如:文件同步/共享、企业备份等场景。与标准存储相比,低频访问存储有相同的数据持久性、吞吐量以及访问时延,且成本较低,但是可用性略低于标准存储。

    3.归档存储适用于很少访问(平均一年访问一次)数据的业务场景,例如:数据归档、长期备份等场景。归档存储安全、持久且成本极低,可以用来替代磁带库。为了保持成本低廉,数据取回时间可能长达数分钟到数小时不等。

    4.深度归档存储(受限公测)适用于长期不访问(平均几年访问一次)数据的业务场景,其成本相比归档存储更低,但相应的数据取回时间将更长,一般为数小时。

    上传对象时,对象的存储类别默认继承桶的存储类别。您也可以重新指定对象的存储类别。

    修改桶的存储类别,桶内已有对象的存储类别不会修改,新上传对象时的默认对象存储类别随之修改。

    file

    file

    file

    如何访问对象存储服务

    对象存储服务提供了多种资源管理工具,您可以选择表2中的任意一种方式访问并管理对象存储服务上的资源。

    file

    file

    file

    本文由博客群发一文多发等运营工具平台 OpenWrite 发布

    展开全文
  • 专业的数据库存储解决方案,线程安全,高性能的模型对象存储Sqlite开源库,实现一行代码的数据库操作,简单的数据库存储 专业的数据库存储解决方案,线程安全,高性能模型对象存储Sqlite开源库,真正实现一行代码...
  • 三种存储类型比较-文件、块、对象存储

    万次阅读 多人点赞 2016-07-26 09:09:28
    存储和文件存储是我们比较熟悉的两种主流的存储类型,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。  首先...
         块存储和文件存储是我们比较熟悉的两种主流的存储类型,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。
         首先,我们介绍这两种传统的存储类型。通常来讲,所有磁盘阵列都是基于Block块的模式(DAS),而所有的NAS产品都是文件级存储

    1、块存储       
            以下列出的两种存储方式都是块存储类型:
            1) DAS(Direct Attach STorage):是直接连接于主机服务器的一种储存方式,每一台主机服务器有独立的储存设备,每台主机服务器的储存设备无法互通,需要跨主机存取资料时,必须经过相对复杂的设定,若主机服务器分属不同的操作系统,要存取彼此的资料,更是复杂,有些系统甚至不能存取。通常用在单一网络环境下且数据交换量不大,性能要求不高的环境下,可以说是一种应用较为早的技术实现。
            2)SAN(Storage Area Network):是一种用高速(光纤)网络联接专业主机服务器的一种储存方式,此系统会位于主机群的后端,它使用高速I/O 联结方式, 如 SCSI, ESCON 及 Fibre- Channels。一般而言,SAN应用在对网络速度要求高、对数据的可靠性和安全性要求高、对数据共享的性能要求高的应用环境中,特点是代价高,性能好。例如电信、银行的大数据量关键应用。它采用SCSI 块I/O的命令集,通过在磁盘或FC(Fiber Channel)级的数据访问提供高性能的随机I/O和数据吞吐率,它具有高带宽、低延迟的优势,在高性能计算中占有一席之地,但是由于SAN系统的价格较高,且可扩展性较差 ,已不能满足成千上万个CPU规模的系统。

    2、文件存储
            通常,NAS产品都是文件级存储。  NAS(Network Attached Storage):是一套网络储存设备,通常是直接连在网络上并提供资料存取服务,一套 NAS 储存设备就如同一个提供数据文件服务的系统,特点是性价比高。例如教育、政府、企业等数据存储应用。
           它采用NFS或CIFS命令集访问数据,以文件为传输协议,通过TCP/IP实现网络化存储,可扩展性好、价格便宜、用户易管理,如目前在集群计算中应用较多的NFS文件系统,但由于NAS的协议开销高、带宽低、延迟大,不利于在高性能集群中应用。
          下面,我们对DAS、NAS、SAN三种技术进行比较和分析:

    表格 1 三种技术的比较



            针对Linux集群对存储系统高性能和数据共享的需求,国际上已开始研究全新的存储架构和新型文件系统,希望能有效结合SAN和NAS系统的优点,支持直接访问磁盘以提高性能,通过共享的文件和元数据以简化管理,目前对象存储系统已成为Linux集群系统高性能存储系统的研究热点如Panasas公司的Object Base Storage Cluster System系统和Cluster File Systems公司的Lustre等。下面将详细介绍对象存储系统。

    3、对象存储
            总体上来讲,对象存储同兼具SAN高速直接访问磁盘特点及NAS的分布式共享特点(扩展性)
            核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(Object-based Storage Device,OSD)构建存储系统。每个对象存储设备具有一定的智能,能够自动管理其上的数据分布。

    对象存储架构

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

    传统块存储与对象存储



    对象的组成


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

    传统模型 VS OSD模型

            3.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不一致引发的问题。
            3.4、对象存储系统的客户端Client
               为了有效支持Client支持访问OSD上的对象,需要在计算节点实现对象存储系统的Client。现有的应用对数据的访问大部分都是通过POSIX文件方式进行的,对象存储系统提供给用户的也是标准的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。
     

     4、GlusterFS 和对象存储
           GlusterFS是目前做得最好的分布式存储系统之一,而且已经开始商业化运行。但是,目前GlusterFS3.2.5版本还不支持对象存储。如果要实现海量存储,那么GlusterFS需要用对象存储。值得高兴的是,GlusterFS最近宣布要支持对象存储。它使用openstack的对象存储系统swift的上层PUT、GET等接口,支持对象存储。

        20世纪电子与信息技术迅速发展,机器计算迅速普及,冯·诺依曼在1945年6月30日,提出了存储程序逻辑架构,即现有的计算机都遵循的“冯·诺依曼体系架构”,具体如下图:

      我们可以看出,冯诺依曼体系结构与人脑(生物)计算模型匹配度相当准确。我们通常把运算器和控制器合并成中央 处理器(CPU),内部小容量的存储提供快速的访问,外部存储器提供大容量的存储空间。在不同的计算机时代,我们可以按照不同的角度来理解冯诺依曼体系结构。在单机计算时代(包括 大型机小型机、微机)内部存储器可理解为内存(即Memory),外部存储器可理解为物理硬盘(包括本地硬盘和通过网络映射的逻辑卷)。 在本地硬盘空间不足,可靠性无法满足业务需求的情况下,SAN存储出现了,通过网络映射的逻辑卷(即SAN存储提供的LUN)成为增强版的硬盘。为了解决数据共享的问题,NAS存储随之诞生。
          但冯诺依曼体系架构没有考虑并行计算和数据共享情形,在如今的网络时代,大量计算设备通过网络形成一个庞大、相互独立但又逻辑统一的计算系统,因此我们可以总结出一个数据存储的通用模型,这个模型包括两级存储,其存储容量差距约1000倍:

      如果将上图中每一个计算模块理解为一个计算内核,那么高速存储单元则是CPU内的缓存(单位为KB~MB),海量存储单元则是内存(单位为GB);如果把每一个计算模块理解为一个CPU,那么高速存储单元则是内存(单位为GB~TB),海量存储是物理硬盘或通过网络映射给服务器的逻辑卷(或网络文件系统,单位为TB~PB);如果把计算模块理解为针对某一项任务或某一组任务提供计算能力的服务器集群,把SAN或NAS等拥有TB~PB级存储规模的网络存储设备理解为高速存储单元,那么具备PB~EB级存储容量的海量存储单元将基于什么技术和产品构建呢?

      SAN和NAS技术已经出现了数十年,目前单台SAN或NAS设备最大容量已经达到PB级别,但在应对EB级数据挑战时,还是显得有些力不从心。这主要由于其架构和服务接口决定的。
            SAN使用SCSI协议作为底层协议,SCSI协议管理的粒度非常小,通常以字节(byte)或千字节(KB)为单位;同时SCSI协议没有提供读写锁机制以确保不同应用并发读写时的数据一致性,因此难以实现EB级存储资源管理和多个服务器/服务器集群之间数据共享。
            NAS使用文件协议访问数据,通过文件协议存储设备能够准确识别数据内容,并提供了非常丰富的文件访问接口,包括复杂的目录/文件的读写锁。文件和目录采用树形结构管理,每个节点使用一种叫做inode的结构进行管理,每一个目录和文件都对应一个iNode。目录深度或同一目录下的子节点数随着整体文件数量的增加而快速增加,通常文件数量超过亿级时,文件系统复杂的锁机制及频繁的元数据访问将极大降低系统的整体性能。
         传统的 RAID技术和Scale-up架构也阻止了传统的SAN和NAS成为EB级高可用,高性能的海量存储单元。传统的RAID基于硬盘,通常一个RAID组最多包含20+块硬盘,即使PB级规模的SAN或NAS也将被分割成多个存储孤岛,增加了EB级规模应用场景下的管理复杂度;同时Scale-up架构决定了即使SAN和NAS存储容量达到EB级,性能也将成为木桶的短板。
         那么如何才能应对信息爆炸时代的数据洪流呢? 我们设想能否有一种“超级数据图书馆”,它提供海量的、可共享的存储空间给很多用户(服务器/服务器集群)使用,提供超大的存储容量,其存储容量规模千倍于当前的高速存储单元(SAN和NAS),用户或应用访问数据时无需知道图书馆对这些书如何摆放和管理(布局管理),只需要提供唯一编号(ID)就可以获取到这本书的内容(数据)。如果某一本书变得老旧残破,系统自动地将即将失效或已经失效的书页( 存储介质)上的数据抄写(恢复/重构)到新的纸张(存储介质)上,并重新装订这本书,数据使用者无需关注这一过程,只是根据需要去获取数据资源。这种“超级数据图书馆”是否真的存在呢?
      分布式对象存储的诞生
         对象存储技术的出现和大量自动化管理技术的产生,使得“超级数据图书馆”不再是人类遥不可及的梦想。对象存储系统(Object-Based Storage System)改进了SAN和NAS存储的劣势,保留了NAS的数据共享等优势,通过高级的抽象接口替代了SCSI存储块和文件访问接口(不同地区的用户访问不同的POSIX文件系统,不仅浪费时间,而且让运维管理变的更复杂。相对而言,分布式存储系统的优势明显。在分布式存储系统上做应用开发更便利,易维护和扩容,自动负载平衡。以 RESTful HTTP接口代替了POSIX接口和 QEMU Driver 接口 ),屏蔽了存储底层的实现细节,将NAS垂直的树形结构改变成平等的扁平结构,从而提高了扩展性、增强了可靠性、具备了平台无关性等重要存储特性。(Erasure Code: 是将文件转换成一个碎片集合,每一个碎片很小,碎片被打散分布到一组服务器资源池里。只要存留的碎片数量足够,就可以合成为原本的文件。这可以在保持原本的数据健壮性的基础上大大减少需要的存储空间。 不过Erasure Code并非适应所有的场景,尤其不适合网络延迟敏感的业务( 不过Erasure Code并非适应所有的场景,尤其不适合网络延迟敏感的业务))
      SNIA(网络存储工业协会)定义的对象存储设备是这样的:
    Ø 对象是自完备的,包含元数据、数据和属性
          n 存储设备可以自行决定对象的具体存储位置和数据的分布
         n 存储设备可以对不同的对象提供不同的QoS
    Ø 对象存储设备相对于块设备有更高的“智能”,上层通过对象ID来访问对象,而无需了解对象的具体空间分布情况
          换句话说对象存储是智能化、封装得更好的块,是“文件”或其他应用级逻辑结构的组成部分,文件与对象的对应关系由上层直接控制,对象存储设备本身也可能是个分布式的系统——这就是分布式对象存储系统了。
      用对象替代传统的块的好处在于对象的内容本身来自应用,其具有内在的联系,具有“原子性”,因此可以做到:
    Ø 在存储层进行更智能的空间管理
    Ø 内容相关的数据预取和缓存
    Ø 可靠的多用户共享访问
    Ø 对象级别的安全性
         同时,对象存储架构还具有更好的可伸缩性。一个对象除了ID和用户数据外,还包含了属主、时间、大小、位置等源数据信息,权限等预定义属性,乃至很多自定义属性
         具备EB级规模扩展性的分布式对象存储,通过对应用提供统一的命名空间,构建EB级统一、可共享数据的存储资源池,有效地填补上述通用计算模型中“网络计算”场景海量存储单元空白,通过高层次的数据模型抽象,可以简化应用对数据访问,同时使得海量存储更加智能。
        对象是数据和自描述信息的集合,是在磁盘上存储的基本单元。对象存储通过简化数据的组织形式(如将树形的“目录”和“文件”替换为扁平化的“ID”与“对象”)、降低协议与接口的复杂度(如简化复杂的锁机制,确保最终一致性),从而提高系统的扩展性以应对信息爆炸时代海量数据的挑战。同时对象的智能自管理功能也能有效降低系统维护复杂度,帮助用户降低整体拥有成本(TCO)。
    展开全文
  • 计算机存储的发展(块存储,文件存储,对象存储

    万次阅读 多人点赞 2018-09-15 15:04:08
    存储和文件存储异同: 对象存储 1、对象 2、对象存储设备 3、元数据服务器(Metadata Server,MDS) 4、对象存储系统的客户端Client 三者之间异同比较 参考文献 如果要实现一个计算机,那么这个计算机一定...

    如果要实现一个计算机,那么这个计算机一定要有以下的三个部分构成:计算、存储和网络。计算一般指的是CPU和内存的搭配,存储一般就是指硬盘了,网络指的是网卡的管理和配置。

    本篇文章,主要讲解有关块存储、文件存储、对象存储这三者之间的对比。每一种存储都有对应的实现方法。

    块存储

    块存储又有两种常见的形式,DAS和SAN。DAS即直接连接存储(Direct Attached Storage),SAN即存储区域网络(Storage Area Network)。

    DAS

    块存储是我们最常用的一种存储模式。比如个人PC上的硬盘,服务器上的硬盘,外置设备通过SCSI或者FC接口直接连接到电脑上的。

    这种存储方式有一种很大的缺陷,其存储性能瓶颈来自于自家PC电脑或者服务器的卡槽的多少。比如我们的笔记本一般只能装一个硬盘+SSD基本上已经没有位置再做扩展了。也就是DAS的性能瓶颈来自于主板的卡槽数量。很难做scale out扩展(即横向扩展)。

    这里写图片描述

    事实上,这种DAS存储模式,一般在中小型企业汇总应用十分广泛。它更依赖主机的操作系统来实现数据的IO读写、数据管理、数据备份等工作。

    但是这种存储模式也存在一定的缺点。比如可管理性差、弹性扩展能力弱,难以跟上IT发展趋势等问题。举例来讲,一台服务器/电脑只会配备固定容量的DAS存储,那么如果容量不够用,存储空间太小,就很难从内部着手实现弹性扩展(外部扩展容量也存在弊端),如果存储空间太大还会导致资源浪费,这一点在服务器领域尤为明显。

    补充知识点:SCSI接口是什么


    SCSI(Small Computer System Interface)小型计算机系统接口,一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。 SCSI是一种智能的通用接口标准。

    SCSI是一种计算机系统接口的标准

    SCSI是一种I/O技术

    SCSI规范了一种并行的I/O总线和相关的协议

    SCSI的数据传输方式是以块的方式进行的

    SAN

    对于用户来说,SAN好比是一块大磁盘,用户可以根据需要随意将SAN格式化成想要的文件系统来使用。SAN在网络中通过iSCSI(IPSAN)协议连接,属block及存储,但可扩展性较差。

    根据SAN的实现形式来看,其实是通过光交换机,将各块硬盘连接起来,然后通过ISCSI协议来传递数据。

    在我看来,其实是通过FC交换机解决了机器主板只有几个卡槽的问题,利用FC交换机,就仿佛实现了这样一种机制,即我们拥有一个无限卡槽的主板,上面都是接口,你可以通过这个接口插上你的硬盘。

    SAN是一个采用网状通道(简称FC)技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。

    我们可以从定义中看出,这是一个专用于企业级应用的存储方式。可以简单理解为一个在高度网络中,提供在计算机与存储系统之间的数据传输。
    这里写图片描述

    从理论上来讲,SAN支持数以百计的磁盘,提供了海量的存储空间,解决了大容量存储问题;从逻辑层面,这个海量空间可以按需要分成不同大小的LUN,再分配给服务器,也解决了只需要小容量存储的问题。

    可以说,SAN的出现,适应了信息化发展的大趋势,它将计算与存储分离,增强了存储扩张的弹性。毕竟如今联网设备越来越多,数据量越来越大,我们对存储需求也越来越强。SAN“拉帮结伙”的特性让存储弹性更大,更方便扩展容量。

    同时,介于独特的存储结构,SAN需要通过光纤交换机连接存储阵列和服务器,建立专用数据存储的网络。

    文件存储

    再说说文件集存储,典型代表–NAS。对于用户来说,NAS好比是一个共享文件夹,文件系统已经存在,用户可以直接将自己的数据存放在NAS上。NAS以文件为传输协议,开销很大,不利于在高性能集群中使用。

    NAS是一种通过网络达成存储目的的设备,NAS传输数据依靠的是TCP/IP网络协议栈,这是NAS存储于上文的DAS和SAN存储最大的不同之处。

    NAS是标准的文件级存储方法,采用网络技术(TCP/IP、ATM、FDDI),通过网络交换机连接存储系统和服务器主机来建立存储私网。其主要特征是把存储设备、网络接口和以太网技术集成在一起,直接通过以太网网络存取数据。能够快速实现部门级存储容量需求与文件传输需求。

    这里写图片描述

    实现文件存储的方式有很多,其中比较常用的有以下的几种,并且经常运用在企业运用中。ftp协议、nfs协议、samba协议等。

    比较下块存储和文件存储的异同,举个例子而言,有三块硬盘,使用光交换机连接之后,把光交换机和服务器进行直接连接,服务器就会单纯的以为自己是有一块儿这么大的硬盘的,要使用的话,需要对这块硬盘进行分区,格式化为某种文件系统,然后就可以使用了;同样是三块硬盘,我分别把这三块硬盘装在主机A,B,C上,分区、格式化为某种文件系统,比如格式化为XFS文件系统,然后我以共享文件夹的形式把主机A的/data目录使用NFS共享给B和C,这就是文件存储。

    块存储和文件存储异同:

    • 数据传输方式不同:块存储依靠SCSI或者ISCSI接口,以块方式交换数据,数据传输速度快;文件存储依靠TCP/IP协议栈进行数据传输,网络带宽是I/O的性能瓶颈。

    • 文件系统的位置:NAS和SAN最本质的区别就是文件管理系统在哪里,如图所示,SAN结构中,文件管理系统(FS)分别在每一个应用服务器上面,而NAS则是每个应用服务器通过网络共享协议,使用同一个文件管理系统。即NAS和SAN存储系统的区别就是NAS有自已的文件管理系统。

    • 使用方式不同:块存储设备使用的时候,还需要进一步进行分区,将设备格式为某种文件系统才可以继续使用;而文件存储就相当于你多了一个共享文件夹,文件存储带着自己本身的文件系统。

    对象存储

    总体上来讲,对象存储同兼具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命令访问该对象。通常有多种类型的对象,存储设备上的根对象标识存储设备和该设备的各种属性,组对象是存储设备上共享资源管理策略的对象集合等。

    这里写图片描述

    对象的层次理解:
    这里写图片描述

    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。

    三者之间异同比较

    存储类型数据传输方式适应场景优点
    块存储SCSI/ISCSI接口小型机房速度快
    文件存储NFS/FTP等局域网环境可扩展性高
    对象存储http协议互联网环境,异地存储速度快,且扩展性高,高可用

    对象存储相比块存储、文件存储的一个最本质的区别是无层次结构。我们都知道,一般的存储(比如你自己的PC的文件系统)是有一个目录树概念的,要找到一个文件需要先找到这个文件所属的目录。而对象存储是没有文件目录树这个概念的,所有的数据都在同一个层次中,仅仅通过数据的唯一地址标识来识别并查找数据。

    块存储: 是和主机打交道的, 如插一块硬盘
    文件存储: NAS, 网络存储, 用于多主机共享数据
    对象存储: 跟你自己开发的应用程序打交道, 如网盘

    参考文献

    NFS深入了解
    SI/iSCSI及SAS、NAS、SAN的基本介绍
    NAS网络存储与SAN、DAS的区别
    NFS工作原理
    什么是对象存储

    展开全文
  • Minio入门系列【7】对象存储 OSS概述

    千次阅读 2021-10-18 21:42:55
    对象存储 OSS 文档来源于阿里云对象存储 OSS,Minio也是对象存储 OSS,很多概念都是相通的,所以了解下。实际企业应用使用阿里OSS是一个很不错的选择。 对象存储服务(Object Storage Service,OSS)是一种海量、...
  • 首先,我们介绍这两种传统的存储类型。通常来讲,所有磁盘阵列都是基于Block块的模式(DAS),而所有的NAS产品都是文件级存储 1、块存储   以下列出的两种存储方式都是块存储类型:  1) DAS(Direct Attach ...
  • 对象存储服务(Object Storage Service,OBS) https://support.huaweicloud.com/obs/index.html...
  • 一、申请对象存储OSS 为了解决海量数据存储与弹性扩容,项目中我们采用云存储的解决方案- 阿里云OSS。 1、开通“对象存储OSS”服务 (1)申请阿里云账号 (2)实名认证 (3)开通“对象存储OSS”服务 (4)进入管理...
  • 本文将利用阿里云容器服务在几分钟内轻松搭建一个基于Docker的ownCloud专属网盘,并使用阿里云提供的OSS(Object Storage Service,对象存储服务)作为高可靠、低成本的云存储后端。 创建 OSS buck
  • 本文的副标题是:对象存储发展史 & “云大无人区”的时代,非结构化数据存储高耸出海面备注:1、云大无人区,其实就是云计算、大数据、物联网、人工智能、区块链的谐音...
  • Android 数据存储(一)-文件存储

    千次阅读 多人点赞 2022-01-18 16:11:05
    Android系统提供了提供了多种保存应用数据的选项:文件存储(应用程序专属文件存储、共享文件存储)、Preferences、数据库。
  • 存储相关理论知识

    千次阅读 2022-02-16 22:20:03
    存储相关理论知识 1. 云存储技术与传统存储技术 ​ 由于用户数量众多,存储系统需要存储的文件将呈指数级增长趋势,这就要求存储系统的容量扩展能够跟得上数据量的增长,做到无限扩容,同时在扩展过程中最好还要...
  • 存储和网盘有何区别

    千次阅读 2021-06-04 10:47:55
    云存储是云计算时代的产物,它与普通用户所...比起专属服务器,云存储具有弹性扩容等优点。而网盘可以理解为一种U盘,只不过这个U盘是虚拟的、在线的。用户可以使用这个网络U盘存储和下载资源。 二、云存储和网盘有四
  • 随着各行各业创新技术的诞生更加细致的监管要求,比如互联网+,4K、8K的高清视频,...二者也束手无策,这时候对象存储挺身而出,以胸纳百川的气概,以动辄上PB级的存储身姿,喊出了"Yes, I can"的新时代承担。...
  • 文章目录 一、动态权限申请 二、MediaStore 操作...manifest> 五、相关文档资料 Android 文件处理参考文档 : 数据文件存储概览 : https://developer.android.google.cn/training/data-storage 访问应用专属文件 : ...
  • RedHat Ceph存储——《面向生产环境的Ceph 对象网关指南》 Ceph开源社区 ...
  • 一、分区存储模式下使用 MediaStore 修改图片、 二、分区存储模式下使用 MediaStore 删除图片、 三、相关文档资料、
  • 文章目录Android 之 访问应用专属文件一、从内部存储空间访问1.1 访问持久性文件1.2 创建缓存文件二、从外部存储空间访问三、查询可用空间 Android 之 访问应用专属文件 参考网页 在很多情况下,您的应用会创建其他...
  • K8S-持久化存储及常用存储方案

    千次阅读 2021-10-28 11:28:03
    K8S-持久化存储及常用存储方案 1. 存储知识的回顾 1.1 块存储 传统的文件系统,是直接访问存储数据的硬件介质的。介质不关心也无法去关心这些数据的组织方式以及结构,因此用的是最简单粗暴的组织方式:所有数据按照...
  • ivms-4200云存储服务器

    2021-08-14 07:09:01
    ivms-4200云存储服务器 内容精选换一换云备份提供申请即用的备份服务,使您的数据更加安全可靠。例如,当云服务器或磁盘出现故障或者人为错误导致数据误删时,可以自助快速恢复数据。本节操作介绍备份云服务器云...
  • 云计算云存储的一些基本概念

    万次阅读 多人点赞 2018-04-12 20:10:04
    我们在学习云计算存储之前,需要先了解一些很常见的基本概念,否则在学习过程中和选型时会比较晕。 云计算的三种服务模式:IaaS,PaaSSaaS 云的分层 任何一个在互联网上提供其服务的公司都可以叫做云计算...
  • 存储服务器推荐

    2021-08-10 08:17:24
    存储服务器推荐 内容精选换一换云备份提供申请即用的备份服务,使您的数据更加安全可靠。例如,当云服务器或磁盘出现故障或者人为错误导致数据误删时,可以自助快速恢复数据。本节操作介绍备份云服务器云硬盘的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,745
精华内容 10,698
热门标签
关键字:

对象存储和专属对象存储