购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 网络化存储

数据量的大幅增长为存储系统设计带来了新的挑战,要求有更多的存储设备存放不断增加的数据,同时也需要在多个用户之间实现数据共享,以提高存储系统的利用率。另外,管理海量数据需要占用相应服务器的大部分处理能力,这就推动了独立于单个主机的专用存储系统的出现。在充分吸收网络技术的基础上,大容量、可共享、可扩展的网络存储系统应运而生。

1.4.1 网络存储架构

在海量信息的发展背景下,网络存储逐渐成为大规模存储系统的基本体系结构,网络存储架构主要有直连式存储、网络连接存储和存储区域网络等。

1.直连式存储(DAS)

直连式存储的全称是Direct Attached Storage,简称DAS,是一种存储设备直接通过总线适配器和电缆(SCSI或FC)连接到服务器的架构,典型DAS的结构如图1-5所示。DAS依赖于服务器,本身不带有任何存储操作系统。主机的内部磁盘、磁带库和直接连接的外部磁盘组,都是一些DAS实例。

图1-5 典型DAS结构图

根据存储设备相对于主机的位置,直连式存储可以分为内置和外置两种。在内置DAS架构里,存储设备通过串行或并行总线连接主机,但总线自身有传输距离和挂载设备的限制。在外置DAS架构里,服务器直接连接到外部存储设备,相比于内置DAS,外置DAS克服了距离和挂载设备数量的限制。

对于少量PC或服务器,使用DAS连接简单、易于配置和管理、价格较低。相对于其他网络存储架构,DAS是最简单的解决方案,所需的管理任务更少,需要设置和操作的硬件和软件也更少。但是DAS对服务器依赖性太强,要求每台计算机单独拥有自己的存储磁盘,这不利于存储容量的充分利用和服务器间的数据共享,而且DAS方式下数据依然是分散的,不同的应用各有一套存储设备,没有统一的管理方案,不利于数据的维护,因此DAS不适合作为企业级的存储解决方案。

2.网络连接存储(NAS)

随着网络的发展、数据量和客户端的增多,对服务器的存储能力和访问性能提出了新的挑战。这种情况迅速导致了服务器的专一化,进而导致了服务器和存储设备的分离。

网络连接存储的英文全称是Network Attached Storage,简称NAS,它的核心思想是将存储设备从服务器上分离出来,在网络中提供专门负责文件服务的服务器,从而减轻网络其他服务器的负担。NAS是一种专用的、高性能的、高速的网络文件存储备份设备,使用网络和文件共享协议实现文件归档和存储等功能。共享协议包括用于数据传输的TCP/IP以及用于远程文件服务的CIFS和NFS协议,可以为不同文件协议客户端提供集中式服务。

NAS有自己简化的实时操作系统,它将硬件和软件有机地结合在一起,用以提供文件服务,如图1-6所示。它主要由客户端、NAS服务器和存储设备三部分组成。其中,NAS服务器主要负责响应文件请求。通过网络接口,NAS服务器的一端通过以太网接口连接到前端局域网,另一端通过ATA、SATA或FC等存储设备接口与后端存储设备相连。存储设备通常由高性能的磁盘阵列组成。

图1-6 NAS的构成

NAS的软件构成主要包括操作系统、文件协议和存储管理软件。其中NAS操作系统是通用操作系统的简化版,它只保留了操作系统的文件服务功能和相关文件通信协议,负责管理NAS设备的硬件和软件资源。目前,NAS操作系统主要有各种Windows版、FreeBSD/Linux版、VxWorks版以及实时操作系统RTOS。NAS目前采用的文件协议是NFS和CIFS。其中NFS应用在UNIX环境下最早由Sun公司开发;CIFS应用在NT/Windows环境下由微软公司开发。

NAS的结构以及采用的各种协议使得NAS与传统存储技术相比具有以下优点:

