IT技术互动交流平台

GPFS(General Parallel File System)并行文件系统

作者:把握眼前  发布日期:2013-07-09 10:18:48

一、GPFS系统介绍

GPFS (General Parallel File System) 是 IBM 公司第一个共享文件系统,起源于 IBM SP 系统上使用的虚拟共享磁盘技术 ( VSD )。作为这项技术的核心, GPFS 是一个并行的磁盘文件系统,它保证在资源组内的所有节点可以并行访问整个文件系统。而且针对此文件系统的服务操作,可以同时安全地在使用此文件系统的多个节点上实现。 GPFS 允许客户共享文件,而这些文件可能分布在不同节点的不同硬盘上。它提供了许多标准的 UNIX 文件系统接口,允许应用不需修改或者重新编辑就可以在其上运行。 GPFS 也支持 UNIX 文件系统的工具,即:用户可以像使用普通文件系统一样使用基于 GPFS 的文件系统,唯一不同的在于管理 GPFS 文件系统的命令。 GPFS 提供的文件系统操作服务可以支持并行应用和串行应用,它允许任何节点(这些节点属于同一个节点组)上的并行应用同时访问同一个文件或者不同的文件。

 

二、GPFS基本机构

GPFS文件系统基本上由三层架构组成:磁盘、网络共享磁盘(NSD)、GPFS 文件设备。如下图所示。

  • 磁盘

GPFS 文件系统最底层的是物理磁盘设备。原则上可以采用系统上任何块设备,包括磁盘,磁盘分区,逻辑卷。从物理连接上来看,GPFS 支持使用所有方式连接的磁盘。包括本地 IDE 磁盘,本地 SCSI 磁盘,光纤 SAN 磁盘,iSCSI 磁盘,等等。

  • 网络共享磁盘(NSD)

NSD 是由磁盘映射出来的虚拟设备,NSD 与磁盘是一一对应的关系。NSD 被标记了不同属性来区分其用途,我们可以将磁盘标记为 4 种用途:

1>Desc Only:只存储 GPFS 文件系统描述信息的磁盘

2>Data Only:只存储文件系统中的数据信息

3>Meta data only: 只存储文件系统中的目录结构 inode 信息

4>Meta and data: 存储所有信息(默认)。

  • GPFS 文件设备

GPFS文件设备是一个可被系统挂载的文件设备,由 NSD 创建而成,可以并行的同时挂载在多个节点上。

 

三、GPFS相关术语

  • SAN

这里指的是磁盘存储设备通过光纤交换机连接到服务器的HBA卡,为服务器提供逻辑存储LUN的模式,在GPFS集群里面,可以通过将同一个LUN同时划分给多台服务器的方式为GPFS提供共享磁盘。

  • Disk

磁盘指的是LUN在服务器上识别出的设备。

  • NSD

NSD是Network Shared Disk的缩写,最早应用在GPFS的Linux集群上面。是GPFS实现的一种通过网络共享磁盘的技术,集群节点可以通过标准以太网访问NSD,使得不需要将集群的所有的节点都连到SAN上,而是基于NSD创建GPFS文件系统。NSD使用TCP/1191端口。

  • VSD

VSD是Virtual Shared Disk的缩写,源自基于IBM SP、Switch2、HPS交换机的共享磁盘技术,VSD依赖于RSCT域。GPFS看待VSD就像服务器自己的硬盘一样,可以基于VSD来创建NSD。

  • FileSystem

文件系统,是物理存储设备和用户之间的接口,其将物理存储设备划分为数据块,并在数据块之上构建数据和元数据的数据结构,达到方便用户(应用程序)对数据操作的目的。GPFS通过条带划技术将数据并行分布到所有共享磁盘上面,并支持如下数据块大小 :16K, 64K, 128K, 256K, 512K, 1024K(1M), 2M, 4M,其中2M和4M是3.1版新增加支持的数据块大小。

  • FailureGroups

