基于对象存储文件系统研究综述

时间:2022-10-20 08:48:24

基于对象存储文件系统研究综述

摘要:网络数据信息爆炸性的增长,使网络存储技术变得越来越重要,已成为Internet及其相关行业进一步发展的关键。近年来,存储技术的发展日新月异,已经由后台走到了前台,从而引发了数字技术的第三次浪潮。本文结合网络存储研究现状,将介绍一些热点网络存储技术及其新进展。

关键词:网络存储;文件系统;MDS;对象存储;元数据服务器

中图分类号:TP393 文献标识码:A文章编号:1007-9599 (2010) 05-0000-03

Research on Object-Based Network Storage Overview

Fang Yuan, Du Zhuping,Hu Yongkui

(Institute of Information Engineering,PLA Information Engineering University,Zhengzhou450002,China)

Abstract:The explosive growth of information network data to network storage technology is becoming increasingly important,internet and related industries have become the key to further development.In recent years,the rapid development of storage technology has come to the foreground by the background which led to the third wave digital technology.Research In this paper, network storage,will introduce some hot new network storage technology and its progress.

Keywords:Network storage;File system;MDS;Object store;Meta-data server

随着信息社会的发展,越来越多的信息被数据化,尤其是伴随着Intenret的发展,由此产生的各种数据呈几何级数爆炸式增长,促使数据存储容量以每年3到5倍的速度急剧增加。社会的方方面面都离不开大量数据密集型的应用,如数字图书馆、数据仓库、数据挖掘、气象数据处理、医药视频图像数据处理、生命科学研究、多媒体点播、在线数据处理等等。这样如何构建一个高性能、高可伸缩、高可用、易管理、安全的存储系统成为目前存储领域所面临的一个不得不解决的重要课题。

一、传统存储技术

(一)直接存储技术

现有的服务器主要依靠自身所带的存储设备。这种形式的存储设备被称为直接连接存储(DirectA ttachedS torage,简称DAS),又叫附服务器存储(Server AtachedStorage,简称SAS) I'].DAS被定义为通过SCSI接口或者光纤通道直接连接在各种服务器或客户端扩展接口下的数据存储设备.它完全以服务器为中心,寄生在相应服务器或客户端上,其本身是硬件的堆叠,不带有任何存储操作系统。直接连接存储的特点是主机“拥有”存储设备。[1]

随着磁盘技术的进步和因特网用户的增加,网络中心的服务器和磁盘存储量在急速增长。随着这种趋势的形成,存储系统的管理,包括数据的复制、备份等等,不仅耗费大量的时间和金钱,同时,对于用户很难提供快速的访问。在大量用户时,这种情况尤其严重。我们从以下几个方面来说明其存在的问题。

1.扩展性差。直接存储扩充存储容量的方法就是给服务器增加硬盘,而且如果服务器上挂接太多的硬盘或外设,可能会影响服务器的性能。为了不降低整个网络的性能,只能在网络中再增加价格昂贵的服务器,但这给网络的管理和维护带来较多的困难。

2.数据共享的问题。为满足网络服务的可靠性、高性能和可扩展性,一个服务往往是由多个带有相同数据的服务器提供的,这些服务器所带的数据是完全一样的。这样,数据的增加、删除和修改就要重复多次,不仅浪费大量资源,而且难于管理。此外,在设计网络服务时必须考虑业务发展,磁盘空间和服务器I/O能力的预留是必要的,又带来对网络中心环境来说很严重的“Over Provisioning”问题.这个问题在IDC中非常严重,因为在一开始公司就必须承受很大经济负担和资金的积压。

3.传输效率低。传统上,数据是从磁盘读出并通过服务器传到用户端的。在服务器中,数据需要经过多层网络协议处理,造成传输速率很低,同时限制了系统的可扩展性。

4.可管理性差。数据管理(包括复制、备份等)是现存系统的一大难点。传统的备份系统必须同时支持许多不同操作系统和硬件的系统,通常需要第三方软件支持。备份过程麻烦,要依靠双服务器和相关软件实现双机容错功能。而且由于各系统平台文件系统不同,增容时需对各自系统分别增加数据存储设备及管理软件。

(二)网络存储技术

所谓网络存储系统是指同网络连接的一种数据存储单元,为网络内的计算机系统提供高效、快速、超大容量的文件存取。通过从常规的服务器中抽取那些担负信息存储或共享功能的硬件和软件,提高这些硬件和软件的专门性,从而减少它们工作时的复杂性,从而进一步扩展及优化文件服务的功能。