1)用户直接访问NAS,减少了通用服务器成为网络瓶颈的概率。NAS具有更好的扩展性和灵活性。存储设备不受地域限制,在不同地点都可以通过物理连接和网络连接连起来。

2)支持跨平台存放文件数据和共享访问。基于TCP/IP的数据传输使得NAS可以支持网络文件系统,不同操作系统可以实现文件共享。

3)使用专用的、经过优化的操作系统,不仅响应速度快,而且数据传输速率也更高。

4)由于是专用硬件构造的专用服务器,不会占用网络服务器的系统资源,不需要在服务器上安装任何软件,当增加或删除NAS设备时不会中断网络的运行,安装和使用更为方便,是一种即插即用的网络设备。

5)NAS独立于主服务器,因此对主服务器没有任何需求,这大大降低了主服务器的投资成本。

在实际应用中,NAS也表现出了一些缺点。首先,随着网络中数据流的不断增大,NAS在LAN上传输数据时,会将大量的整块数据划分成多个数据包。这样会造成对NAS处理资源占用率过大,进而直接影响NAS对用户请求的响应速度和存储服务的提供能力。其次,NAS设备与客户端通过企业网络进行连接,因此数据备份或存储过程中会占用网络的带宽,若用户频繁使用网络时,NAS的备份机制出现问题,对用户网络来说会产生很严重的后果。

NAS设备近些年在海量数据存储、异地备份容灾、网络存储平台、军用存储等方面得到了广泛的应用,各种NAS产品也应运而生。其中NetApp公司掌握了全球最先进的NAS方面的相关技术,它的FAS系列产品统治了NAS市场的大半江山。近年来初露锋芒的BlueArc公司在其NAS产品Titan系列中,将其运行的所有软件逻辑都写入EPGA中,使得系统处理速度越来越快。除此之外,EMC、IBM、HP、Sun、Veritas等公司均推出了自己的NAS产品。

3.存储区域网络(SAN)

存储区域网络的英文全称是Storage Area Network,简称SAN,它是一种高速专用网络,用于连接存储设备和服务器,一般采用光纤通道协议作为底层通信协议。SAN的发展历程较短,从20世纪90年代后期兴起,由于当时以太网的带宽有限,早期的SAN存储系统多数由FC存储设备构成,随着千兆以太网的普及和万兆以太网的实现,基于iSCSI协议的IP SAN浮出水面并不断被人们认可。

SAN实际上是一种专门为存储建立的独立于TCP/IP网络之外的专用高速网络,其结构如图1-7所示,主要包括如下几个部分:

1)SAN服务器:服务器基础结构是所有SAN解决方案的前提,这种基础结构是多种服务器平台的混合体,包括Windows NT和不同风格的UNIX等。

2)SAN存储设备:存储基础结构是信息所依赖的基础,新型的基础结构应该能够提供更好的网络可用性、数据访问性和系统管理性。因此,SAN解放了存储设备,使其不依赖于特定的服务器总线,而且将其直接接入网络。SAN还支持存储设备的集中化和服务器群集,使其管理更加容易,费用更加低廉。

3)SAN连接设备:实现需要考虑的第一个要素是,通过光纤通道之类的技术实现存储和服务器组件的连通性。实现LAN和WAN所使用的典型组件有扩展器、集线器、路由器、网桥和网关等。与LAN一样,通过存储接口的互连形成很多网络配置,并能够跨越很长的距离。

4)SAN管理软件:其管理服务器、互连设备以及存储设备之间的接口,它提供SAN环境的一个可视化视图,并且可以在一个中心控制台进行多种资源的集中管理。

图1-7 SAN结构示意图

FC SAN是一种典型的SAN结构,它以光纤为传媒介质,具有传输速度快、可靠性高、传输距离远等特点,它将存储设备从传统的以太网中分离出来,成为独立的存储区域网络,服务器可以访问存储区域网络上的任何存储设备,同时存储设备之间以及存储设备与SAN交换机之间也可以进行通信,其体系结构如图1-8所示。

