收藏 分享(赏)

GPFS文件系统分析.docx

上传人:gnk289057 文档编号:5945406 上传时间:2019-03-21 格式:DOCX 页数:7 大小:19.71KB
下载 相关 举报
GPFS文件系统分析.docx_第1页
第1页 / 共7页
GPFS文件系统分析.docx_第2页
第2页 / 共7页
GPFS文件系统分析.docx_第3页
第3页 / 共7页
GPFS文件系统分析.docx_第4页
第4页 / 共7页
GPFS文件系统分析.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、什么是 GPFS 文件系统GPFS(General Parallel File System)是 IBM 公司开发的高性能集群文件系统,从 1998 年开始首先应用于 AIX 集群,2001 年后应用于 Linux 集群。在集群的环境中,GPFS 文件系统允许集群中所有的节点访问同一文件的数据,并提供统一的文件存储空间。应用可以使用标准的 UNIX 文件系统接口访问文件的内容。GPFS 支持 32 位和 64 位的应用,经过测试的文件系统的大小为 100TB。GPFS 可以动态的增加或减少文件系统的容量。GPFS 提供了标准的 POSIX 应用开发接口,支持缓存方式的I/O(buffered

2、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 结构,集群中的所有节点物理的连接到

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

5、- 使用预读(read-ahead)和后台写(write-behind)技术- 使用字节级(byte-range)的锁技术,提供数据的一致性要求,可以使多个应用节点并发访问同一文件GPFS 元数据(GPFS metadata)在集群中,GPFS 在所有的节点上处理元数据(metadata)。这是GPFS 文件系统的架构和设计区别于其他集群文件系统的显著特点,需要集中的元数据服务器处理文件系统的边界(fixed region)。在大量的元数据操作下,元数据服务器将是潜在的性能瓶颈,另外,如果没有配置备份服务器,元数据服务器将变成一个单点故障。高可靠性的 GPFSGPFS 是高可靠性的文件系统,即

6、使是在下列失败的情况下,仍可以配置为不间断的数据访问:- 计算节点- I/O 服务器节点- 硬盘的连接可以配置 GPFS 的多个备份,即使在丢失硬盘路径,或者硬盘自身不可访问的情况下,仍可以保持操作的连续性。另外,GPFS 也可以与 RAID 或者其他硬件冗余的功能协同使用,提供商业的连续性(business continuity)。要达到这一目的,需配置多个I/O 服务器,当某一 I/O 服务器失败时,I/O 请求仍可以通过备份服务器实现。在 GPFS 的环境中,某一节点的硬盘连接丢失,不会影响到其他的节点,GPFS 使用 RSCT 的功能持续的监控不同文件模块的健康状态,当任一错误被检测到

7、时,相应的恢复动作将自动执行。GPFS 还提供了额外的日志和恢复功能,可以维持元数据的一致性。GPFS 顺序读写的性能建议在配置高性能 GPFS 文件系统的过程中,从性能方面考虑,有几种配置和优化的方法,在考虑 GPFS 的配置的同时,应当考虑应用对性能的影响。配置硬盘GPFS 可以使用 VSD 或者 AIX 物理卷,一段时间内,VSD 在一些大的集群中是一个比较好的选择,在使用 HPS( High Performance Switch)的系统中, VSD 可充分利用 HPS 高性能的特点。 VSD 是建立在逻辑卷组(Logical Volume)之上的,I/O 大小是有卷组(Volume G

8、roup)的 LTG(Logical Track Group)的大小决定的。LTG 的性能将影响到 GPFS,比较来看,GPFS 2.2 只允许 128KB 的 LTG 大小。数据条带在 AIX 环境下,GPFS 顺序 I/O 要取得较高的性能,配置使用 RAID5,可以考虑三种方式:aGPFS 条带,每一个 RAID5 组成一个 GPFS 的逻辑盘,这是配置GPFS 的最典型的方法,对大数据量顺序读写,可以充分利用 GPFS 预读和延迟写(pre-fetch/wirte-behind)的功能。bAIX 逻辑卷(Logical Volume Manager)条带,条带化的逻辑卷可以使用部分或全

9、部的 RAID5 组,构成 GPFS 的逻辑盘。cGPFS 和 AIX 逻辑卷条带的组合。推荐使用方式 a,可充分发挥GPFS 的预取功能。但是,在单节点的情况下,如果系统存在数量较多的硬盘,方式 b 和方式 c 也能提供较好的性能,可以从系统级充分发挥物理卷的并发操作。GPFS 块大小影响 GPFS 文件系统顺序 I/O 性能的另一个重要因素是 GPFS 文件系统的块大小,GPFS 2.2 版本支持最大块为 1MB。使用连续的数据存储块创建 GPFS 文件系统时在每一个独立的逻辑盘上申请使用连续的存储块,也是影响 GPFS 性能的重要因素,在 GPFS 后续的版本中,将是一个新的功能。相反的

10、 GPFS 2.2 仍然是随机的在每一个逻辑盘上申请存储块GPFS 优化在 GPFS 的参数配置中,有些可优化的参数会影响到 GPFS 的性能,部分可调整的参数如下:- pagepool :GPFS 缓存可申请使用的容量- prefetchThreads:配置 GPFS 服务进程可使用的读写线程数,此参数配置 GPFS 可使用的最大并发请求数- maxMBpS:基于 I/O 的响应时间,动态的调整 prefetchThreads 的数量- maxBuddyBufferSize:设置最大的 VSD 通讯数据包大小应用方面的建议考虑 GPFS 的性能时“,应当考虑到应用方面的影响,有些 I/O 比

11、较敏感的应用使用单个线程执行大数据量的顺序读写操作,通常情况下,GPFS 能很好的执行读或者写系统调用,GPFS 会使用多个线程调度I/O 操作到多个磁盘,这种操作方式使用 GPFS 文件系统的缓存存储被切割的数据。在单节点,I/O 密集的负载中,处理器的使用可能会占用较多的处理器时间,影响到系统的性能。在处理器瓶颈的情况下,为提高 I/O 的性能,应用可以考虑使用直接I/O(Direct I/O),避免数据在文件系统缓存和应用缓存之间拷贝数据,处理器可以节省时间处理额外的 I/O 请求。尽管直接 I/O 的使用节省了处理器的时间,但会要求应用使用固定缓存(pinned)。使用固定缓存可保证系

12、统不会将 I/O 请求的内存换页出去。固定(pining)缓存的操作比较消耗处理器时间,如果应用的缓存的固定(pin)操作在初始化过程中完成,可以节省处理器的时间,这要求文件系统存在一种机制知道应用的缓存已经被固定,因而不需要在调度 I/O 时再固定同样的缓存。GPFS 2.2 版本不存在这种识别应用缓存是否被固定(pin)的能力,但在后续的 GPFS 版本中将会增加这一新的功能。应用可以通知 GPFS,相应的使用直接 I/O(direct I/O)的应用缓存已经被固定(pinned),因而 GPFS 不需要重新固定缓存。注意:直接 I/O(Direct I/O)的目的是直接读或写数据到应用缓

13、存,这种方式会限制 GPFS 的预取功能,可以从异步 I/O 或者多线程读写的方式弥补性能的损失。GPFS read-behind-write 性能Read-behind-write 技术常被一些高端用户采用,目的是降低延迟,提高性能。Read-behind-write 技术意味着一旦写者(writer)开始写操作,读者(reader )立刻开始读操作,思想是重叠写和读的时间,对一些 I/O 性能较差的服务器而言,优势是明显的,但对高性能的机器,例如 P690,相应的操作可能会演化为并行写整个文件,然后再并行读回数据。实施 read-behind-write 这种方式,可以有很多种方式,例如写

14、者(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 数量

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报