失效组,是指根据磁盘的物理特性划分的不同的组,避免两个不同的失效组在同一个时间点失效。

  • Replication:复制

当GPFS的复制功能启用时,GPFS文件系统的数据和元数据将被保存两个分布在不同的失效组的副本,当其中一个副本不可用时,另一个副本将使文件系统保持可用。

  • ClusterData Server

集群数据服务器是集群中保存集群配置信息的节点.集群配置信息保存在集群数据服务器的/var/mmfs/etc/mmsdrfs文件中。可以配置一个主集群数据服务器和一个备份集群数据服务器。集群启动时需要至少有一个集群数据服务器可用。

  • ConfigurationManager

配置管理器,在GPFS集群里面具有最长连续运行时间的节点自动被选为配置管理器,配置管理器有两个职能:1.选择文件系统管理器;2.判断quorum是否满足。

  • FileSystem Manager

文件系统管理器,每一个GPFS文件系统被分配一个文件系统管理器,文件系统管理器有3个功能:1.文件系统配置管理,如增加磁盘,修复文件系统 ; 2.文件系统mount 和umount处理。 3.磁盘空间分配管理。

  • TokenManager

执行分布式Token管理的功能节点,由集群管理软件根据工作负载情况动态地选择哪些节点、多少节点执行Token manager的功能。 Token用来维护节点间数据的一致性和完整性。

  • NodeQuorum

quorum机制决定了至少有多少个quorum节点可用时,集群才可以启动。Quorum的算法为:quorum = 1 + sizeof(quorum nodes)/2。

  • StoragePool

存储池,是指一组磁盘设备,可以根据磁盘的性能和其他物理的、价格的属性分为不同的存储池,从而实现层状的存储架构。存储池是GPFS3.1新增的信息生命周期管理的重要概念。例如可以将某一SAN里面的光纤磁盘和SATA磁盘分为两个存储池。

  • Fileset

文件集,也是GPFS3.1版新增的概念,是文件系统的一个子集,粒度介于文件系统和文件(文件夹是一种特殊的文件)之间。

  • Policy

规则,是用类似SQL的结构化语法定义的,可以被 GPFS信息生命周期管理规则引擎解释执行的一组语句。有文件放置规则、文件迁移规则、文件删除规则等。例如可以编写一条文件放置规则,定义某个文件集里面owner为CEO的所有文件存放在名为FCstoragepool的存储池。

 

四、GPFS系统优势

  • 高性能

GPFS 允许在同一节点内的多进程或者应用使用标准文件系统调用,同时访问(并发,读写)同一个文件。通过将节点内读写操作分布到多个磁盘上,大大增加了文件系统的带宽,通过整个系统的负载均衡避免了某个磁盘过大的读写。

设计GPFS 支持在一个集群内加入异构的平台。支持异构的硬件环境:System p, System x。支持异构的操作系统:AIX, Linux

  • 数据一致性

GPFS 通过一套复杂的信令管理机制提供数据一致性。通过这套机制允许任意节点通过各自独立的路径到达同一个文件。即使节点无法正常工作, GPFS 也可以找到其它的路径。

  • 数据安全性

GPFS 是一种日志文件系统,为不同节点建立各自独立的日志。日志中记录 metadata 的分布,一旦节点发生故障后,可以保证快速恢复数据。GPFS 的 fail-over 功能通过规划,将数据分布到不同 failure group 内达到高可用性,减少单点故障的影响。为了保证数据可用性, GPFS 在多个 failure group 内为每个数据实例做备份,即使创建文件系统时没有要求复制, GPFS 也会自动在不同的 failure group 内复制恢复日志。

  • 系统可扩展性

通过GPFS,系统资源可以动态调整,可以在文件系统挂载情况下添加或者删除硬盘。系统处于相对空闲时,用户可以在已配置的硬盘上重新均衡文件系统以提高吞吐量。可以在不重新启动 GPFS 服务情况下添加新节点。

  • 管理简单

