焊管机厂家
免费服务热线

Free service

hotline

010-00000000
焊管机厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

云存储分布式文件系统

发布时间:2020-07-21 17:57:55 阅读: 来源:焊管机厂家

摘要:目前,云存储的兴起正在颠覆传统的存储系统架构,其正以良好的可扩展性、性价比和容错性等优势得到业界的广泛认同。

关键词:云存储

云存储系统

云存储是实现云计算系统架构中的一个重要组成部分。随着信息技术的不断发展,全球数据规模日益膨胀。由于传统的SAN (Storage Arew Network) 或NAS(Network Attached Storage) 存储技术在存储容量和可扩展性上存在瓶颈,并且在硬件设备的部署数量上也存在一定限制,这使得用户升级系统的成本大大增加。云存储采用可扩展的分布式文件系统,并使用廉价的Pc机来进行系统部署,从而使得整体存储架构能够保持极低的成本。

云存储是通过集群应用、网格技术、分布式文件系统等,将网络中大量类型各异的存储设备整合起来,并对外提供数据存储和业务访问功能的系统。简单来说,云存储是对虚拟化存储资源的管理和使用。云存储是存储领域一个新的概念,其目前已成为学术界和工业界的一个研究热点。区别于传统的存储技术,云存储提供了更好的可扩展性,当需增加存储能力时,只需添加服务器即可实现,而不需要对存储系统的结构进行重新设计;同时随着存储能力的增加,云存储系统的性能不会下降。

云存储专注于解决云计算中海量数据的存储问题,它既可以给云计算技术提供专业的存储解决方案,又可以独立发布存储服务。云存储将存储作为服务,它将分别位于网络中不同位置的大量类型各异的存储设备通过集群应用、网格技术和分布式文件系统等集合起来协同工作,通过应用软件进行业务管理,并通过统一的应用接口对外提供数据存储和业务访问功能。在使用一个独立的存储设备时,我们需要了解该设备的型号、接口以及该设备所使用的传输协议;如果使用云存储,则不存在上述问题。对用户来说,云存储系统中的所有设备都是透明的,用户不必关心云存储系统内部是如何实现的,也无需了解存储的提供方式和底层基础,任何一个授权用户都可以通过网络来使用云存储系统提供的数据存储和业务访问服务。

目前,云存储的兴起正在颠覆传统的存储系统架构,其正以良好的可扩展性、性价比和容错性等优势得到业界的广泛认同。

云存储分布式文件系统

由上节讨论可知,云存储系统具有良好的可扩展性、容错性,以及内部实现对用户透明等特性,这一切都离不开分布式文件系统的支撑。现有的云存储分布式文件系统包括GFS、HDFS、Lustre、FastDFS、PVFS、GPFS、PFS、Ceph和TFS等。它们的许多设计理念类似,同时也各有特色。下面对现有的分布式文件系统进行详细介绍。

1 Google File System (GFS)

GFS是一个可扩展的分布式文件系统,其主要用于处理大的分布式数据密集型应用。GFS的一大特色就是其运行于大量普通的廉价硬件上,通过GFS文件系统提供容错功能,并给大量用户提供可处理海量数据的高性能服务。和传统标准相比,GFS文件规模巨大,其主要用来处理大文件。此外,GFS大多通过直接追加新数据来改变文件,而非覆盖现有数据,一旦数据写入完成,文件就仅支持读操作。

[page] 2 Lustre文件系统

Lustre文件系统是一种典型的基于对象存储技术 的分布式文件系统, 目前,该文件系统已经广泛用于国外许多高性能计算机构,如美国能源部、Sandia国家实验室、Pacific Northwest国家实验室等。Top500机器中有多台均采用的是Lustre文件系统。

Lustre文件系统的大文件性能良好 ,其通过基于对象的数据存储格式,将同一数据文件分为若干个对象分别存储于不同的对象存储设备。大文件I/O操作被分配到不同的对象存储设备上并行实施,从而实现很大的聚合带宽。此外,由于Lustre融合了传统分布式文件系统的特色和传统共享存储文件系统的设计理念,因此其具有更加有效的数据管理机制、全局数据共享、基于对象存储、存储智能化,以及可快速部署等一系列优点。尽管如此,由于Lustre采用分布式存储结构将元数据和数据文件分开存储,访问数据之前需要先访问元数据服务器,这一过程增加了网络开销,从而使得Lustre的小文件I/O操作性能较差。

3 FastDFS文件系统

FastDFS是一个轻量级分布式文件系统,其体系架构如图3所示,整个文件系统由客户端(Cli—ent)、跟踪器(Tracker)和存储节点(Storage)三部分组成。系统服务端有Tracker和Storage两个角色,Tracker用来负责作业的调度和负载均衡,Storage则用于存储文件,并负责管理文件。为支持大容量的数据存储,Storage采用分卷或分组的数据组织方式;存储系统可由一个或多个卷组成,一个卷可以由一台或多台存储服务器构建。同一个卷下的多台存储服务器中的数据文件都是相同的,卷与卷之间的文件则相互独立,通过这种数据组织方式,可以很好地实现数据冗余备份以及系统负载均衡的目的。

