论文部分内容阅读
随着互联网技术的快速发展,每天都会产生很多结构化和非结构化数据。存储设备作为存放数据的基础设施,是计算机系统的重要组成部分之一,面临成本高、可靠性很低、利用率低、可扩展性低以及维护费用昂贵的困窘。存储系统逐渐从计算机系统中独立出来,以一个单独的模块管理。从早期DEC的FAL到现在的GFS文件系统大致经历了三个阶段:网络文件系统,共享SAN文件系统和面向对象的文件系统。网络文件系统重点实现网络环境下的文件共享和解决客户端与文件服务器的交互问题;共享SAN文件系统重点研究存储系统的可扩展性和面向SAN的共享文件系统;面向对象文件系统重点研究对象存储,并发访问和元数据管理。从系统架构来看主要有C/S体系结构,共享存储SAN架构,基于集群的分布式架构和P2P对称式体系结构。其中基于集群的分布式文件系统是普遍采用的体系结构,该结构由三个组件构成:客户端、元数据服务器和数据服务器。客户端负责发送读写请求,缓存文件元数据和文件数据。元数据服务器负责管理元数据和处理客户端的请求,是整个系统的核心组件。数据服务器负责存放文件数据,保证数据的可用性和完整性。该架构的好处是性能和容量能够同时扩展,系统规模具有很强的伸缩性。本文设计和实现一种基于集中式元数据服务模型和基于集群的分布式文件系统。其中元数据服务主要由三个部分构成:资源管理节点,元数据服务主节点和元数据服务集群。资源管理节点主要负责管理所有的元数据服务节点,通过心跳技术检测元数据服务所有节点的状态。当主节点失效之后,资源管理节点迅速从元数据集群选择一个主节点恢复元数据服务,从而消除了系统的单点故障,提升了元数据服务的高可用性。数据服务器负责存放文件数据,数据以块的形式管理。每个服务器进程负责一个磁盘,对该磁盘上的数据块进行管理。本文通过把小文件合并成文件块,不但降低小文件写入操作的系统开销,而且节约了磁盘空间。数据节点采用廉价的PC,磁盘资源也很宝贵。磁盘负载失衡会造成磁盘的浪费,本文先对磁盘的负载进行分析,然后采用遗传算法对数据服务器集群所有磁盘进行负载均衡,平衡磁盘之间的使用比例。最后对元数据服务的高可用性,小文件写入操作和数据服务器磁盘负载均衡进行性能测试,测试结果跟HDFS文件系统对比达到预期目标。