网络存储(NetworkS torage)在国外一直是一个研究热点,网络附属存储(Network Atched Storage,简称NAS)和存储局域网(Storage Area Network,简称SAN)是较早出现的两种网络存储方法,且它们针对不同应用各有优缺点。

1.网络附属存储NASNAS系统是直接挂在网上的专用文件服务器,具备快速、简单、可靠的性能。NAS通常在一个LAN上占有自己的节点,处理网络上的所有共享数据,将负载从应用或企业服务器上卸载下来。一个NAS里面包括核心处理器,文件服务管理1具,一个或者多个的存储器件(例如磁盘阵列、CD/DVD驱动器、磁带驱动器或可移动的存储介质)用数据的存储,可实现涉及文件存取及管理的所有功能。

NAS的特点是:

(1)安装、使用、管理都非常简便。在无需中断网络运作的状态下,将NAS网络存储系统通过RJ45网线挂接在局域网上。并通过安装相应管理软件,起动并搜索出NAS网络存储系统,确认在线后,就可以正式使用了。

(2)支持多种网络访问协议,支持Windows,UNIX,Mac,Linux和NetWare等不同操作系统。主服务器和客户端可以非常方便地在NAS1-。存取任意格式的文件,包括SMB格式(Windows)NFS格式(Unix,L inux)和CIFS格式等等。

(3)但是NAS提供文件级数据访问,对于有大量大型文件读写操作的应用并不适合。性能也不是很高。所以NAS非常适合中小企业。NAS在现有企业内部网络的基础上,提供了一个简易、快捷、安全的增容方案。而且安装、使用者都无须拥有非常专业的网络技术。

2.存储局域网SAN存储局域网(Storage Area Network,简称SAN)的主要用途是在计算机系统和存储单元之间以及在不同的存储单元之间传输数据.在SAN中,通常包括一个基本的通信架构,它负责建立物理连接;以及一个管理层,用于对连接、存储单元以及计算机系统进行组织,使数据安全和可靠地传输;还有一个分布式文件系统层,在各主机间实现共享式数据存取。在SAN中,所有的计算系统都可以访问SAN中所有磁盘上的所有文件,共享式文件系统能够真正做到充分利用各种资源。与服务器连接的存储器模式不同,在SAN中所有的计算系统都可以接近本地速度访问所有的文件。

与NAS相比,SAN具有下面几个特点:

(1)首先SAN具有无限的扩展能力,由于SAN采用了网络结构,服务器可以访问存储网络上的任何一个存储设备,因此用户可以自由增加磁盘阵列、带库和服务器等设备,使得整个系统的存储空间和处理能力得以按客户需要不断扩大。

(2)另外,SAN具有更高的连接速度和处理能力。

二、基于对象的存储技术

新的存储需求推动存储技术的发展。高性能计算(HPC,high-performance computing)推动新的计算结构的出现,这促进了存储体系结构的发展,逐渐形成了基于对象存储的体系结构。基于对象存储结构同时具有NAS和SAN的所有优点,如高级的数据抽象、跨平台的数据共享、基于策略的安全控制,直接数据存取、高可伸缩性、高安全性等,基于对象存储系统成为了网络存储的主要发展方向。

基于对象的存储系统是存储领域研究的一个新热点。这种体系结构的核心是对象,对象是容纳了应用数据和一个可扩展的存储属性的基本容器。传统的文件被分解为一系列存储对象,并分发到一个或多个“智能磁盘”上,这种磁盘被称为对象存储设备(OSD,Object-based Storage Device)。每一个对象存储设备具备本地处理功能、用于数据和属性缓存的本地内存和本地的网络连接。对象存储设备构成了分布式存储结构的核心,它将许多传统的存储分配行为从文件系统层转移,从而解决了当前存储系统的一个瓶颈问题。

基于对象存储系统同时具有NAS和SAN的所有优点,如高级的数据抽象、跨平台的数据共享、基于策略的安全控制,直接数据存取、高可伸缩性、安全性等,基于对象存储系统可以是全集中式的、半集中式或全分布式的。目前公认较好的是半集中式的文件系统,即由一个元数据服务器管理文件系统的名字空间、存取控制、负载均衡、错误恢复等,并完成文件到OSD对象的映射,由客户直接存取OSD设备上的数据。其结构如图1所示

图1 半集中式对象存储系统体系结构

Figure1:the system structure of object-based storage

(一)对象存储研究现状

