分布式文件存储系统研究及应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

分布式存储系统研究和应用实践

二〇一二年二月

摘要

物质、能量和信息是自然科学研究的三个基本对象,处理、传输和存储是信息计算的三大基本任务。随着网络技术及信息处理技术的不断发展,个人数据和企业数据的产生量呈现爆炸性膨胀的趋势,IT系统正面临着海量数据存储成本高、管理困难、可靠性低的问题,为了充分利用资源,减少重复的投资,数据存储作为IT系统的主要架构和基础设施之一,逐步被作为一个完整的系统从IT系统中独立出来,分布式存储系统因为具有海量数据存储、高扩展性、高性能、高可靠性、高可用性的特点,目前正被作为企业海量数据存储方案被业界所广泛讨论和应用。因此对于分布式存储系统的研究不仅紧跟目前发展的趋势,而且具有较高的应用价值。

本文基于对分布式存储系统的研究,旨在通过在网络环境下构建具有高传输性能、高可靠性、高可用性的网络分布式文件系统,通过网络数据流方式实现对海量文件系统中的数据进行存储和访问,解决大规模非结构化数据的存储、查询、高性能读取、高容错性的问题,为IT系统提供高性能、高可靠性、高可用性的存储应用服务,并为今后的分布式计算研究提供技术基础。

本文阐述的主要内容如下:

(1)分布式架构的相关理论以及分布式存储系统的应用现状,介绍了分布式

存储系统概念;

(2)然后引入开源项目Hadoop的HDFS分布式文件系统,接着对HDFS关键

运行机制进行了详细分析;

(3)并在此基础上,通过搭建基于HDFS 0.23版本的实验环境进行实际的测试

验证,采集实验数据,并对实验结果作出进一步的分析总结,得到理论

和实际结合的第一手资料;

(4)最后,通过结合实际需求,在对医学影像中心业务分析的基础上,对医

学影像中心存储体系、功能结构及运行环境进行了设计和规划。

关键词:分布式存储系统、HDFS、Hadoop

第一章绪论

1.1背景说明

IDC的一项预测曾指出,“数字宇宙”(digital universe)项目统计得出,2006年的数据总量为0.18ZB,并预测在2011年,数据量将达到1.8ZB。1ZB等于10的21次方字节,或等于1000EB,1,000,000PB,或者大家更熟悉的10亿TB的数据。这相当于世界上每人一个磁盘驱动器所能够容纳的数据的数量级。

在如此强大的需求下,对海量存储容量、高性能、高安全性、高可用性、可扩展性、可管理性的存储的要求不断提高。

1.1.1.关于磁盘存储

目前的情况是,磁盘存储容量快速增加的同时,其访问速度-磁盘数据读取速度却未能与时俱进。目前,普通的1TB磁盘,其传输速率约为100MB/S左右,写入则更慢,而10年前,10G的磁盘,其传输速率也有66M/s,即便换成基于闪存的SSD固态硬盘,也只是将读取速度提高3倍、写入速度提高1.5倍而已,甚至最先进的光纤通道硬盘,和内存的读取和写入数据的速率相比也不在一个数量级上。

一个简单的减少磁盘读取时间的方法就是同时从多个磁盘上读取数据,假设,我们拥有100个磁盘,每个磁盘存储1%的数据,并行读取,所需要的读取时间,也相当于原来的1%左右。

这种方法称之为条带化存储(Strip),是RAID(Redundant Array of Independent Diskes,独立磁盘冗余阵列)技术的一项重要特性,通过使用一组磁盘同时进行I/O操作,从而获得更大的I/O吞度量,并依靠存储冗余信息(镜像+奇偶校验)来保障数据的安全性。

例如RAID10模式,数据块被分别以位或字节为单位进行分割并且并行读/写,同时,为每一块磁盘作磁盘镜像进行冗余,既保证了最高的读写存储性能,又通过镜像保护了数据,缺点是磁盘利用率比较低。

设置RAID 10至少需要安装4块硬盘,当把4块磁盘设置成RAID 10后,每一对磁盘被设置成镜像,每一对磁盘之间被设置成条带以便数据快速传输。下图为RAID10的数据分布及镜像示意。

1.1.

2.网络存储应用

除了个人PC机的本地存储,企业的大多数的存储应用,都是基于局域网或者广域网的文件共享和存储,目前很多简易的局域网内的文件共享和存储应用都是基于文件服务器,主要的功能是提供网络用户访问共享文件,通常是C/S模式,基于FTP或TCP/IP连接。这样的存储服务器,在访问的高峰期,单机IO负载很大,不能充分使用网络带宽,而且扩展性差,可靠性和容错能力需要依靠硬件来完成,比如RAID的磁盘阵列。

随着网络技术的发展,网络的带宽已经超过了磁盘的带宽,现在,很多存储系统方案采用网络存储的技术来解决传统存储的问题,针对I/O是整个网络系统效率低下的瓶颈问题,最有效地方法是将数据从通用的服务器中分离出来,进行集中管理,形成所谓的存储网络。

其中又有两种不同的实现手段,NAS(网络附加存储)和SAN(存储器网络),两者之间的区别在于,NAS是每个访问客户端通过网络共享协议使用同一个文件管理系统,而SAN在每个访问客户端都有个文件管理系统。FC硬盘是普通的SATA 硬盘的成本是的十倍,耗电量也是SATA硬盘的十倍,但是只提供1/10的密度,NAS和SAN虽然解决了存储速度和可靠性的问题,但是其高昂的成本和复杂的管理问题局限了其应用范围。

针对服务器的I/O效率和网络访问的问题,通过分布式系统通过在不同的节点间实现共享,提供多个访问点提高性能,来实现各个节点的高效、一致的数据

共享来解决。

第二章分布式存储相关理论

2.1分布式系统概念

在网络基础设施及服务器性能不断成熟和发展的背景下,分布式系统架构越来越多的为人所关注,分布式系统架构以传统信息处理架构无法比拟的优势特性,正在成为企业实现提高效率、提高灵活性、降低成本的重要选择。

分布式系统(Distributed System)是建立在网络之上的支持分布式处理的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。

所谓的内聚性是指每一个分布节点高度自治,有独立的程序进行管理。透明性是指每一个分布节点对用户的应用来说都是透明的,看不出是本地还是远程。

在一个分布式系统中,一组独立的计算资源展现给用户的是一个统一的整体,就好像是一个系统似的。系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。

在传统网络系统中,这种统一性、模型以及其中的软件都不存在。用户看到的是实际的机器,计算机网络并没有使这些机器看起来是统一的。如果这些机器有不同的硬件或者不同的操作系统,那么,这些差异对于用户来说都是完全可见的。

分布式系统和传统网络系统的共同点是:多数分布式系统是建立在网络之上的,所以分布式系统与传统网络系统在物理结构上是基本相同的。

他们的区别在于:分布式系统的设计思想和网络系统是不同的。网络系统要求网络用户在使用网络资源时首先必须了解网络资源(比如:计算机的功能与配置、软件资源、网络文件结构等情况);分布式系统是以全局方式管理系统资源的,它可以任意调度网络资源,并且调度过程是“透明”的,在利用分布式系统的过程中,用户并不会意识到有多个处理器的存在,这个系统就像是一个处理器一样。

2.2分布式存储系统概念

由此而知,分布式存储系统是指通过分布式技术,将网络中不同节点上的存储设备通过分布式应用软件集合起来协同工作,共同对外提供数据存储和业务访

相关文档
最新文档