图 FastDFS文件系统体系结构示意图

[page] 4 Parallel Virtual File System (PVFS)

由Clemson大学设计并成功开发的PVFS是一种构建在Linux操作系统之上的开源并行虚拟文件系统。PVFS基于传统的C/S架构进行设计,整个文件系统由管理结点、计算结点和I/0结点三大部分组成,管理结点负责处理文件的元数据,计算节点用来执行各种计算任务,I/0结点则主要负责数据文件的存储和读写,并负责给计算结点提供所需的数据。在整个集群系统范围内,PVFS使用一致的全局命名空间,另外,PVFS应用对象存储的概念,将数据文件条块化为多个对象并分别存储到多个存储结点上。由于在网络通信方面,PVFS只支持TCP网络通信协议,这使得其灵活性不足;此外,由于PVFS应用对象存储的概念进行数据文件的存储,其在处理小文件时性能也不太理想。

5 General Parallel File System (GPFS)

GPFS的前身是Tiger Shark多媒体文件系统,其是IBM专为Linux集群系统设计的并行共享文件系统。在系统结构上,GPFS主要借鉴了IBM Linux集群系统中的虚拟共享磁盘技术,计算节点可以通过使用交换网络来同时并行访问系统中多个磁盘中的数据,并依赖这一访问方式来实现较高的I/O带宽。GPFS的主要特点包括:通过循环的方式将大文件存储在不同的磁盘上,同时通过合并操作来处理小文件的读写,使用动态选举的元数据结点来管理元数据;此外,GPFS还具有基于日志的失效节点的自动恢复策略以及集中式的数据锁机制。

6 Parallel File System (PFS)

Sun公司的PFS分布式文件系统可以很好地支持高性能和可扩展的I/O操作,其主要设计思想是将文件分布在多个磁盘和服务器上,并将存放文件的多个设备逻辑上看成一个虚拟磁盘来统一管理。很显然,PFS可以同时跨越多个存储系统,可以将整个PFS中的所有存储设备都看成是这个虚拟磁盘的一部分;当有多个节点同时访问同一文件时,PFS可以并行地为这些节点提供访问服务。PFS分布式文件系统构建于Solaris操作系统之上,主要包括宿主节点、计算节点、I/O从属节点和I/O主机节点。宿主节点是PFS提供给其它系统的人口,只有成功登录到宿主节点的用户才是合法的,才可以访问PFS内部的数据文件。计算节点主要用来管理PFS系统的通信和内存资源。L/O主机节点则主要负责文件系统的目录管理和存储块管理,同时为存储数据文件提供读写服务。I/O从属节点仅用来处理磁盘的读写操作和空白块的分配工作。

7 Ceph云存储文件系统

Ceph是Califomia大学Santa Cruz分校的Sage Weil设计的一种云存储分布式文件系统。Ceph云存储文件系统的主要目标是设计基于POSIX的无节点故障分布式文件系统,并且数据文件具有容错和无缝复制功能。Ceph文件系统具有三大特点,首先,其使用多个元数据服务器来构建系统的命名空间,这显著强化了元数据服务器的并发访问功能;其次,在元数据服务器上,Ceph文件系统采用了动态的子树划分技术,并支持元数据服务器的负载迁移,可以很好地实现元数据的负载均衡;最后,Ceph文件系统提供基于对象存储设备的对象文件系统,并将数据文件作为一个存储对象来对待,这有效地提高了数据文件的读写效率。

8 Taobao File System (TFS)

Taobao file system (TFS)是由淘宝开发的云存储文件系统,其主要面向海量非结构化数据存储问题提供服务。TFS部署在普通的Linux集群上,为淘宝网提供高可靠、高并发的大量小文件数据存储服务。TFS采用扁平化的数据组织结构将文件名映射到文件的物理地址,简化了文件访问流程,一定程度上优化了系统读写性能。

一个TFS集群由两个NameServer节点和多个DataServer节点组成,TFS的服务程序都是作为一个用户级的程序运行在普通Linux机器上。TFS将众多的小文件合并成大文件,并称这个大文件为Block,Block存储在DataServer上,每个Block在TFS系统内均拥有唯一的Id号。NameServer负责维护block与DataServer之间的映射关系。NameServer采用HA结构,即双机互为热备份,来实现容灾功能,两台NameServer同时运行,其中一台为主节点,另外一台作为备用节点。当主NameServer节点出现故障后,迅速将备份NameServer切换为主节点并对外提供服务。

责编:fanwei

13 Shell三剑客之 grep

09 Markdown 辅助线

Wiki宝典

Numpy 数组创建方法