利用SAN,不仅可以提供大容量的存储数据,而且地域上可以分散,缓解了大量数据传输对局域网的影响。SAN结构允许任何服务器连接到任何存储阵列,不管数据置放在哪里,服务器都可直接存取所需的数据。

SAN的主要优点是:

1)高性能、高速存取,可实现高速计算机与高速存储设备的高速互连。目前FC可提供2Gbit/s的带宽,新的10Gbit/s的标准也正在制定之中。

2)高可用性。网络用户可以通过不止一台服务器访问存储设备,当一台服务器出现故障时,其他服务器可以接管故障服务器的任务。

3)集中存储和管理。通过整合各种不同的存储设备形成一个统一的存储池,向用户提供服务,存储容量可以很容易地扩充。SAN提供了大容量存储设备共享的解决方案。

图1-8 FC SAN体系架构

4)可扩展性高。服务器和存储设备相分离,两者的扩展可以独立进行。理论上扩展不受限制,并且支持在线扩展,扩展的同时也保证了可靠性和安全性。通过FC网卡、集线器、交换机等互连设备,用户可根据需要灵活地配置服务器和存储设备。

5)可实现数据快速备份,并且数据备份不占用LAN带宽。

6)可兼容以前的各种SCSI存储设备,保护用户以前的投资。

基于SAN的各种优点,它主要用于存储量大的工作环境(如ISP、银行等),其应用主要归纳为:构造集群环境,利用存储局域网可以很方便地通过FC把各种服务器、存储设备连接在一起构成一个具有高性能、高数据可用性和扩展性强的集群环境;可以做到无服务器的数据备份,数据也可以以后台的方式在SAN上传递,大大减少了网络和服务器上的负载,因此可以很方便地实现诸如磁盘冗余、关键数据备份、远程集群、远程镜像等许多防止数据丢失的数据保护技术;可以方便地进行两个存储设备之间的数据迁移以及远程灾难恢复。从1999年开始,EMC、IBM、Compaq、Sun、HP等公司相继推出自己的SAN产品。近年来,SAN技术得到了长足发展。

4.基于IP的存储区域网络(IP SAN)

传统SAN的互联技术是Fiber Channel(FC),但是其在实现成本、设备的互操作性、跨越的地理距离等方面阻碍了SAN的发展。同时,远程数据备份、容错、灾难恢复等应用的发展也要求SAN跨越的距离越来越远,因此传统的SAN环境已无法满足当前应用的发展。为了寻求一种比较经济而又能够实现SAN存储的高性能的存储方式,人们开始探索IP网络技术和SAN结合,于是IP SAN出现了。

IP SAN是基于IP网络实现数据块级别存储方式的存储网络,是一种将存储设备、连接设备和接口集成在一个高速网络中的技术。它可以利用现成的网络架构、协议、标准、基础设施和管理工具,在一定程度上解决SAN存在的高成本和难管理的缺陷。

与传统的FC SAN相比,IP SAN有其优势,也有它的不足。其优势主要体现在以下几点:基于成熟的IP技术,在一定程度上保护了现有资产,降低了配置、维护、管理方面的复杂度;IP存储超越了地理距离的限制,大大延伸了传统并行SCSI存储的距离限制;可以预期的10Gbit/s以太网的推出将极大地改善IP存储的服务性能。

IP SAN的不足主要有以下几点:IP存储的产品总体上还不成熟,用户可选择余地较小;目前IP SAN的实现还比较困难,需要一些专门的驱动设备和相关知识的帮助;由于IP网络尤其是以太网本身的效率较低,因此IP存储比较消耗系统资源。

目前主流的基于IP的存储方案包括互联网小型计算机系统接口(internet Small Computer System Interface,iSCSI)、互联网光纤通道协议(internet Fiber Channel Protocol,iFCP)和基于IP的光纤通道(FCIP)方案。这三种IP存储方案都有成本低、灵活性强、可管理性好、距离适中以及对以太网技术有良好支持的特点。