当今集群系统以其性价比优势成为高性能计算体系结构的一种趋势,随之对存储系统提出了更高的要求。集群计算逐渐成为一种有成本效益的并行/分布式计算资源,其具有可伸缩、高可用、高性能、易管理和高性价比的优势,集群系统在大规模计算机的应用中成为一种发展趋势。

针对Linux集群对存储系统高性能和数据共享的需求,国外已开始研究全新的存储架构和新型文件系统,希望能有效结合SAN和NAS系统的优点。

1.国内研究现状。目前国内在分布式存储文件系统方面还处于研究阶段,国家973项目《下一代互联网信息存储组织模式及核心技术研究》[3]正在集中研究基于下一代互联网的多层次,可扩展的面向对象网络存储系统体系,形成基于存储对象模式的系统理论。有很多科研机构和大学实验室都把网络存储技术和分布式文件技术作为重点来研究。

中科院计算所研究的“曙光”系列机群服务器上的文件系统COSMOS和DCFS,为曙光超级服务器提供了一个分布式的文件系统环境。为了获得较好的I/O性能,DCFS机群文件系统中的元数据服务器采用二级的树状结构、文件属性缓存、集中式目录缓存管理等技术,存储服务器主要采用了多线程和缓存技术。DCFS将整个名字空间根据目录关系划分成多个子空间,分配到不同的元数据服务器管理,取得较好的性能、扩展性和可用性。

2.国外研究现状Panasas公司的PanFS[4]是一个基于对象存储的Linux分布式机群文件系统。它是该公司的核心部分。由于采用了基于对象的磁盘设备,元数据服务器的很大一部分负载(据分析有9%)都转移给了基于对象的存储设备。同时由于存储设备可以很好地理解和应用对象(也就是文件或者目录),因此可以更好地组织对象的数据布局,也能很好地满足对象的性能要求。文件系统的数据由客户端通过网络直接和对象磁盘交换;元数据通过元数据服务器进行管理。客户端文件系统向应用提供符合POSIX标准的文件接口,可以缓存数据,并且对数据进行分片存储。元数据服务器维护整个系统的元数据一致性,维护系统缓存的一致性等。因为文件系统的很大一部分工作已经由对象磁盘分担,元数据服务器可以服务于更多的客户端,提供更好的性能。

Cluster File Systems 公司的Lustre[5]是面向下一代存储的分布式文件系统。它采用基于对象的磁盘作为整个文件系统的存储设备,但是又不限于对象磁盘,因为它可以通过软件的形式来模拟。它使用了Sandia开放的Portals 网络传输协议,支持多种网络(TCP/IP,Quadrics,Myrinet,InfiniBand 等)。它也采用数据和元数据分开传输和存放的机制提供系统的性能。Lustre 创造性的带意图的锁(intent lock),明显地减少客户机和文件系统元数据服务器之间的消息传递,也缩小了每次操作的延迟。它采用标准的XML、LDAP、SNMP等协议来进行系统管理;还加入了失效接替等特性,提高了系统的可用性。

Zfs[6]是由位于以色列的IBM实验室、Haifa大学和Mount Carmel共同研制的文件系统,是对DFS项目的扩展。zFS是一个基于OSD的全分布式文件系统,它使用OSD作为存储媒体,所有的客户机都可以直接存取OSD设备。zFS系统中没有专门的服务器,其存储管理工作由OSD负责,文件管理工作被分散在客户机中,由各客户机互相协商共同完成。zFS的大设计目标是:更好的可伸缩性。

CEPH系统是美国加利福尼亚大学存储研究中心研制的文件系统。其体系结构如图2所示:

图2 CEPH文件系统体系结构

Figure 2 the system structure of CEPH file system

CEPH文件系统由客户(Clients)、元数据服务器集群(Metadata Cluster)、面向对象存储设备(OSD)三部分组成.三部分分别有不同的功能,它们有机地结合在一起协同工作,成为一个文件系统,提供文件系统具有的功能。OSC管理基于对象存储设备,对其上存储的文件数据进行存储和管理,并向客户端提供文件数据I/O;MDC管理文件系统的元数据,将文件元数据和目录形成全局统一的命名空间;Clients与MDC进行命名空间操作的交互,向应用程序提供一个全局统一命名空间的文件系统,与OSC进行文件数据I/O的交互,为应用程序提供文件服务。

(二)对象存储系统体系结构

