机群文件服务系统及其输入输出处理方法技术方案

技术编号:2863178 阅读:176 留言:0更新日期:2012-04-11 18:40
一种机群文件服务系统,其特征在于:包括:元数据服务器和一个以上的存储服务器;每一个存储服务器都与元数据服务器相连,保持二者的信息一致;    所述的元数据服务器用来存储所有文件的元数据,并完成对文件的元数据进行操作;    所述的存储服务器用来存储文件,并完成对文件本身进行操作。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种计算机机群的文件服务系统及其输入输出(IO)处理方法,尤其是一种应用于文件服务系统的IO处理方法,属于计算机机群

技术介绍
计算机机群文件系统(Cluster File System)用来在机群环境下提供分布式文件服务,是高性能服务器的重要组成部分。在IO密集型的计算机群环境中,需要读写处理的文件往往非常大,对文件读写的强度也大,因此,在很大程度上机群中文件服务器对文件的读写操作成为机群处理的一个主要操作,或者说,文件服务器处理读写请求的能力往往就决定了整个系统的处理效率。现有技术中,机群文件服务系统一般只包括一个文件服务器,如图1所示,虽然服务器的高速读写的技术不断发展,进行IO操作的速度越来越快,但是与机群处理的海量数据和大规模科学计算的数据相比,单个文件服务器处理的能力仍然太慢,无法满足机群处理的需要;在密集IO的机群处理环境中,文件读写处理速度已经成为一个整个机群系统的瓶颈,如何提高机群文件服务系统处理IO操作的效率,是机群文件服务系统中迫切需要解决的问题。如果能够采用多个服务器来分担单个文件服务器的工作,利用机群中多结点来共同完成文件操作,一定可以大大提高文件的处理速度,突破整体机群系统处理的瓶颈;但是如果文件存储在不同的服务器中就会对机群的单一系统映像产生影响。所谓的单一系统映像是指用户可以登录到机群中的任一客户端结点,通过使用机群系统软件,如同使用一台机器一样方便进行操作,对文件系统而言,用户所看到的文件目录结构应该完全相同。文件存储在不同的文件服务器,给机群单一系统映像的实现带来了困难。
技术实现思路
本专利技术所要解决的技术问题在于提供一种计算机机群文件服务系统实现在密集IO的计算环境中对读写操作的并行处理,有着更高的读写聚集带宽,支持外部高可用工具对存储服务器的高可用操作。本专利技术所要解决的另一个技术问题在于提供一种在上述的文件系统中进行文件IO处理的方法。本专利技术的机群文件服务系统,包括元数据服务器和一个以上的存储服务器;每一个存储服务器都与元数据服务器相连,保持二者的信息一致;所述的元数据服务器用来存储所有文件的元数据,并完成对文件的元数据进行操作;所述的存储服务器用来存储文件,并完成对文件本身进行操作。本专利技术机群文件服务系统的输入输出处理方法,其特征在于包括如下步骤步骤一、用户在客户端结点通过文件系统API提交IO请求;步骤二、客户端结点分析用户的IO请求类型,如果是元数据操作,则直接发送请求到元数据服务器,元数据服务器处理后将结果返回给用户,结束IO处理;如果请求中包括存储服务器操作,则先从元数据服务器获得文件的存储服务器信息,然后向相应的存储服务器发出请求;执行步骤三;步骤三、存储服务器完成相应的处理,将结果返回给用户;步骤四、如果本次操作改变了文件的元数据属性则需要在元数据服务器上更新此文件的元教据信息。本专利技术具有以下优点 1.元数据和数据的分散处理简化了存储服务器的结构,从设计上增强了CFS的稳定性、增强了CFS对读写操作的处理能力。2.数据分条技术很好地扩展了已有系统的带宽,实现了并行IO,使系统具有良好的可扩展性。3.存储服务器的无状态和操作请求的等幂设计能够更好地支持高可用和简化系统的多线程实现。4.多线程技术提高了存储服务器CPU的利用率,能够支持更多的客户端并发访问,提高了系统的聚集带宽。附图说明图1是现有的机群中的文件服务系统;图2是本专利技术的机群文件服务系统;图3是本专利技术的文件服务系统处理用户IO请求的示意图;图4是本专利技术存储服务器的工作流程示意图;图5是本专利技术存储服务器主线程示意图;图6是本专利技术存储服务器子线程示意图。具体实施例方式存储服务器中CPU的处理能力大大强于磁盘读写的处理能力,因此,如何发挥存储服务器CPU的强大处理能力,同时利用机群中多个存储服务器的特点实现并行IO,是提高机群文件服务系统处理效率一个关键技术。本专利技术的设计思想是利用存储服务器的CPU的强大处理能力,和机群多个存储服务器的特点,实现并行IO操作,来极大的提高机群文件服务系统的处理效率。本专利技术所述的机群文件服务系统,如图2所示,包括元数据服务器和一个以上的存储服务器;每一个存储服务器都与元数据服务器相连,保持二者的信息一致; 所述的元数据服务器用来存储所有文件的元数据,并完成对文件的元数据进行操作;所述的存储服务器用来存储文件,并完成对文件本身进行操作。本专利技术通过将传统机群文件服务系统服务器操作中的元数据操作请求分离出来,由专门的元数据服务器来处理;这样,存储服务器仅仅处理针对文件的打开(open)、关闭(close)、读(read)、写(write)、删除(remove)、截断(truncate)、数据刷新(sync)等请求进行处理。所述的元数据是指文件的属主、文件的建立时间等文件信息数据以及各文件存储服务器的分布信息和各文件存储服务器的地址等文件属性信息。当用户进行文件操作时,元数据服务器首先响应用户的请求,提供给用户所有文件的信息和单一的目录结构,满足机群系统要求的单一系统映像。用户通过元数据服务器获得了用户需要操作的文件的存储服务器信息,当用户对文件进行打开(open)、关闭(close)、读(read)、写(write)、删除(remove)、截断(truncate)、数据刷新(sync)等操作时,直接对相应的一个或多个存储服务器提出请求,进行操作,实现存储服务器的并布处理,不再经过元数据服务器。通过多个存储服务器对单一的元数据服务器的支持,当多个用户提出请求时可以由不同的存储服务器作出响应,也可以是一个用户提出对一个较大的文件进行操作时,由多个存储服务器对文件进行分条后,共同响应处理,以两种方式实现并行处理。并行处理的实现是在文件进行存储的时候,就预先采取了多个服务器存储的方式。对于一个比较大的文件,文件数据采用分条存储方式,即将一个文件数据根据分条的大小在多个存储服务器的磁盘上分布,当客户端对一个文件进行读写操作时可由多个存储服务器进行并行处理。分条的大小可以根据存储服务器的数量,机群的规模进行不同的选择,一般为64K的倍数,如64K,128K,等等。由于服务器硬件等意外因素的发生,可能出现存储服务器失效情况,为了避免这种情况的发生,提供系统的可用性,本专利技术的文件系统采用了无状态存储服务器的方式来进行存储,即每一个发送到存储服务器的请求包含存储服务器执行这个请求的全部信息。这样,通过客户端的重做机制可以方便的支持存储服务器的高可用。同样是出于提高系统可用性的考虑,存储服务器处理的请求必须是等幂操作,这是因为等幂操作可以保证客户端请求乱序重发时服务器处理结果的正确性。请求的等幂特性可以方便的支持存储服务器的多线程实现和高可用实现。为了提高存储服务器cpu的利用率,存储服务器采用多线程进行存储操作,包括主线程和子线程,主线程负责监听请求socket,监听到客户端发送的请求后将请求放入工作队列中;所有子线程轮询工作队列,如果工作队列为空,则不操作;否则轮询到的子线程处理这个请求;子线程完成请求后将请求放入清除队列;主线程根据清除队列清除那些已经结束运行的工作线程。本专利技术所述的机群文件服务系统的IO处理方法,如图3所示,包括如下步骤步骤一、本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:史小冬朱耀飞贺军宋冬梅胡风华
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利