5.基于InfiniBand的SAN存储系统(IBSAN)

InfiniBand(IB)是在1999年由FutureIO和NGIO两个标准整合而来的,它主要用于服务器、存储设备等网络设备间的连接。InfiniBand是一种交换结构I/O技术,其设计思路是通过一套中心机构(中心InfiniBand交换机)在远程存储器、网络以及服务器等设备之间建立一个单一的连接链路,并由中心InfiniBand交换机来指挥流量,它的结构设计得非常紧密,大大提高了系统的性能、可靠性和有效性,能缓解各硬件设备之间的数据流量拥塞。

IBSAN是一种将InfiniBand和SAN技术相结合的存储系统方案。IBSAN采用层次结构,将系统的构成与接入设备的功能定义分开,不同的主机可通过HCA(Host Channel Adapter,主通道适配器)、RAID等网络存储设备利用TCA(Target Channel Adapter,目标通道适配器)接入IBSAN。如图1-9所示,IBSAN由处理节点(服务器)、InfiniBand通信网、I/O节点和存储设备组成。其中处理节点提供一个或多个InfiniBand的HCA,HCA是主机的IBA(InfiniBand Architecture)接口,完成报文的收发并实现IBA所确定的各种功能。InfiniBand通信网包括交换机和路由器,连接处理节点、I/O节点和存储设备。I/O节点是带目标通道适配器(TCA)接口的各种I/O设备。TCA是I/O设备的IBA接口,完成报文的收发并实现IBA所确定的各种功能。存储设备包括磁盘阵列、磁带库等。

InfiniBand体系结构将IP网络和存储网络合二为一,以交换机互连和路由器互连的方式支持系统的可扩展性。服务器端通过HCA连接到主机内存总线上,突破了PCI的带宽限制,存储设备端通过TCA连接到物理设备上,突破了SCSI和FCIP的带宽限制。InfiniBand技术目前主要被数据中心、服务提供商和集群所采用。随着网络存储的高速发展,InfiniBand作为新一代的SAN互联技术,将显示出强大的生命力和市场应用前景。

图1-9 IBSAN系统结构

1.4.2 分布式存储

分布式存储系统是将数据存储在多个特定的节点上,通过网络使用系统中的各个节点上的磁盘空间,并将这些分散的资源构成一个虚拟的存储设备。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不仅提高了系统的可靠性、可用性和存取效率,还易于扩展。近年来,国内外很多机构结合自身需要开发了一些各具特色的分布式文件系统。下面简要介绍几个分布式文件系统。

1.PVFS

PVFS(Parallel Virtual File System,并行虚拟文件系统)是Clemson大学开发的高性能、可扩展的分布式并行文件系统。它无须特殊的硬件设备或内核支持,可以直接在普通的PC上运行。目前,很多流行的分布式文件系统都借鉴了PVFS的设计思想。

PVFS由一个管理节点、多个I/O节点和若干个计算节点组成,可以将整个分布式文件系统的元数据信息以及目录层次结构存放在管理节点上,实现了统一的命名空间,兼容了现有文件系统的访问方式,并提供了更高性能的数据访问方式。

PVFS也有很多不足之处。首先,它只提供单一的管理节点。当管理节点由于异常而无法正常工作时,整个分布式文件系统就会立刻停止服务。当分布式文件系统达到一定规模后,管理节点很容易成为系统瓶颈。另外,PVFS对数据的存储缺乏容错机制,当某I/O节点无法工作时,存储在该节点上的数据将会永久丢失。最后,其配置不够灵活,无法在PVFS运行时修改系统配置信息。

2.Google FS

Google FS是Google公司为了满足其应用需求而开发的面向大规模数据密集型应用的、可伸缩的、基于Linux的专有分布式文件系统,可以应用在大文件、连续读、不修改、高并发的存储场景。它运行在廉价的普遍硬件设备上,并且提供了有效的灾难冗余能力,可以为大量客户机提供高性能的存储服务。另外,Google FS还使用了一个宽松的一致性模型,不但能很好地支持高度分布式应用,而且实现起来也相对简单和有效。

