云存储及其分布式文件系统研究
来源:东莞理工学院学报 更新时间:2013-03-04
 云存储专注于解决云计算系统中海量数据文件的存储问题,文件系统用来管理大量的文件信息,并负责对文件的存储空间进行组织分配;分布式文件系统不仅要管理本地计算机的数据文件,同时还要管理整个存储系统中的数据文件。文章首先对云计算技术进行介绍,然后引出云存储的概念,并通过对云存储的技术原理、性能优势等进行分析,指出分布式文件系统对于云存储技术的重要性;最后对现有的云存储分布式文件系统进行详细论述。全文工作将指导我们进一步深入研究云存储技术。
    随着信息化程度的不断提高,全球数据日益膨胀。面对当前PB级的海量数据存储需求,传统的存储系统在容量和性能的扩展上存在瓶颈。云存储以其扩展性强、性价比高、容错性好等优势得到了业界的广泛认同。云存储伴随着云计算产生,作为云计算的先驱,它很早就进入了广大研究人员的视野,由于其前瞻性,众多企业都将其作为进军云计算的第一步。
    文件系统 是操作系统的重要组成部分,用来管理和存储大量的文件信息,负责对文件的存储空间进行分配和管理,并对存人其中的文件进行保护和检索,同时为用户提供包括文件创建、删除、命名、读写、访问控制等一系列功能。此外,文件系统还可以根据存取权限及访问操作类型来指定用户对文件的存取。
    分布式文件系统除了具有本地文件系统的所有功能外,还必须管理整个系统中所有计算机上的文件资源,从而把整个分布式文件资源以统一的视图呈现给用户。此外,分布式文件系统还需要隐藏内部的实现细节,对用户和应用程序屏蔽各个计算机节点底层文件系统之间的差异,以提供给用户统一的访问接口和方便的资源管理手段 。很显然,作为一种典型的分布式系统,云存储需要分布式文件系统的底层支撑方能实现我们所希望的功能。
1 云计算技术
    目前学术界以及工业界对云计算还没形成一个统一的定义。在文献[3]中,云计算被定义为一个包含大量可用虚拟资源的资源池,该资源池一般由基础设施提供商按照服务等级协议采用按时付费或按需付费的模式进行开发管理,其中的虚拟资源根据不同负载进行动态配置,以达到优化资源利用率的目的。
    在一定程度上,我们可以认为云计算是分布式计算、并行计算和网格计算等计算概念的商业发展 ,其基本原理是用户通过互联网来应用计算机集群上的资源。通过本地计算机连接互联网向集群发送需求信息,远端的计算机集群资源收到用户需求信息后,将为该用户提供必要的资源并进行运算,最后将计算结果返回至本地计算机。在上述过程中,云计算向用户提供的并非计算资源,而是一种服务。云计算屏蔽了它的内部设备部署细节、网络接口以及运行在其上的软件运行机制,其只是把外部访问接口暴露给用户。用户不需要了解云的内部实现细节,只需要通过互联网连接其外部应用接口即可获得所需服务。
    云计算具有规模庞大、资源虚拟化、高可靠性、可扩展性、通用性、以用户为中心以及计费灵活等特点。云环境下,用户面对的不再是复杂的硬件和软件资源,而是最终所需的服务,用户从过去“购买产品”转变到“购买服务”上来;用户不需要购买硬件设施,也不需要为机房支付设备供电、空调制冷、专人维护等费用,而只需支付相应资源使用费用,即可得到相应服务。
    目前云计算技术发展迅速,和传统预先购置和部署设备的计算方式相比,其独特的按需付费和弹性扩展的资源供给方式具有明显的性能优势,因此,其必将成为未来最值得推广和应用的技术之一。
2 云存储系统
    云存储是实现云计算系统架构中的一个重要组成部分。随着信息技术的不断发展,全球数据规模日益膨胀。由于传统的SAN (Storage Arew Network) 或NAS(Network Attached Storage) 存储技术在存储容量和可扩展性上存在瓶颈,并且在硬件设备的部署数量上也存在一定限制,这使得用户升级系统的成本大大增加。云存储采用可扩展的分布式文件系统,并使用廉价的Pc机来进行系统部署,从而使得整体存储架构能够保持极低的成本。
    云存储是通过集群应用、网格技术、分布式文件系统等,将网络中大量类型各异的存储设备整合起来,并对外提供数据存储和业务访问功能的系统。简单来说,云存储是对虚拟化存储资源的管理和使用。云存储是存储领域一个新的概念,其目前已成为学术界和工业界的一个研究热点。区别于传统的存储技术,云存储提供了更好的可扩展性,当需增加存储能力时,只需添加服务器即可实现,而不需要对存储系统的结构进行重新设计;同时随着存储能力的增加,云存储系统的性能不会下降。
    云存储专注于解决云计算中海量数据的存储问题,它既可以给云计算技术提供专业的存储解决方案,又可以独立发布存储服务。云存储将存储作为服务,它将分别位于网络中不同位置的大量类型各异的存储设备通过集群应用、网格技术和分布式文件系统等集合起来协同工作,通过应用软件进行业务管理,并通过统一的应用接口对外提供数据存储和业务访问功能。在使用一个独立的存储设备时,我们需要了解该设备的型号、接口以及该设备所使用的传输协议;如果使用云存储,则不存在上述问题。对用户来说,云存储系统中的所有设备都是透明的,用户不必关心云存储系统内部是如何实现的,也无需了解存储的提供方式和底层基础,任何一个授权用户都可以通过网络来使用云存储系统提供的数据存储和业务访问服务。
    目前,云存储的兴起正在颠覆传统的存储系统架构,其正以良好的可扩展性、性价比和容错性等优势得到业界的广泛认同。
3 云存储分布式文件系统
    由上节讨论可知,云存储系统具有良好的可扩展性、容错性,以及内部实现对用户透明等特性,这一切都离不开分布式文件系统的支撑。现有的云存储分布式文件系统包括GFS、HDFS、Lustre、FastDFS、PVFS、GPFS、PFS、Ceph和TFS等。它们的许多设计理念类似,同时也各有特色。下面对现有的分布式文件系统进行详细介绍。
    3.1 Google File System (GFS)
    GFS是一个可扩展的分布式文件系统,其主要用于处理大的分布式数据密集型应用。GFS的一大特色就是其运行于大量普通的廉价硬件上,通过GFS文件系统提供容错功能,并给大量用户提供可处理海量数据的高性能服务。和传统标准相比,GFS文件规模巨大,其主要用来处理大文件。此外,GFS大多通过直接追加新数据来改变文件,而非覆盖现有数据,一旦数据写入完成,文件就仅支持读操作。