1.数据对象。数据对象(Data object)简称对象,是对象存储体系结构中重要的组件,是对象存储系统中数据存储的基本单元。对象中封装了数据和关于数据的属性,包含数据和其它足够的信息允许数据自治和自我管理。对象不同于作为传统存储系统中基本组件的文件和块,对象是应用数据(文件数据)和定义数据各方面的存储属性(元数据)的组合。元数据是“关于数据的数据”,描述了对象的属性,比如对象的访问许可权限,数据分布等。对象存储系统中,以对象ID标识对象,访问对象时通过基于对象ID的简单接口访问对象,对象内部包含一定长度的字节,这些字节的开始点以及长度是很重要的,有了它们,可以通过三元组()找到对象内部的任意字节。对象存储系统有三种不同类型的对象:根(Root)对象,组(Group)对象和用户(User)对象。存储设备上的根对象标识存储设备和设备自身的属性,包括其总的大小和可用容量;组对象提供存储设备上对象逻辑子集的目录;用户对象包含实际需要存储的应用数据。

2.对象存储设备。对象存储设备(OSD,O bject-basedS torageD evice),是目前磁盘存储中智能化的产品,能够存储和管理服务对象而不是简单地将数据存放到磁道和扇区上。对象存储系统中,应用数据(文件数据)由对象存储设备存储与管理。对象存储设备是对象存储体系结构定义的一种新的、更智能的磁盘接口。对象存储设备是一种包含存储介质、磁盘或磁带的网络附接设备,它有自己的CPU、内存、网络和磁盘系统,具有充分的管理本地存储数据的智能性,计算节点在取得访问许可的情况下能够直接和对象存储设备通问存储数据,而不必使用文件服务器作为事务的中介,避免了文件服务器作为计算节点访问数据的中介可能出现的瓶颈。而且,如果文件系统将数据条块化分布在一定数量的对象存储设备上,综合的1/0速率和数据流通率将线性增长。例如,单个的附接到吉比特(Gigabit)以太网的对象存储设备可以达到对网络的400Mbps的数据输送能力和1000/秒个存储器1/0操作,如果数据在10个对象存储设备上条块化并且能并行访问,综合的数据率将达到4000Mbps和10000个/秒I/0操作。

3.可安装文件系统。可安装文件系统(IFS,In stallableF ileS ystem)和用户节点相结合,可以从操作系统接受POSIX文件系统命令和数据,与基于对象的存储系统进行交互,使基于对象的存储系统满足用户读数据或者写数据等数据请求。

基于对象存储的可安装文件系统应该具有以下功能:能够为应用层提供POSIX接口,允许应用程序对底层的存储系统执行如Open,Close,Read和Write等的文件操作;计算节点中有缓存机制,缓存数据的交换;对数据的存储采用条块化管理;具有iSCSI协议,发送和接受对象存储设备上的数据;客户端可以从根目录下mount文件系统,按照其具有的权限访问相应的目录。

4.元数据服务器。元数据服务器(MDS,Meta-Data Server),是对象存储系统中多个计算节点之间的中介,维持所有节点上缓存数据的一致性,保证计算节点共享数据。

对象存储系统中,元数据服务器存储和管理元数据。目前对象存储体系结构的设计是单个的元数据服务器,其有两个功能:一是向计算节点提供存储数据的逻辑视图(虚拟文件系统Vritual File Systemor VFSla yer)、文件名列表和组织文件的目录结构;二是组织物理存储介质中数据的分布(the inode layer)。元数据服务器能够进行身份验证、文件和目录访问管理、实现cache一致性、进行容量管理,并保证扩展性。

对象存储系统将存储数据的逻辑视图(VFSla yer)与物理视图(thein odela yer)分开,通过对工作负载进行分布可以克服NAS中出现的元数据服务器瓶颈,从而提升对象存储设备的潜在性能。元数据的VFS部分完成典型的NFS服务器中大约10%的元数据工作负载,而剩下的90%的元数据工作负载由inode层存储在存储介质块上的物理分布数据做的。元数据作为“关于数据的数据”,是存储系统的中心信息,缺少了元数据,对象数据将成为“孤儿”数据,变成无用的信息,元数据的管理对于确保整个存储系统的可靠性、高性能等具有决定性作用。在大型应用中,单个的元数据服务器可能无法承担元数据服务的工作,从而使元数据服务成为存储系统的瓶颈,影响存储系统的整体性能。我们可以采用可伸缩的集群方式来管理元数据,将元数据的服务负载分布到集群中的节点上,以集群作为一个整体来完成元数据服务工作。

5.网络结构。网络结构(NetworkF abric)建立起计算节点到对象存储设备和元数据服务器之间的连接,使它们之间能够互相通信。

