分布式文件系统综述
- 格式:pdf
- 大小:2.25 MB
- 文档页数:8
由于用户数量的不断攀升,我对访问量大的应用实现了可扩展、高可靠的集群部署(即lvs+keepalived的方式),但仍然有用户反馈访问慢的问题。
通过排查个服务器的情况,发现问题的根源在于共享存储服务器NFS。
在我这个网络环境里,N个服务器通过nfs方式共享一个服务器的存储空间,使得 NFS服务器不堪重负。
察看系统日志,全是nfs服务超时之类的报错。
一般情况下,当nfs客户端数目较小的时候,NFS性能不会出现问题;一旦NFS服务器数目过多,并且是那种读写都比较频繁的操作,所得到的结果就不是我们所期待的。
下面是某个集群使用nfs共享的示意图:这种架构除了性能问题而外,还存在单点故障,一旦这个NFS服务器发生故障,所有靠共享提供数据的应用就不再可用,尽管用rsync方式同步数据到另外一个服务器上做nfs服务的备份,但这对提高整个系统的性能毫无帮助。
基于这样一种需求,我们需要对nfs服务器进行优化或采取别的解决方案,然而优化并不能对应对日益增多的客户端的性能要求,因此唯一的选择只能是采取别的解决方案了;通过调研,分布式文件系统是一个比较合适的选择。
采用分布式文件系统后,服务器之间的数据访问不再是一对多的关系(1个NFS服务器,多个NFS 客户端),而是多对多的关系,这样一来,性能大幅提升毫无问题。
到目前为止,有数十种以上的分布式文件系统解决方案可供选择,如lustre,hadoop,Pnfs等等。
我尝试了 PVFS,hadoop,moosefs这三种应用,参看了lustre、KFS等诸多技术实施方法,最后我选择了moosefs(以下简称MFS)这种分布式文件系统来作为我的共享存储服务器。
为什么要选它呢?我来说说我的一些看法:1、实施起来简单。
MFS的安装、部署、配置相对于其他几种工具来说,要简单和容易得多。
看看lustre 700多页的pdf文档,让人头昏吧。
2、不停服务扩容。
MFS框架做好后,随时增加服务器扩充容量;扩充和减少容量皆不会影响现有的服务。
大数据存储解决方案大数据存储解决方案引言随着信息技术的迅猛发展和互联网的普及,大数据已经成为当今社会最重要的资源之一。
然而,随着数据量的迅速增长,如何高效地存储和管理大数据成为了一个亟待解决的问题。
本文将介绍一些常用的大数据存储解决方案,包括分布式文件系统、NoSQL数据库和数据仓库。
分布式文件系统分布式文件系统是一种将大数据分散存储在多个节点上的文件系统。
它通过将大文件切割成多个小文件,并将这些小文件存储在不同的节点上,以实现数据的分布式存储和高并发访问。
其中,Hadoop分布式文件系统(HDFS)是目前应用最广泛的分布式文件系统之一。
HDFS采用了主从结构,其中有一个NameNode负责管理文件系统的元数据,而多个DataNode负责存储实际的数据。
HDFS具有高容错性和可扩展性,可以方便地处理超大规模的数据集。
此外,HDFS还提供了数据自动备份和恢复的功能,保证数据的安全性和可靠性。
NoSQL数据库传统的关系型数据库在处理大数据时面临着很多限制,如扩展性不足、读写性能不高等问题。
为了解决这些问题,产生了NoSQL(Not Only SQL)数据库。
NoSQL数据库可以存储非结构化和半结构化数据,具有高可扩展性和高性能。
在NoSQL数据库中,有几种适用于大数据存储的解决方案。
其中,列存储数据库是一种将数据按列存储的数据库。
这种存储方式可以大幅度提高查询性能,特别适合于数据分析和数据挖掘等场景。
另外,文档数据库是一种以文档为单位存储数据的数据库。
它支持复杂的数据结构,适用于存储半结构化数据。
此外,键值数据库和图数据库也是常用的NoSQL数据库解决方案。
数据仓库数据仓库是一个用于存储和管理企业数据的系统。
它采用了特定的数据模型和架构,用于支持复杂的查询和分析操作。
数据仓库通常采用多维数据模型,可以很方便地进行数据切片和切块操作。
数据仓库的存储技术发展至今已非常成熟,常用的存储方式包括关系型数据库、列存储数据库和分布式文件系统等。
DFS使用方法总结(超详细)使用分布式文件系统 (DFS),系统管理员可以使用户方便地访问和管理物理上分布在网络各处的文件。
通过DFS,可以使分布在多个服务器上的文件如同位于网络上的一个位置一样显示在用户面前。
您可采用两种方式实施分布式文件系统:一种是独立的根目录分布式文件系统,另一种是域分布式文件系统。
独立的DFS根目录:不使用 Active Directory。
至多只能有一个根目录级别的目标。
使用文件复制服务不能支持自动文件复制。
通过服务器群集支持容错。
域DFS根目录:必须宿主在域成员服务器上。
使它的DFS名称空间自动发布到 Active Directory 中。
可以有多个根目录级别的目标。
通过 FRS 支持自动文件复制。
通过 FRS 支持容错。
分布式文件系统 (DFS) 映射由一个DFS根目录、一个或多个DFS链接以及指向一个或多个目标的引用组成。
DFS根目录所驻留的域服务器称为主服务器。
通过在域中的其他服务器上创建根目标,可以复制DFS根目录。
这将确保在主服务器不可用时,文件仍可使用。
因为域分布式文件系统的主服务器是域中的成员服务器,所以默认情况下,DFS映射将自动发布到 Active Directory 中,从而提供了跨越主服务器的DFS拓扑同步。
这反过来又对DFS根目录提供了容错性,并支持目标的可选复制。
通过向DFS根目录中添加DFS链接,您可扩展DFS映射。
Windows Server 2003 家族对DFS映射中分层结构的层数的唯一限制是对任何文件路径最多使用 260 个字符。
新DFS链接可以引用具有或没有子文件夹的目标,或引用整个Windows Server 2003 家族卷。
创建DFS根目录使用DFS管理工具,您可以指定某个目标,指派它为DFS根目录。
除了访问该目标外,用户还可以访问该目标的任何子文件夹。
使用 Windows Server 2003 Enterprise Edition 或Windows Server 2003 Datacenter Edition 时,您可在单独计算机上作为多个DFS根目录的宿主。
H o o p分布式文件系统架构和设计Hessen was revised in January 2021Hadoop分布式文件系统:架构和设计引言云计算(cloud computing),由位于网络上的一组服务器把其计算、存储、数据等资源以服务的形式提供给请求者以完成信息处理任务的方法和过程。
在此过程中被服务者只是提供需求并获取服务结果,对于需求被服务的过程并不知情。
同时服务者以最优利用的方式动态地把资源分配给众多的服务请求者,以求达到最大效益。
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。
它和现有的分布式文件系统有很多共同点。
但同时,它和其他的分布式文件系统的区别也是很明显的。
HDFS是一个高度容错性的系统,适合部署在廉价的机器上。
HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
一前提和设计目标1 hadoop和云计算的关系云计算由位于网络上的一组服务器把其计算、存储、数据等资源以服务的形式提供给请求者以完成信息处理任务的方法和过程。
针对海量文本数据处理,为实现快速文本处理响应,缩短海量数据为辅助决策提供服务的时间,基于Hadoop云计算平台,建立HDFS分布式文件系统存储海量文本数据集,通过文本词频利用MapReduce原理建立分布式索引,以分布式数据库HBase存储关键词索引,并提供实时检索,实现对海量文本数据的分布式并行处理.实验结果表明,Hadoop 框架为大规模数据的分布式并行处理提供了很好的解决方案。
2 流式数据访问运行在HDFS上的应用和普通的应用不同,需要流式访问它们的数据集。
HDFS的设计中更多的考虑到了数据批处理,而不是用户交互处理。
比之数据访问的低延迟问题,更关键的在于数据访问的高吞吐量。
3 大规模数据集运行在HDFS上的应用具有很大的数据集。
HDFS上的一个典型文件大小一般都在G字节至T字节。
Software Engineering and Applications 软件工程与应用, 2017, 6(2), 21-27 Published Online April 2017 in Hans. http://www.hanspub.org/journal/sea https://doi.org/10.12677/sea.2017.62003
文章引用: 杜振南, 朱崇军. 分布式文件系统综述[J]. 软件工程与应用, 2017, 6(2): 21-27. https://doi.org/10.12677/sea.2017.62003
A Survey of Distributed File System Zhennan Du, Chongjun Zhu College of Computer Science, National University of Defense Technology, Changsha Hunan
Received: Mar. 27th, 2017; accepted: Apr. 10th, 2017; published: Apr. 14th, 2017
Abstract The file system is an important part of the computer system. With the development of personal computer and network technology, the generation of distributed file system has effectively solved the problem of infinite growth of massive information storage. This paper summarizes the origin of the distributed file system and comprehensively analyzes and organizes the architecture of several typical distributed file systems by consulting a large number of documents.
Keywords Distributed File System, Storage Technology
分布式文件系统综述 杜振南,朱崇军 国防科学技术大学计算机学院,湖南 长沙
收稿日期:2017年3月27日;录用日期:2017年4月10日;发布日期:2017年4月14日
摘 要 文件系统是计算机系统的重要组成部分,随着个人计算机和网络技术的发展,分布式文件系统的产生有效解决了无限增长的海量信息存储问题。本文通过查阅大量文献,概述了分布式文件系统的起源并综合分析整理了几种典型分布式文件系统的体系架构。
关键词 分布式文件系统,存储技术 杜振南,朱崇军 22 Copyright © 2017 by authors and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
1. 引言 随着科学技术的发展以及云计算、P2P等技术的普及,全球数据量呈现爆炸式的增长,尤其是大数据时代的到来,通过互联网,用户制造了海量的数据。2017年1月22日中国互联网络信息中心发布的《第39次中国互联网络发展状况统计报告》中指出:我国2016年全年共计新增网民4299万人,增长率为6.2%,其中,手机网民规模达6.95亿,占比达95.1%,增长率连续3年超过10%。手机网民最常使用即时通信APP:2016年,网民在手机端最经常使用的APP应用前三位分别是微信、QQ、淘宝,无论是微信、QQ、微博等社交通信软件还是淘宝、京东等电商软件,其图片的上传、分享与展示所产生的数据量都达到了指数级。传统的存储系统无法满足呈爆炸性增长的海量数据存储需求,为解决信息存储容量、数据备份、数据安全等问题,分布式文件系统应运而生,如今已得到广泛应用。使用分布式文件系统时,用户不必考虑底层的存储设备以及实现细节,系统会将用户的数据进行存储、归档、备份,实现对数据的使用、共享以及保护的目的。 本文阐述了分布式文件系统的概念和发展历程,结合近年来分布式文件系统的应用情况,对几种典型分布式文件系统的概念、特点、体系架构进行研究,旨在帮助学习研究人员进一步了解分布式文件系统。
2. 分布式文件系统概述 本地文件系统只能访问与主机通过I/O总线直接相连的磁盘上的数据。当局域网出现后,各台主机间通过网络互连起来。如果每台主机上都保存一份大家都需要的文件,既浪费存储资源,又不容易保持文件的一致性。于是就提出文件共享的需求,即一台主机需要访问其它主机的磁盘。这直接导致了分布式文件系统的诞生。
2.1. 分布式文件系统的概念 分布式文件系统(Distributed File System,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连文件系统管理的物理存储资源。分布式文件系统基于客户机/服务器(C/S)模式而设计,通常一个网络内可能包括多个可供用户访问存储资源的服务器。同时,分布式文件系统的对等特性也允许一些系统在扮演客户端的同时扮演服务端。例如,用户可以发布一个允许其他客户机访问的目录,一旦被访问,这个目录对于其他客户机来说就像使用本地驱动器一样。
2.2. 分布式文件系统发展历程 分布式文件系统的发展主要经历了四个阶段[1]: 第一代分布式文件系统(1980~1990) 早期的分布式文件系统一般以提供标准接口的远程文件访问为目的,更多地关注访问的性能和数据的可靠性。早期的文件系统以NFS (Network File System)和AFS (Andrew File System)最具代表性,它们对以后的文件系统设计也具有十分重要的影响。 第二代分布式文件系统(1990~1995) 这一时期的分布式文件系统主要需求是广域网和大容量。XFS (Extended File System)、Tiger Shark并杜振南,朱崇军 23 行文件系统及Frangipani等分布式文件系统应运而生。其中,XFS借鉴了当时对称多处理器的设计思想,解决了广域网上缓存和减少网络流量的难题。后来出现的Tiger Shark文件系统则是专门针对规模比较大的多媒体应用。它做的创新主要集中在预留资源和针对资源优化的调度策略,保证了访问的高性能。 第三代分布式文件系统(1995~2000) 这一阶段,网络技术的发展和普及极大地推动了分布式文件系统的研究与应用,出现了许多优秀的分布式文件系统,如General Parallel File System (GPFS)等。数据容量、性能和共享的需求使得这一时期的分布式文件系统管理的系统规模更庞大、系统更复杂,更多的先进技术也得以应用到系统中实现,如分布式锁、缓存管理技术、Soft Updates技术、文件级的负载平衡等。 第四代分布式文件系统(2000年后) 随着SAN (Storage Area Network and SAN Protocols)和NAS (Network Attached Storage)两种体系结构逐渐成熟,研究人员开始考虑如何将两种体系结构结合起来,以充分利用两者的优势。另一方面,基于多种分布式文件系统的研究成果,人们对体系结构的认识不断深入,网格的研究成果等也推动了分布式文件系统体系结构的发展。各类应用对于分布式文件系统的要求也越来越高:如大容量、高性能、可扩展性、高可用性、可管理性等。
2.3. 分布式文件系统的优势 相对于传统存储方式,分布式文件系统具备如下优势: 一是节约成本。分布式文件系统使用大量廉价的设备存储数据,对于企业,减少了购买昂贵存储服务器的成本,分布式文件存储技术的应用,使得企业对设备的维护以及管理成本大幅度降低。 二是方便管理。分布式文件系统在设计时就考虑了数据的管理,特别是海量数据的管理,通过使用虚拟化技术,可以方便的完成数据的备份以及迁移等操作。 三是扩展性好。支持线性扩容,当存储空间不足时,可以采用热插拔的方式增加存储设备,扩展方便。 四是可靠性强。分布式文件系统包含冗余机制,自动对数据实行备份,在数据发生损坏或丢失的情况下,可以迅速恢复。 五是可用性好。用户只需要拥有网络就可以随时随地的访问数据,不受设备、地点的限制。
3. 典型分布式文件系统介绍 3.1. Google文件系统 Google文件系统(Google File System,GFS)是Google公司为了存储海量搜索数据而设计开发的面向搜索引擎的分布式文件系统,为大量用户提供高可靠、高性能、良好扩展的数据存储服务[2]。主要用于大型的、分布式的、需要对大量数据进行访问的应用。它对硬件要求不高,只需运行在廉价的普通硬件上即可为大量用户提供总体性能较高的服务。在Google搜索引擎中,最大的分布式存储系统集群中已经广泛的在Google内部进行部署,能够同时支持数百个客户端的访问,是处理整个WEB范围内难题的一个重要工具。
GFS架构 一个GFS由一个master和多个chunk servers组成,并且能够被多个客户访问。master在GFS中处于中心位置,存储整个文件系统的元数据,包括命名空间、访问控制信息、文件到chunk的映射信息以及任意chunk的位置信息。文件被master分成了固定大小的chunk,chunk servers在本地的磁盘上存储