`
varsoft
  • 浏览: 2570345 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

[转] 基于Linux的集群系统的文件系统介绍

阅读更多

本篇将为您讲述集群系统文件系统,主要包括Coda,Global,xFS,MOSIX文件系统。
  集群计算的发展需要发展并升级文件系统,此文件系统不仅能够对多个文件提供并行的访问,而且能在对同一文件进行访问的进程间提供cache一致性。大多数传统的网络文件系统如NFS、AFS、Coda对于并行处理而言是远远不够的,因为它们都依赖中心文件服务器。但是,随着越来越多的客户的加入,服务器的cpu很快就成为了性能的瓶颈。为了解决这个问题,处理能力更强的服务器已经被制造了出来,而且文件系统的设计者们也试图将更多的工作交给客户来完成,但是即使是这样,服务器的速度仍然是文件系统可升级性的瓶颈。新一代的文件系统如Global File System(GFS) 、XFS和 Frangipani 比较适合于集群系统。因为这些系统都在集群系统中的机器上分配存储器、cache 和控制权,并且提供了并行文件访问和cache一致性的解决方法。
  
  1. Coda文件系统

  Coda文件系统(Coda File System)适用于分布式网络环境。它是在1987年在卡耐基梅隆大学以AFS2为原型开发出来的。Linux Virtual Server就采用了Coda文件系统。Coda提供了以下适用于网络文件系统的特性。

中国网管论坛bbs.bitsCN.com

  
  为移动的客户提供了断开操作。
  它是一种自由软件。
  通过客户访问的持续缓存提供了高可用性。
  服务器复制功能。
  提供了认证的安全模型、加密和访问控制。
  部分网络失效后能够继续工作。
  具有网络带宽适应性。
  较好的可扩展性。
  即使在网络失效时也为共享定义了良好的语法。
  
  
  
  AFS和Coda文件系统都将所有的文件放于同一个目录下,如AFS 是/afs,Coda是 /coda,这意味着所有的客户都可以使用相同的配置,所有的用户看到的是相同的文件树。对于大的安装而言这是非常重要的。对于NFS文件系统而言,客户需要服务器的最新列表而在Coda中只需要找到根目录/coda。
  
  当在客户端敲入\"cat /coda/tmp/foo\"这样的请求时,cat将调用系统调用向核心请求服务,核心首先找到对应的文件索引节点并返回与该文件相关的文件句柄。索引节点包含文件的一些相关信息,文件句柄用于打开文件。系统调用首先进入核心的虚拟文件系统(VFS),然后它将请求传送给核心中的Coda文件系统模块进行处理。Coda文件系统模块包含着从VFS来的最近的一些请求,然后它将此请求交给Coda缓冲管理器venus进行处理。Venus通过察看硬盘缓冲区、向服务器发请求等方式来定位文件的所在地。如果在硬盘缓冲区中没有找到匹配的文件,则通过远程系统调用向服务器发请求,并且将取到的文件放在cache中,这时,这个文件就是一个普通的文件了,因此可以通过本地文件系统对该文件进行读写的操作。如果在硬盘缓冲区找到了此文件,则可以直接使用这个文件。当对此文件进行了一定的修改并且关闭了以后,venus将把新文件传送给服务器从而来更新服务器上的文件。其它的操作如修改文件系统,创建新目录,删除文件,去除符号链接等都可以传送给服务器

网管网www_bitscn_com


  
  但是由于网络有时会出现问题,因此如何保证文件的连续性是一个非常重要的问题。当venus意识到服务器不可用时,它就将客户端对文件的更新存储在修改日志中,当服务器重新可用时,便根据修改日志对服务器上的相应的文件进行更新。
  
  2. Global 文件系统

  Global 文件系统(Global File System, GFS)允许多个Linux机器通过网络共享存储设备。每一台机器都可以将网络共享磁盘看作是本地磁盘,而且GFS自己也以本地文件系统的形式出现。如果某台机器对某个文件执行了些操作,则后来访问此文件的机器就会读到写以后的结果。GFS文件系统的使用示意图如图1所示。:

  3. xFS文件系统

  xFS试图通过将服务器的功能如保持cache的一致性、定位数据和处理磁盘请求分布在各个客户上来提供对文件系统数据的低延迟、高带宽的访问。
  
  为了保持cache一致性,xFS采用了如下的方法。它将客户方的所有的内存空间看为一个大的cache,这样就减少了客户方的数据缓存,利用了闲置机器的内存,这种合作型的缓存可以通过减少到达磁盘的请求量来降低读延迟。
网管bitscn_com

  
  为了将定位数据的功能分布到每个客户端,xFS让每个客户都必须对文件的一个子集对应的请求进行处理。文件数据在多个客户端加以分类从而提供更高的带宽,这些分类数据包括一些奇偶信息,通过这些信息可以在机器失效时恢复分类的数据报。这种方法可以保证没有任何节点会产生单点失效的情况。
  
  4. MOSIX文件系统

  MOSIX集群使用了自己的文件系统MFS文件系统。MFS将集群中的所有文件系统和目录都看作是一个文件系统,而且它提供了对所有节点上的所有文件系统的统一访问,它还通过只提供一个cache保证了cache的一致性。
  
  MFS包含了许多位于不同节点上的文件子树,因此它就允许对多个文件进行并行操作和cache一致性。
  
  在MOSIX集群中进行进程迁移时,如果此进程主要占用的是CPU资源,则迁移此进程对于提供系统性能是非常有效的,但是如果此进程需要进行大量的I/O操作,则迁移进程非常不利。这是因为每个I/O操作都需要与该进程原来所处的节点进行通讯。
  
  因此MFS增加了对DFSA(Direct File System Acess)的支持。DFSA的目的就是让那些需要进行大量I/O操作的进程迁移到远端节点上,该远端节点拥有大多数I/O操作将会涉及到的文件,因此大多数的I/O操作都能在远端节点上完成,而且在远端节点上可以通过本地访问来访问数据。如果一个系统调用是节点无关的,此系统调用就会在远端节点上执行,否则就在本地执行。MFS比其它网络文件系统优越的地方就是它允许使用本地文件系统,这样就减少了进程和文件服务器之间的通讯开销。


分享到:
评论

相关推荐

    基于Linux的集群存储系统 (1).pdf

    【基于Linux的集群存储系统】是一种利用多台服务器协同工作的技术,旨在提高系统的可用性、稳定性和性能。集群存储系统通常由多个同时运行相同应用的服务器组成,它们共同对外提供服务,形成一个单一的虚拟服务器。...

    基于Linux的集群存储系统.pdf

    Linux集群系统通常包括诸如Heartbeat的心跳检测机制、GFS (Global File System) 或 Lustre等分布式文件系统,以及如DRBD (Distributed Replicated Block Device) 的数据复制技术,它们共同保证了数据的安全性和一致...

    基于Linux的服务器集群系统的研究与设计.pdf

    【基于Linux的服务器集群系统的研究与设计】 在IT领域,基于Linux的服务器集群系统是一种高效且经济的解决方案,尤其在处理高并发访问和大数据量计算的任务时。Linux操作系统以其开源、稳定、高效和安全性,成为了...

    基于定制Linux系统的自动化部署方法设计与实现.pdf

    本文主要介绍了基于定制Linux系统的自动化部署方法设计与实现,旨在解决Linux集群的自动化部署问题。该方法通过Cobbler和Kickstart技术实现了Linux集群的自动化部署,解决了传统的Linux集群安装和配置问题。 Linux...

    浅析基于Linux的数据库集群系统.pdf

    【标题】:“浅析基于Linux的数据库集群系统” 【描述】:本文探讨了在Linux操作系统上构建数据库集群系统的设计与实现,强调了Linux系统的特性及其在数据库集群中的应用。 【标签】:Linux操作系统、系统开发、...

    基于Linux的PC集群系统的构建.pdf

    【基于Linux的PC集群系统构建】是针对并行计算需求的一种高效、经济的解决方案。本文主要探讨了如何在实验室环境中,利用多台普通PC构建一个基于Linux操作系统的集群系统,以便进行并行编程和研究。 首先,集群系统...

    如何架设基于LINUX的服务器集群

    本文将详细介绍如何构建基于Linux操作系统的服务器集群,包括集群的基本概念、并行技术的应用以及具体的构建步骤等。 #### 1. 什么是服务器集群? 服务器集群是指将多台独立的计算机系统通过特定的技术手段连接在...

    基于Membership的高可用性Linux集群.pdf

    【基于Membership的高可用性Linux集群】 Linux集群是一种将多台计算机通过高速网络连接,协同工作,以提供高可用性、高可扩展性和负载均衡的系统。这种集群技术在操作系统领域,尤其是Linux环境下,有着广泛的应用...

    Linux集群实时监控系统的一种实现方法.pdf

    对于Linux操作系统和系统开发的专业人士来说,本文介绍的Linux集群实时监控系统实现方法不仅具有实用价值,而且还提供了深入学习和实践指导的机会。通过了解和掌握这一方法,专业人士可以在保证集群稳定运行的同时,...

    Linux服务器集群系统实现方案详细解析

    - **数据一致性**:使用如GFS2(Global File System 2)或OCFS2(Oracle Cluster File System 2)等集群文件系统来保证多台服务器间的数据一致性。 - **故障检测和恢复策略**:设置监控和自动故障转移机制,确保服务...

    基于Linux集群的并行计算 (2).pdf

    【基于Linux集群的并行计算】是针对高性能计算领域的一种解决方案,主要应用于处理大量计算任务的场景,如航空航天、环境科学、生命科学等。并行计算通过利用多处理器或多计算机协同工作,显著提升计算效率,克服单...

    基于嵌入式Linux平台的集群渲染系统设计实现.pdf

    【基于嵌入式Linux平台的集群渲染系统设计实现】 在计算机图形学领域,尤其是影视动漫产业,3D图形渲染是一项至关重要的技术。它直接影响到作品的制作周期和成本。对于小型工作室或动漫企业来说,建立一套具备商业...

    一种linux集群文件系统研究.pdf

    综上所述,BoysFS是一种创新的Linux集群文件系统,其特点在于高可用性、可扩展性以及灵活的数据管理和分布式查找机制。这些特性使其适合于大规模、高并发的环境,如云计算和大数据处理中心,能够提供高效、可靠的...

    Linux 集群大全

    文件如《基于linux的集群系统.doc》和《新建 Microsoft Word 文档 (2).doc》可能包含了详细的步骤指南、案例分析和最佳实践,对于初学者和进阶用户都是宝贵的参考资料。 通过学习这些文档,你可以掌握在Linux环境...

    基于Linux集群技术的校园网络中心设计.pdf

    在设计基于Linux集群技术的校园网络中心时,其体系结构通常分为三个主要部分:负载均衡器、服务节点池和存储服务系统。负载均衡器作为集群的唯一入口,能够实现客户端请求的分散处理和故障转移,确保网络服务的高...

    基于Linux集群技术的校园网络中心方案.pdf

    基于Linux集群技术的校园网络中心方案是针对当前网络流量增加所带来的一系列问题而提出的一种高效、可扩展和高可用性的解决方案。随着网络技术的发展,校园网络承担的教学、科研及管理应用日益增多,传统的单一...

    基于Linux平台下的Hadoop和Spark集群搭建研究.pdf

    "基于Linux平台下的Hadoop和Spark集群搭建研究" 本文主要研究了基于Linux平台下的Hadoop和Spark集群搭建,旨在提高计算速率和数据性能。Hadoop是最流行的处理平台,主要解决了数据存储和分布式计算的问题,而Spark...

    基于Linux构建Hadoop高性能服务器集群.pdf

    基于Linux构建Hadoop高性能服务器集群 本文档介绍了如何在Linux下构建高性能的Hadoop服务器集群,以满足大数据时代对高性能计算的需求。文章首先介绍了Hadoop框架的重要性,然后详细介绍了如何在Linux下搭建Hadoop...

    基于Linux集群构建网络服务器的方案分析.pdf

    【基于Linux集群构建网络服务器的方案分析】 Linux操作系统是当前极具发展潜力的计算机操作系统,以其开源、自由、高效和灵活的特点受到广泛关注。随着技术的不断进步,越来越多的企业和网站选择使用Linux构建网络...

Global site tag (gtag.js) - Google Analytics