GPFS文件系统分析

什么是GPFS文件系统
GPFS(General Parallel File System)是IBM公司开发的高性能集群文件系统,从1998年
开始首先应用于AIX集群,2001年后应用于Linux集群。
在集群的环境中,GPFS文件系统允许集群中所有的节点访问同一文件的数据,并提供统一的文
件存储空间。应用可以使用标准的UNIX文件系统接口访问文件的内容。GPFS支持32位和64位的应
用,经过测试的文件系统的大小为100TB。GPFS可以动态的增加或减少文件系统的容量。
GPFS提供了标准的POSIX应用开发接口,支持缓存方式的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节点中,为应用提供并发的、
高速的文件访问,提供突出的性能,尤其是大数据量的顺序操作,尽管典型的GPFS应用适用于多个节点,但
对单个节点也能提供有益的性能。

GPFS文件系统适用于AIX和Linux节点的异构集群
从GPFS版本2.2开始,允许集群中同时存在AIX和Linux的节点。GPFS的AIX版本和GPFS的Linux版本基于同样的源
代码,只是适应于不同的硬件环境和不同的操作系统环境。

GPFS使用共享硬盘的模式(Shared Disk Model)
GPFS使用共享硬盘的方式,可以通过多种方式实现硬盘的共享:
1)基于硬件的SAN结构,集群中的所有节点物理的连接到所有的存储
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:
- 跨越多个硬盘和多个节点的条带化数据
- 高效的客户端数据缓存
- 允许管理员配置大的数据块,满足应用的特点
- 使用预读(read-ahead)和后台写(write-behind)技术
- 使用字节级(byte-range)的锁技术,提供数据的一致性要求,可以使多个应用节点并发访问同一文件

GPFS元数据(GPFS metadata)
在集群中,GPFS在所有的节点上处理元数据(metadata)。这是GPFS文件系统的架构和设计区别于其他集群
文件系统的显著特点,需要集中的元数据服务器处理文件系统的边界(fixed region)。在大量的元数据操
作下,元数据服务器将是潜在的性能瓶颈,另外,如果没有配置备份服务器,元数据服务器将变成一个单点故障。

高可靠性的GPFS
GPFS是高可靠性的文件系统,即使是在下列失败的情况下,仍可以配置为不间断的数据访问:
- 计算节点
- I/O服务器节点
- 硬盘的连接
可以配置GPFS的多个备份,即使在丢失硬盘路径,或者硬盘自身不可访问的情况下,仍可以保持操作的连续性。

另外,GPFS也可以与RAID或者其他硬件冗余的功能协同使用,提供商业的连续性(business continuity)。要
达到这一目的,需配置多个I/O服务器,当某一I/O服务器失败时,I/O请求仍可以通过备份服务器实现。

在GPFS的环境中,某一节点的硬盘连接丢失,不会影响到其他的节点,GPFS使用RSCT的功能持续的监控不同文件
模块的健康状态,当任一错误被检测到时,相应的恢复动作将自动执行。GPFS还提供了额外的日志和恢复功能,
可以维持元数据的一致性。

GPFS顺序读写的性能
建议

在配置高性能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大小。

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

GPFS块大小
影响GPFS文件系统顺序I/O性能的另一个重要因素是GPFS文件系统的块大小,GPFS 2.2版本支持最大块为1MB。

使用连续的数据存储块
创建GPFS文件系统时在每一个独立的逻辑盘上申请使用连续的存储块,也是影响GPFS性能的重要因素,在GPFS
后续的版本中,将是一个新的功能。相反的GPFS 2.2仍然是随机的在每一个逻辑盘上申请存储块

GPFS优化
在GPFS的参数配置中,有些可优化的参数会影响到GPFS的性能,部分可调整的参数如下:
- pagepool :GPFS缓存可申请使用的容量
- prefetchThreads:配置GPFS服务进程可使用的读写线程数,此参数配置GPFS可使用的最大并发请求数
- maxMBpS:基于I/O的响应时间,动态的调整prefetchThreads的数量
- maxBuddyBufferSize:设置最大的VSD通讯数据包大小

