diskgenius
硬盘基地 门户 存储技术 存储系统 查看内容

GPFS结构 (General Parallel File System) 并行文件系统集群

2014-1-23 17:15| 发布者: 蝴蝶| 查看: 2879| 评论: 0

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

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

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

磁盘
GPFS 文件系统最底层的是物理磁盘设备。原则上可以采用系统上任何块设备,包括磁盘,磁盘分区,逻辑卷。从物理连接上来看,GPFS 支持使用所有方式连接的磁盘。包括本地 IDE 磁盘,本地 SCSI 磁盘,光纤 SAN 磁盘,iSCSI 磁盘,等等。
网络共享磁盘(NSD)
NSD 是由磁盘映射出来的虚拟设备,NSD 与磁盘是一一对应的关系。NSD 被标记了不同属性来区分其用途,我们可以将磁盘标记为 4 种用途:
Desc Only:只存储 GPFS 文件系统描述信息的磁盘。
Data Only:只存储文件系统中的数据信息。
Meta data only: 只存储文件系统中的目录结构 inode 信息。
Meta and data: 存储所有信息(默认)。

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

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 方式只能二者选其一,使用那种方式要基于我们的系统环境与可靠性分析。
File system Descriptor Quorum,File system Descriptor 顾名思义即描述文件系统信息的数据。我们在几个不同的 failure-group 的磁盘上创建 GPFS 文件系统时,会把文件系统的配置信息(简写为 FD)的拷贝写到多个磁盘上,以实现冗余备份。FD quorum 的机制即通过判断含有 FD 磁盘的在线情况来判断当前系统是否正常,当超过半数的含有 FD 的磁盘掉线时,就判断为系统故障,将会自动关闭文件系统。
Node Quorum 是通过主机状态的来判断系统可用性的机制。GPFS 文件系统集群中,可以设置多个主机节点为 Quorum node。Node Quorum 的机制是通过判断 Quorum node 的状态来判断系统是否正常,当超过半数的 Quorum node 在线时,判断系统为正常,反之,将关闭文件系统。
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。

结束语
       目前,新的版本 GPFS3.2 已经发布。在扩展性和管理特性上都有比较多的增强,但其高可用机制与原理仍然与 GPFS 3.1(即本文所介绍的内容)保持一致。

开心

鄙视

鼓掌

愤怒

可怜

最新评论

返回顶部