GFS文件系统分析

上传人:M****1 文档编号:455806572 上传时间:2022-11-06 格式:DOC 页数:6 大小:130.50KB
返回 下载 相关 举报
GFS文件系统分析_第1页
第1页 / 共6页
GFS文件系统分析_第2页
第2页 / 共6页
GFS文件系统分析_第3页
第3页 / 共6页
GFS文件系统分析_第4页
第4页 / 共6页
GFS文件系统分析_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《GFS文件系统分析》由会员分享,可在线阅读,更多相关《GFS文件系统分析(6页珍藏版)》请在金锄头文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! GPFS文件系统分析老是想搞一次GPFS,就是没机会,等。什么是GPFS文件系统GPFS(General Parallel File System)是IBM公司开发的高性能集群文件系统,从1998年开始首先应用于AIX集群,2001年后应用于Linux集群。在集群的环境中,GPFS文件系统允许集群中所有的节点访问同一文件的数据,并提供统一的文件存储空间。应用可以使用标准的UNIX文件系统接口访问文件的内容。GPFS支持32位和64位的应用,经过测试的文件系统的大小为100TB。GPFS可以动态的增加或减少文件系统的容量。GPFS提供了标准的POS

2、IX应用开发接口,支持缓存方式的I/O(buffered I/O)、同步I/O操作(文件打开时使用O_SYNC或O_DSYNC标示符)、核心级的异步I/O(kernel asynchronous I/O,通过使用异步I/O系统调用实现)和直接I/O(Direct I/O,没有缓存的I/O)。直接I/O可以在文件级,使用O_DIRECT标识打开文件,也可以在文件系统级使用dio参数挂接文件系统。直接I/O的特点是执行I/O操作时忽略文件系统的缓存,这样可以节省处理器的消耗,避免数据从文件系统的缓存拷贝到应用的缓存。GPFS并行文件系统区别于其他的集群文件系统的特点是,在多个AIX、Linux节点

3、中,为应用提供并发的、高速的文件访问,提供突出的性能,尤其是大数据量的顺序操作,尽管典型的GPFS应用适用于多个节点,但对单个节点也能提供有益的性能。GPFS文件系统适用于AIX和Linux节点的异构集群从GPFS版本2.2开始,允许集群中同时存在AIX和Linux的节点。GPFS的AIX版本和GPFS的Linux版本基于同样的源代码,只是适应于不同的硬件环境和不同的操作系统环境。GPFS使用共享硬盘的模式(Shared Disk Model)GPFS使用共享硬盘的方式,可以通过多种方式实现硬盘的共享:1)基于硬件的SAN结构,集群中的所有节点物理的连接到所有的存储2)使用单独的软件驱动VSD

4、(Virtual Shared Disk),对集群节点体统虚拟的共享硬盘,通过VSD调度I/O操作3)使用NSD(Network Shared Disk),是有GPFS本身提供的,通过NSD调度I/O操作在VSD或NSD的环境中使用GPFS,为增强GPFS的性能,建议存储和节点之间通过高速的通道互连,增加数据的带宽。提高GPFS性能的关键点以下GPFS的特点可以帮助GPFS文件系统取得高性能的I/O:- 跨越多个硬盘和多个节点的条带化数据- 高效的客户端数据缓存- 允许管理员配置大的数据块,满足应用的特点- 使用预读(read-ahead)和后台写(write-behind)技术- 使用字节级

5、(byte-range)的锁技术,提供数据的一致性要求,可以使多个应用节点并发访问同一文件GPFS元数据(GPFS metadata)在集群中,GPFS在所有的节点上处理元数据(metadata)。这是GPFS文件系统的架构和设计区别于其他集群文件系统的显著特点,需要集中的元数据服务器处理文件系统的边界(fixed region)。在大量的元数据操作下,元数据服务器将是潜在的性能瓶颈,另外,如果没有配置备份服务器,元数据服务器将变成一个单点故障。高可靠性的GPFSGPFS是高可靠性的文件系统,即使是在下列失败的情况下,仍可以配置为不间断的数据访问:- 计算节点- I/O服务器节点- 硬盘的连接

6、可以配置GPFS的多个备份,即使在丢失硬盘路径,或者硬盘自身不可访问的情况下,仍可以保持操作的连续性。另外,GPFS也可以与RAID或者其他硬件冗余的功能协同使用,提供商业的连续性(business continuity)。要达到这一目的,需配置多个I/O服务器,当某一I/O服务器失败时,I/O请求仍可以通过备份服务器实现。在GPFS的环境中,某一节点的硬盘连接丢失,不会影响到其他的节点,GPFS使用RSCT的功能持续的监控不同文件模块的健康状态,当任一错误被检测到时,相应的恢复动作将自动执行。GPFS还提供了额外的日志和恢复功能,可以维持元数据的一致性。GPFS顺序读写的性能建议在配置高性能

7、GPFS文件系统的过程中,从性能方面考虑,有几种配置和优化的方法,在考虑GPFS的配置的同时,应当考虑应用对性能的影响。配置硬盘GPFS可以使用VSD或者AIX物理卷,一段时间内,VSD在一些大的集群中是一个比较好的选择,在使用HPS(High Performance Switch)的系统中,VSD可充分利用HPS高性能的特点。VSD是建立在逻辑卷组(Logical Volume)之上的,I/O大小是有卷组(Volume Group)的LTG(Logical Track Group)的大小决定的。LTG的性能将影响到GPFS,比较来看,GPFS 2.2只允许128KB的LTG大小。数据条带在A