应用方面的建议
考虑GPFS的性能时,应当考虑到应用方面的影响,有些I/O比较敏感的应用使用单个线程执行大数据量
的顺序读写操作,通常情况下,GPFS能很好的执行读或者写系统调用,GPFS会使用多个线程调度I/O操作
到多个磁盘,这种操作方式使用GPFS文件系统的缓存存储被切割的数据。在单节点,I/O密集的负载中,
处理器的使用可能会占用较多的处理器时间,影响到系统的性能。
在处理器瓶颈的情况下,为提高I/O的性能,应用可以考虑使用直接I/O(Direct I/O),避免数据在文
件系统缓存和应用缓存之间拷贝数据,处理器可以节省时间处理额外的I/O请求。尽管直接I/O的使用节省了处
理器的时间,但会要求应用使用固定缓存(pinned)。使用固定缓存可保证系统不会将I/O请求的内存换页出去。
固定(pining)缓存的操作比较消耗处理器时间,如果应用的缓存的固定(pin)操作在初始化过程中完成,
可以节省处理器的时间,这要求文件系统存在一种机制知道应用的缓存已经被固定,因而不需要在调度I/O时
再固定同样的缓存。
GPFS 2.2版本不存在这种识别应用缓存是否被固定(pin)的能力,但在后续的GPFS版本中将会增加这
一新的功能。应用可以通知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)立刻开始读操作,思想是重叠写和读的时间,对一些I/O
性能较差的服务器而言,优势是明显的,但对高性能的机器,例如P690,相应的操作可能会演化为并行写整
个文件,然后再并行读回数据。
实施read-behind-write这种方式,可以有很多种方式,例如写者(writer)写完纪录后,等待读者(reader)
读取纪录,然后再处理此项纪录,尽管这种策略只是时写者和读者在纪录级保持同步,仍然需要消耗系统时间处
理读者和写者间的同步锁。
如果应用并不关心读者和写者之间存在的未读的纪录差,也可以采取这样的策略,写者可以尽可能快的写,而不
用关心读者的问题,写者可以在一定数量的纪录写完后更新相应的标示量,写者可以根据此标示量确定有多少纪录未读。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: GPFS 文件系统商业版是一种高级文件系统软件,它是IBM公司的产品。它为企业和机构提供了高度可扩展、高性能、高可用性的存储解决方案,支持各种不同形式和规模的数据存储需求,包括数据分析、大规模文件共享、高性能计算等。 GPFS 文件系统商业版的主要特点如下: 1. 高可用性: GPFS可以在存储介质、节点、网络等各个层次提供容错机制,保证数据的安全性和连续性。 2. 高扩展性: GPFS可以支持从几个节点到上万个节点的扩展,由于其分布式架构,可以容易扩展处理能力、存储能力和吞吐量。 3. 高性能: GPFS 采用了并行 I/O、缓存区共享、快速恢复、数据分配优化等技术,能够以最大限度发挥硬件设备的性能。 4. 适合大数据: GPFS可以应对超大数据集,直接管理多 PB 级别数据,支持并发访问,快速存取。 GPFS 文件系统商业版具有许多重要的应用,包括科学研究、金融业、医疗保健、大规模互联网服务等领域。不管是在何种领域,相比于传统的文件系统GPFS 文件系统商业版都具有更出色的特性和能力,可以有效地解决多种数据存储的需求。 ### 回答2: GPFS是一种高性能并行文件系统,具有高度可扩展性和可靠性。它是IBM建造的。它被广泛用于大型数据中心,高性能计算和大数据分析场景,比如搜寻引擎、云存储、视频流处理等。 GPFS商业版提供完整的支持和保证,用户可以通过向供应商购买服务获得支持,包括技术支持和更新、咨询服务等。商业版提供高质量、可靠的服务和功能,比如完善的备份和恢复机制、数据管理和监控等。此外,GPFS商业版提供了更多的安全性和数据保护功能,用户可以选择不同的存储策略来满足自己的需求。 商业版GPFS也提供了更高的性能,比如更高的带宽、更快的数据读写、更低的延迟等。它还支持多个操作系统和硬件平台,包括Linux、UNIX和Windows等。它能够处理大量的并发读写请求,同时支持多个客户端,保证了系统的可用性和可靠性。 总之,商业版GPFS是一种高度可靠、可扩展和高性能的文件系统,适用于大量数据处理和运行强大的应用程序的场景。它提供更多的安全性和数据保护功能,并能够满足客户的各种需求。 ### 回答3: IBM的GPFS文件系统是一个高度可扩展的文件系统,可用于解决大型数据集管理问题。商业版提供了更加稳定、可靠的支持,同时也提供了更多的高级功能,如数据压缩、加密、数据分块、数据快照等。 GPFS文件系统的商业版还支持多种存储平台,包括IBM Spectrum Scale、IBM Elastic Storage Server、IBM Storage Systems等,这使得GPFS文件系统的商业版能够更加灵活、适应不同的企业需求。 与开源的文件系统相比,GPFS文件系统的商业版也提供了更加优秀的数据完整性保护和数据安全性保障。商业版的GPFS文件系统还具有更加友好的用户界面和更加详细的文档说明,用户能够更加快速、准确地了解和使用文件系统。 总的来说,GPFS文件系统商业版是一款功能全面、性能卓越、可靠稳定、丰富灵活的文件系统,能够满足企业在数据处理方面的需求,并提供强大的数据保护和安全控制。它也是数据管理领域中的重要工具之一,为数据管理和分析领域的专业人士提供了强有力的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值