GPFS 自动在各个节点间同步配置文件和文件系统信息,而且在同一个节点内,对 GPFS 的管理可以在任一个节点上进行。

 

五、GPFS可用性机制

 

GPFS 的数据完整性一方面是由以上提到的数据安全机制来保证,另外也通过一套可用性判断机制来完全保证数据完整性与系统安全。 GPFS 提供三套不同的 quorum 机制来判断系统当前的状态,其中 File Descriptor Quorum 是系统内置的,不能做配置,另外两种 node quorum 和 tiebreaker quorum 方式只能二者选其一,使用哪种方式要基于我们的系统环境与可靠性分析。

1)File system Descriptor Quorum,File system Descriptor 顾名思义即描述文件系统信息的数据。我们在几个不同的 failure-group 的磁盘上创建 GPFS 文件系统时,会把文件系统的配置信息(简写为 FD)的拷贝写到多个磁盘上,以实现冗余备份。FD quorum 的机制即通过判断含有 FD 磁盘的在线情况来判断当前系统是否正常,当超过半数的含有 FD 的磁盘掉线时,就判断为系统故障,将会自动关闭文件系统。

2)Node Quorum 是通过主机状态的来判断系统可用性的机制。GPFS 文件系统集群中,可以设置多个主机节点为 Quorum node。Node Quorum 的机制是通过判断 Quorum node 的状态来判断系统是否正常,当超过半数的 Quorum node 在线时,判断系统为正常,反之,将关闭文件系统。

3)Tiebreaker quorum 是通过磁盘的状态来判断系统的可用性。我们可以设置系统通过监视指定的一些磁盘作为 Tiebreaker Disk。当超过半数的 Tiebreaker Disk 掉线时,则判断系统故障,将自动关闭文件系统。Tiebreaker 最多只能配置两个用来监控磁盘状态的 quorum 主机,当 2 台 quorum 主机都宕机的话,GPFS 系统也将会关闭。其优势在于节点数较少时可用性较高,但节点数较多的情况建议采用 Node quorum 模式。

根据以上三种判断机制,GPFS 自动判断系统的状态,当异常发生时自动关闭系统以保护系统和数据的完整性。

 

 

六、GPFS可靠性分析与如何设计

基于上面阐述的 GPFS 可用性机制,我们可以看出 GPFS 是通过上述的三种 quorum 机制来检查资源是否超过半数状态正常来判断系统状态好坏。我们在设计 GPFS 文件系统集群的时候需要注意最好保证各种资源数都为 2N+1 个(N 是指数量),也即数量为奇数,来获得系统最大的可用性。

  • Filesystem Descriptor (FD)Quorum 的设计

我们在一般的生产系统中都会使用两组不同的 failure group 的磁盘来创建一个文件系统,以实现数据的冗余保护,但是丢失一个 failure group 的磁盘实际不影响数据的完整性,但是由于 FD quorum 2N+1 的机制,文件系统仍将会关闭,所以我们在创建一个 GPFS 文件系统时,可以通过增加一个很小的本地的磁盘作为第三个 failure group。以实现 2N+1 的冗余设计。本地的磁盘可以设置为只保存 GPFS 文件系统信息(FD),实际不参与数据读写。(同一个 failure group 的磁盘是指有可能同时坏掉的磁盘,比如来自同一个存储的磁盘或连在同一个适配器上的磁盘)

  • Node Quorum

如果采用了 2N+1 个 Quorum Node,那么这个系统就能容忍 N 个主机节点的离线,所以如果主机节点小于 5 个采用此种方法都不是很经济,此时建议采用 Tiebreaker quorum 机制。

  • Tiebreaker quorum

只能配置两个 quorum 主机,但是只要 tiebreaker 磁盘在线,只有一个 quorum 主机状态正常,系统也能正常工作,同时也意味着必须有一台 quorum 主机在线。如果是主机节点数较多的情况,采用此种机制其可靠性不如 Node quorum。


Tag标签: GPFS   文件系统  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规