Google FS虽然具有简洁、可靠、高性能的优点,但是为此Google FS也付出了一定的代价。首先,中心服务器模式虽然处理逻辑很简单,但是它有一些固有的缺点,比如极易成为整个系统的瓶颈;其次,Google FS完全采用副本策略进行冗余以提高系统的可靠性,因此会消耗更多的原始存储。最后,64MB的存储单元(chunk)大小虽然有利于降低网络开销、减少系统负载,但是有的小文件可能只有一个或者几个chunk,这样那些存储了这些chunk的chunkserver(块服务器)节点就会很容易变成热点。

3.HDFS

HDFS(Hadoop Distributed File System)是一个基于Java、支持数据密集型应用、高度容错、具有高吞吐量的分布式文件系统,它能够保证应用程序可以在成百上千个低成本的商用硬件上存储和处理PB级的数据。为了实现流式读取文件系统数据的目标,HDFS放宽了对POSIX语义的要求,从而适用于批量数据的处理。HDFS作为一个开源项目,受到了Google FS很大启发,目前已经在各大互联网公司得到了广泛的应用,百度、腾讯等公司都将HDFS作为底层存储架构。

HDFS是一个不错的分布式文件系统,它有很多优点,但也存在一些缺点。首先,HDFS不太适合于那些要求低延时数据访问的应用程序。因为HDFS主要目的是处理大型数据分析任务,是为达到高的数据吞吐量而设计的,这就可能要求以高延迟作为代价。其次,其无法高效存储大量小文件。因为Namenode把文件系统的元数据放置在内存中,所以文件系统所能容纳的文件数目由Namenode的内存大小来决定。最后,HDFS不支持多用户写入及任意修改文件,在HDFS的一个文件中只有一个写入者,而且写操作只能在文件末尾完成,即只能执行追加操作。

4.Ceph

Ceph是一个新兴的分布式文件系统,它的原型是一项关于存储系统的PhD研究项目,由加利福尼亚大学的Sage Weil在2007年提出。Ceph架构设计的首要目标是高可扩展性(系统存储量达到数百PB级别以上)、高性能和高可靠性。Ceph是开源的,遵循LGPL协议。Ceph的第一个版本在2012年6月发布,但是就目前的情况而言,Ceph无论从架构还是其工程实现上来看都不太成熟,难以在生产环境中使用。

Ceph最大的特点是分布式元数据服务器通过CRUSH,即一种拟算法来分配文件的位置,其核心是RADOS(Reliable Automatic Distributed Object Storage),即一个对象集群存储,本身提供对象的高可用、错误检测和修复功能,解决了关于扩展性方面的三个问题:动态分布式元数据管理、解耦数据和元数据,以及可靠自治的分布式对象存储。

5.BWFS

BWFS(Blue Whale File System,蓝鲸文件系统)是国家高性能计算机工程技术研究中心承担的国家“863”重点支持课题研究成果得到的产物。BWFS采用集群技术,利用大量计算机组成一个集群体系结构,以此提供高性能计算能力和数据传输效率。虽然BWFS借鉴了国外一些技术,但有自己的创新。蓝鲸文件系统采用了新型结构、网络可扩展体系结构,并且采用虚拟存储技术将多个存储设备上的资源合并成统一的存储空间,进行高效数据管理。BWFS目前在石油勘探处理、信息检索与处理、数字媒体、遥感、高能物理研究等领域有广泛的应用,为我国工业、国防、科技发展做出很大贡献。BWFS的后续系统也一直在研究中,相信我国自主开发的分布式系统能够为国家做出更大贡献。 UqaObPjpR4Dx9OjdNLyPoL2ZbG7qEr5vFF1QEm3vIZvgcxWICZhqxnRxWPMySlZZ

点击中间区域
呼出菜单
上一章
目录
下一章
×