【技术干货】三种存储类型比较-文件、块、对象存储

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


首先,我们介绍这两种传统的存储类型。通常来讲,所有磁盘阵列都是基于Block块的模式(DAS),而所有的NAS产品都是文件级存储。


 一、块存储 

以下列出的两种存储方式都是块存储类型:

1.DAS(Direct Attach STorage):是直接连接于主机服务器的一种储存方式,每一台主机服务器有独立的储存设备,每台主机服务器的储存设备无法互通,需要跨主机存取资料时,必须经过相对复杂的设定。


2.SAN(Storage Area Network):是一种用高速(光纤)网络联接专业主机服务器的一种储存方式,此系统会位于主机群的后端,它使用高速I/O 联结方式, 如 SCSI, ESCON 及 Fibre- Channels。


 二、文件存储 

通常,NAS产品都是文件级存储。NAS(Network Attached Storage):是一套网络储存设备,通常是直接连在网络上并提供资料存取服务,一套 NAS 储存设备就如同一个提供数据文件服务的系统,特点是性价比高。例如教育、政府、企业等数据存储应用。


下面,我们对DAS、NAS、SAN三种技术进行比较和分析:

表格 1 三种技术的比较



 三、对象存储 

总体上来讲,对象存储同兼具SAN高速直接访问磁盘特点及NAS的分布式共享特点(扩展性)


核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(Object-based Storage Device,OSD)构建存储系统。每个对象存储设备具有一定的智能,能够自动管理其上的数据分布。



对象存储架构

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


3.1、对象

对象是系统中数据存储的基本单位,一个对象实际上就是文件的数据和一组属性信息(Meta Data)的组合,这些属性信息可以定义基于文件的RAID参数、数据分布和服务质量等,而传统的存储系统中用文件或块作为基本的存储单位,在块存储系统中还需要始终追踪系统中每个块的属性,对象通过与存储系统通信维护自己的属性。


在存储设备中,所有对象都有一个对象标识,通过对象标识OSD命令访问该对象。通常有多种类型的对象,存储设备上的根对象标识存储设备和该设备的各种属性,组对象是存储设备上共享资源管理策略的对象集合等。


3.2、对象存储设备

对象存储设备具有一定的智能,它有自己的CPU、内存、网络和磁盘系统,OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。OSD的主要功能包括数据存储和安全访问。目前国际上通常采用刀片式结构实现对象存储设备。


OSD提供三个主要功能:
①数据存储。

②智能分布。

③每个对象元数据的管理。


而在传统的NAS系统中,这些元数据是由文件服务器维护的,对象存储架构将系统中主要的元数据管理工作由OSD来完成,降低了Client的开销。


传统模型 VS OSD模型


3.3、元数据服务器(Metadata Server,MDS)

MDS控制Client与OSD对象的交互,主要提供以下几个功能:

对象存储访问。

②文件和目录访问管理。

Client Cache一致性。

3.4、对象存储系统的客户端Client

为了有效支持Client支持访问OSD上的对象,需要在计算节点实现对象存储系统的Client。现有的应用对数据的访问大部分都是通过POSIX文件方式进行的,对象存储系统提供给用户的也是标准的POSIX文件访问接口。


接口具有和通用文件系统相同的访问方式,同时为了提高性能,也具有对数据的Cache功能和文件的条带功能。同时,文件系统必须维护不同客户端上Cache的一致性,保证文件系统的数据一致。文件系统读访问流程:


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

对象存储文件系统的关键技术

1、分布元数据 传统的存储结构元数据服务器通常提供两个主要功能。

2、并发数据访问 对象存储体系结构定义了一个新的、更加智能化的磁盘接口OSD。


OSD是与网络连接的设备,它自身包含存储介质,如磁盘或磁带,并具有足够的智能可以管理本地存储的数据。计算结点直接与OSD通信,访问它存储的数据,由于OSD具有智能,因此不需要文件服务器的介入。


如果将文件系统的数据分布在多个OSD上,则聚合I/O速率和数据吞吐率将线性增长,对绝大多数Linux集群应用来说,持续的I/O聚合带宽和吞吐率对较多数目的计算结点是非常重要的。


对象存储结构提供的性能是目前其它存储结构难以达到的,如ActiveScale对象存储文件系统的带宽可以达到10GB/s。


上面已经把云储存讲的很详细了,目前再众多的云服务器供应商里小编推荐新睿云,新睿云对象存储服务(Object Storage Service,简称 OSS),是新睿云提供的海量、安全、低成本、高可靠的云存储服务。


它具有与平台无关的Restful API接口,能够提供99.999999999%的服务持久性。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。OSS适合各种网站、开发企业及开发者使用。


您可以使用新睿云提供的API/SDK接口或者OSS迁移工具轻松地将海量数据移入或移出新睿云OSS


数据存储到新睿云OSS以后,您可以选择标准类型(Standard)的新睿云OSS服务作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问类型(Infrequent Access)和归档类型(Archive)的新睿云OSS服务作为不经常访问数据的备份和归档。


总体上讲,对象存储同时兼具SAN高级直接访问磁盘特点及NAS的分布式共享特点。


核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(OSD),构建存储系统,每个对象存储设备具备一定的职能,能够自动管理其上的数据分布。


所以OSD对外又相当于文件服务器,那么就不存在文件共享方面的困难了,也解决了文件共享方面的问题。


因此对象存储的出现,很好的结合了块存储与文件存储的优点。

猜你喜欢

转载自blog.csdn.net/bingbob/article/details/80311536