网络是对象存储系统的关键元素。网络提供连通性的结构,在单一的结构中绑定对象存储设备、元数据服务器和计算节点。随着廉价的吉比特以太网的应用,可能以达到甚至超过特定的如光纤通道(fibre channel)存储传输速度来传输存储流量,给对象存储系统带来了好处。以太网的日益普及降低了组件成本,更重要的是,建立可靠的以太网的知识非常普及,降低了管理成本。然而,对象存储系统只和TCP/IP结合在一起,而不是以太网,可以利用其他传输方式如Myrinet和InfiniBand对TCP/IP的支持建立对象存储系统。对象存储系统有三中主要的网络协议:

(1)iSCS1协议。iSCSI协议在TCP/IP包中封装了SCSI,是传输命令和数据到OSDs的基本传输协议。SCSI命令数据块(CDB, Command Data Blocks)将读写数据命令传输到存储设备,采取和数据本身一样的方式传送。iSCSI协议得到扩展并能支持对象命令集合,但仍然保持在iSCSI协议定义的范围内。

(2)ORPC命令传输。对象存储系统在计算节点和元数据服务器之间的通讯中使用了一种单独的协议,这就是轻权的远程过程调用(lightweightR emoteP rocedureC all,R PC) ,使得与元数据的快速通信比较容易。

(3)其他服务协议。对象存储系统的建立还需要很多标准的TCP/IP服务。例如,使用NTP (Network Time Protocol,网络时间协议)实现计算节点和存储系统间的同步,使用DNS (Domain Name Server,域名服务器)简化地址的转换和维持,使用各种路协议允许计算节点和存储系统分离。这些服务全部建立在TCP/IP协议之上,具有广泛的可用性和互操作性,利用好这些协议,对象存储系统可以得到很大的好处。

三、对象存储系统展望

基于对象的存储技术是存储领域的新兴技术,它提出了一种新的存储体系结构,以数据对象作为数据存储和管理的基本单元。基于对象存储的文件系统在可扩展性、可靠性、易用性等方面都有显著提高,随着网络化存储技术的不断成熟,基于对象存储的文件系统将成为重要的发展方向。

基于对象存储技术的研究还处在起步阶段,很多方面需要不断研究、实现和完善。本了一部分工作,实现了文件系统原型,但算法还未能与系统结合起来,下一步可以将算法与具体的系统结合起来作实际的测试研究;另外,管理元数据采用的元数据管理集群可以有很多灵活的体系结构,可以探索采用各种不同的体系结构并结合相应的算法,实现更好、更高性能的方案。

四、结束语

本文对当前的热点――基于对象存储技术作了简要介绍。我们充分地相信,随着应用需求不断深入以及技术的不断发展,将涌现更多更好的存储新技术。同时为企业数据提供更加安全可靠、速度更快、更易于管理的存储平台。

参考文献:

[1]郭玉东,尹青.基于对象的网络存储[M].北京:电子工业出版社,2007:3-5

[2]Feng Wang.OBFS:A File System for Object-based Storage Devices[C].21st IEEE/12th NASA Goddard Conference on MssT2006.2006

[3]Sage A. Weil.Ceph: Reliable,Scalable,and High-Performance Distributed Storage. Ph.D. thesis, University of California, Santa Cruz, December, 2007.

[4]林琳,陈展虹.分布式网络存储系统元数据服务器群的设计与实现[J].2008年4期

[5]刘群,冯丹,王芳.高可靠性元数据服务器研究[J].计算机工程,2008年9月

[6]周功业,王琰,鲁春怀,面向对象的智能化磁盘OSD的研究与实现[J].计算机工程与科学,2007.29卷3期

[7]Keir Fraser,Steven Hand.Safe Hardware Access with then Xen Virtual Machine Monitor.[D]University of Cambridge Computer Laboratory.

[8]赵俊杰,詹永照.网络存储安全系统研究综述[J].计算机应用与软件2008年25卷2期

[9]M. Szeredi. File System in User Space. [D],2006.

[10]S. A. Weil, K. T. Pollack, S. A. Brandt, and E. L. Miller. Dynamic metadata management for petabyte-scale file systems. In Proceedings of the 2004 ACM/IEEE Conferenceon Supercomputing (SC ’04). ACM, Nov. 2004.

作者简介:方圆(1980-),男,汉,河南林州,硕士研究生,研究方向为;分布式系统。

杜祝平(1964-),男(汉),河北元氏,副教授,研究方向为计算机软件与理论。

胡永奎(1980-),男(汉)河南长葛,硕士研究生,研究方向为:分布式系统。

上一篇:基于MicroBlaze的可重构嵌入式系统设计 下一篇:利用Word与Excel轻松制作考号标签