8、IX环境下,GPFS顺序I/O要取得较高的性能,配置使用RAID5,可以考虑三种方式:aGPFS条带,每一个RAID5组成一个GPFS的逻辑盘,这是配置GPFS的最典型的方法,对大数据量顺序读写,可以充分利用GPFS预读和延迟写(pre-fetch/wirte-behind)的功能。bAIX逻辑卷(Logical Volume Manager)条带,条带化的逻辑卷可以使用部分或全部的RAID5组,构成GPFS的逻辑盘。cGPFS和AIX逻辑卷条带的组合。推荐使用方式a,可充分发挥GPFS的预取功能。但是,在单节点的情况下,如果系统存在数量较多的硬盘,方式b和方式c也能提供较好的性能,可以从系统

9、级充分发挥物理卷的并发操作。GPFS块大小影响GPFS文件系统顺序I/O性能的另一个重要因素是GPFS文件系统的块大小,GPFS 2.2版本支持最大块为1MB。使用连续的数据存储块创建GPFS文件系统时在每一个独立的逻辑盘上申请使用连续的存储块,也是影响GPFS性能的重要因素,在GPFS后续的版本中,将是一个新的功能。相反的GPFS 2.2仍然是随机的在每一个逻辑盘上申请存储块GPFS优化在GPFS的参数配置中,有些可优化的参数会影响到GPFS的性能,部分可调整的参数如下:- pagepool :GPFS缓存可申请使用的容量- prefetchThreads:配置GPFS服务进程可使用的读写线

10、程数,此参数配置GPFS可使用的最大并发请求数- maxMBpS:基于I/O的响应时间,动态的调整prefetchThreads的数量- maxBuddyBufferSize:设置最大的VSD通讯数据包大小应用方面的建议考虑GPFS的性能时,应当考虑到应用方面的影响,有些I/O比较敏感的应用使用单个线程执行大数据量的顺序读写操作,通常情况下,GPFS能很好的执行读或者写系统调用,GPFS会使用多个线程调度I/O操作到多个磁盘,这种操作方式使用GPFS文件系统的缓存存储被切割的数据。在单节点,I/O密集的负载中,处理器的使用可能会占用较多的处理器时间,影响到系统的性能。在处理器瓶颈的情况下,为提

11、高I/O的性能,应用可以考虑使用直接I/O(Direct I/O),避免数据在文件系统缓存和应用缓存之间拷贝数据,处理器可以节省时间处理额外的I/O请求。尽管直接I/O的使用节省了处理器的时间,但会要求应用使用固定缓存(pinned)。使用固定缓存可保证系统不会将I/O请求的内存换页出去。固定(pining)缓存的操作比较消耗处理器时间,如果应用的缓存的固定(pin)操作在初始化过程中完成,可以节省处理器的时间,这要求文件系统存在一种机制知道应用的缓存已经被固定,因而不需要在调度I/O时再固定同样的缓存。GPFS 2.2版本不存在这种识别应用缓存是否被固定(pin)的能力,但在后续的GPFS版

12、本中将会增加这一新的功能。应用可以通知GPFS,相应的使用直接I/O(direct I/O)的应用缓存已经被固定(pinned),因而GPFS不需要重新固定缓存。注意:直接I/O(Direct I/O)的目的是直接读或写数据到应用缓存,这种方式会限制GPFS的预取功能,可以从异步I/O或者多线程读写的方式弥补性能的损失。GPFS read-behind-write性能Read-behind-write技术常被一些高端用户采用,目的是降低延迟,提高性能。Read-behind-write技术意味着一旦写者(writer)开始写操作,读者(reader)立刻开始读操作,思想是重叠写和读的时间,对一

13、些I/O性能较差的服务器而言,优势是明显的,但对高性能的机器,例如P690,相应的操作可能会演化为并行写整个文件,然后再并行读回数据。实施read-behind-write这种方式,可以有很多种方式,例如写者(writer)写完纪录后,等待读者(reader)读取纪录,然后再处理此项纪录,尽管这种策略只是时写者和读者在纪录级保持同步,仍然需要消耗系统时间处理读者和写者间的同步锁。如果应用并不关心读者和写者之间存在的未读的纪录差,也可以采取这样的策略,写者可以尽可能快的写,而不用关心读者的问题,写者可以在一定数量的纪录写完后更新相应的标示量,写者可以根据此标示量确定有多少纪录未读。每一个read-behind-write对都有同一个目标或文件,因为读者和写者操作同一个文件,如下图所示,为60个读者和写者组,使用120个线程操作,GPFS I/O带宽读为6.35GB/s, 而写带宽同样为6.35GB/s。GPFS read-behind-write使用直接I/O和60对读写线程操作如下图所示,read-behind-write这种方式的性能,受限于处理器的使用率,高的处理器使用率主要是由系统控制读者和写者(reader and writer)同步产生的。GPFS 处理器使用率和read-behind-write方式使用直接I/O的IO数量 /

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号