【存储】GPFS简介及搭建
第一章 GPFS简介
1.1 GPFS 文件系统介绍
IBM的GPFS(General Parallel File System,通用并行文件系统)可以让用户共享文件系统,这些文件系统可以跨多个节点,多个硬盘。GPFS文件系统提供了许多标准的Unix文件系统接口,大多数应用不需要修改或重新编译就可运行在GPFS文件系统上。UNIX文件系统上的实用程序也为GPFS所支持。也就是用户可以继续使用他们所熟悉的UNIX命令来进行常规的文件操作。但是用户需要使用GPFS文件系统的特有的管理命令来管理GPFS文件系统。
GPFS提供的文件系统服务既适用于并行应用也可用于串行应用。GPFS使得并行应用可同时访问文件系统上同一个文件或不同的文件。GPFS特别适合于集中对数据的访问超过了分布式文件服务器的处理能力的应用环境。它不适用于以热备份为主应用环境或数据很容易按照节点划分区的应用环境。
通用并行文件系统(General Parallel File System–GPFS)for AIX是一种高性能共享磁盘文件系统.它可以在一个AIX集群环境中为各节点提供数据存取.并行和串行应用程序可以容易地通过标准UNIX文件系统界面访问共享的文件,并且同一个文件可以被多个节点并发地访问.GPFS的设计通过登录机制和复制机制,提供了高可用性特性,可以配置为在磁盘及服务器发生故障时实现接管.GPFS现在已经被IBM RS/6000 SP集群系统广泛兼容,扩展文件系统I/O,帮助满足广泛的应用需求,如地震数据处理,数字图书馆文件服务器,商务智能中的数据挖掘,等.GPFS for AIX支持IBM eServer Cluster 1600,以及用相应技术将IBM eServer p系列节点组成的集群环境.
1.2 GPFS文件系统的特点
1. 增强系统的性能
使用GPFS文件系统存储和检索文件可以提高系统的性能。
l 使得运行在同一节点集中的多个节点上的进程和应用,使用标准的文件系统调用就可同时访问同一个文件。
l 通过将读写操作分布到多个此盘上提高了文件系统的总体带宽。
l 允许从多节点上进行并发的读/写操作。
2. 保证文件的一致性
GPFS中使用了成熟的令牌管理技术来保证数据的一致性,同时又允许群集中的节点通过不同的途经以相同的名字访问相同的文件。
3. 较强的恢复能力以提高数据的有效性
GPFS是一个日志文件系统,每个节点都有单独的日志,在这些日志中记录了对元数据(metadata)的修改和配置,在节点发生故障时便于快速恢复,保证数据的一致性。
4. 增强了系统的灵活性
使用GPFS,系统资源是可变的,可在文件系统加载时,就进行磁盘的添加与删除操作。如果系统不是很繁忙,还可在文件系统中重新分布数据,以提高文件系统的读写性能。
5. 统一的文件系统管理
GPFS管理命令被设计成,保证群集中节点上GPFS群集数据(有关群集和GPFS文件系统的配置信息)的同步性,GPFS文件系统的管理命令只需在一节点上执行,相关操作就会同步到其他相关节点上。
1.3 GPFS的基本结构
GPFS是一种定义在多个节点上的集群文件系统。运行GPFS的全部节点集称之为GPFS群集。在GPFS群集中,所有节点又被分成多个GPFS节点集,在同一个节点集的节点可共享其所属的GPFS文件系统,而其他节点集中的节点是无法访问它的。GPFS支持lc、rpd、hacmp和sp等多种群集类型。
GPFS群集中的每一节点,都由以下几方面构成:
1. GPFS管理命令
2. 扩展核心
3. 多线程的后台监控程序
GPFS的扩展核心
GPFS的扩展核心为操作系统的vnode提供了一个接口,为增加文件系统提供了虚拟文件系统接口。在结构上,应用程序向操作系统发出一文件系统调用请求,操作系统系统会将此请求转给GPFS文件系统扩展核心。从应用的角度,GPFS只是一个文件系统。GPFS的扩展核心将完成这些请求 -- 通过使用系统中已有的资源 或发送消息给GPFS后台监控程序来完成此请求。
GPFS后台监控程序
GPFS后台监控程序为GPFS完成所有的I/O操作和缓存的管理。 这包括预读(read-ahead)和延迟写(write-behind)。 所有的I/O操作是由令牌(token)来控制的,这确保了建立在多节点上的文件系统中数据的一致性。
后台监控程序是一多线程的进程,有些线程只处理某些特定的功能。忙于日常事务的线程只进行日常事务处理,有专用的线程来响应服务请求。后台监控进程也与运行在其他节点上运行GPFS的实例进行通信,来协调配置的改变、文件系统的恢复和并行修改相同的数据结构。这些具体的功能包括:
·为新文件和新扩大的文件分配空间,这通过与文件系统管理器(file system manager)协商完成。
·目录的管理,包括创建新目录、插入和删除目录中的条目、因I/O的请求而检索相关的目录
·为保证数据和元数据的完整性分配适当的锁。涉及到会从多个节点访问的数据
·磁盘的I/O 是由后台进程中的线程发起的。
·文件系统的安全与配额管理也是由进程协同文件系统管理器共同管理的
1.4 GPFS集群类型
GPFS集群的类型有哪些, 它们各由什么样的环境支持?
网络连接, 磁盘连接, 操作系统和服务器平台与GPFS集群类型的关系如下:
GPFS 集群类型 |
网络连接类型 |
磁盘连接 |
操作系统和服务器硬件 |
存储区域网 (SAN)- 连接于集群的所有节点 |
|
||
网络共享磁盘(NSD) 服务器 |
|
||
lc(GPFS 2.2) |
具有以下带宽的网络: - 最少100 Mb/秒 - 建议1 Gb/秒 或更高带宽 |
结合 SAN-连接和一个NSD服务器的环境 |
一个由AIX 5L (pSeries)和 Linux (仅在xSeries上)组成的具有协同操作功能的集群 |
存储区域网 (SAN)- 连接于集群的所有节点 |
|
||
网络共享磁盘(NSD) 服务器 |
|
||
lc(GPFS 2.2) |
具有以下带宽的网络: - 最少100 Mb/秒 - 建议1 Gb/秒 或更高带宽 |
结合 SAN-连接和一个NSD服务器的环境 |
一个由AIX 5L (pSeries)和 Linux (仅在xSeries上)组成的具有协同操作功能的集群 |
存储区域网 (SAN)- 连接于集群的所有节点 |
|
||
网络共享磁盘(NSD) 服务器 |
|
||
lc(GPFS 2.2) |
具有以下带宽的网络: - 最少100 Mb/秒 - 建议1 Gb/秒 或更高带宽 |
结合 SAN-连接和一个NSD服务器的环境 |
一个由AIX 5L (pSeries)和 Linux (仅在xSeries上)组成的具有协同操作功能的集群 |
Myrinet |
网络共享磁盘(NSD) 服务器 |
|
|
lc (GPFS 1.3) |
GigE |
存储区域网 (SAN)- 连接于集群的所有节点 |
Linux (仅在 xSeries 上) |
sp |
SP Switch 交换机或 SP Switch2交换机 |
VSD(virtual shared disk) 服务器 |
AIX (pSeries) |
具有以下带宽的网络: - 最少100 Mb/秒 - 建议1 Gb/秒 或更高带宽 |
存储区域网 (SAN)- 连接于集群的所有节点 |
|
|
rpd |
高性能交换机 (High Performance Switch - HPS) |
VSD(virtual shared disk) 服务器 |
AIX (pSeries) |
hacmp |
具有以下带宽的网络: - 最少100 Mb/秒 - 建议1 Gb/秒 或更高带宽 |
存储区域网 (SAN)- 连接于集群的所有节点 |
AIX (pSeries) |
1.5 GPFS 集群大小
GPFS经过测试的最大的集群大小是多少?
下表列举了经过测试的最大GPFS集群大小. 超过最大限制的集群实施需要通过你的IBM业务代表提请special bid 业务流程.
GPFS 集群类型 |
GPFS 版本 |
操作系统 |
最大集群大小 |
GPFS v2.2 |
Linux only |
512 节点 |
|
GPFS v2.2 |
AIX only |
128节点 |
|
lc |
GPFS v2.2 |
Linux (仅xSeries)和 AIX |
512节点, 其中最多128个AIX节点 |
rpd |
GPFS v2.2和v2.1 |
AIX |
128 节点 |
hacmp |
GPFS v2.2和v2.1 |
AIX |
128 节点 |
sp |
GPFS v2.2和v2.1 |
AIX |
128 节点 |
1.6 什么是lc类型的集群
lc集群是最灵活的GPFS集群, 支持的环境存在最少限制. 它同时支持AIX和Linux操作系统下的GPFS, 并且可以将所有早期版本的GPFS集群集成起来. 所有新的GPFS集群的实施应首先考虑采用lc类型的集群. 所有已有的GPFS集群也应在软硬件环境允许的情况下考虑转移到lc集群上来.
lc集群支持的节点如下(可同时包含AIX和Linux的节点):
AIX 5.2 节点 |
Linux 节点 |
安装了GPFS2.2的单独的p系列节点或RSCT中的节点, 未从属于已有的GPFS集群 |
|
将GPFS2.2 sp集群节点迁移到新的lc集群 |
|
将GPFS2.2 rpd集群节点迁移到新的lc集群 |
x系列节点 -- 安装最新的Linux发布版本及内核版本, 安装GPFS2.2
运行GPFS早于2.2版本, 或者运行GPFS2.2但使用了旧的lc集群类型, 必须迁移到GPFS 2.2并使用新lc类型. |
1.6.1 lc集群支持何种磁盘子系统?
GPFS的网络共享磁盘(The Network Shared Disk–NSD)部件,是用于在lc集群中实现全局设备命名和远程数据访问的.NSD是使用命令mmcrnsd建立于逻辑磁盘设备的上端.在GPFS2.2版本中,一个逻辑磁盘设备可能是一个物理盘(AIX中的搣hdisk攠或搣vpath攠,或Linux中的块磁盘设备或磁盘分区),或一个VSD(无论是一个PSSP的VSD或一个RSCT对等域VSD).此外,位于逻辑卷之上的NSD允许被加入从rpd类型迁移而来的集群(lc集群不允许使用新建NSD中的逻辑卷).如果本地磁盘设备能够被多个节点看到,GPFS 2.2将从这些节点直接访问,并从集群的其它部分使用NSD远程访问路径(将I/O请求路由到网络).如果磁盘设备只能被某一个节点看到,其它节点将通过远程数据访问路径访问;如果这个磁盘设备能被所有节点看到,则所有节点将直接访问它.注意:在后一种情况,不需要为这个NSD严格分配主/从服务器,只是强烈建议为每个NSD指定一个服务器节点,以便预防当一个存储子系统路径失效时引起相关节点的数据访问失败.当本地访问路径失效时,则将转由NSD经远程数据访问路径实现数据访问,以此保持数据访问路径的可用性.
1.7 什么是sp类型的集群?
sp型GPFS集群,基于IBM PSSP(Parallel System Support Programs)软件及PSSP的VSD(Virtual Shared Disk)共享磁盘的概念.在GPFS集群类型SP中(在PSSP环境中),GPFS集群的成员节点依赖于所使用的网络交换机的类型.在使用SP交换机的系统中,GPFS集群等同于在sp相应分区中所有安装GPFS的节点.在安装SP Switch2交换机的系统中,GPFS集群等同于此系统中所有安装GPFS的节点.换句话说,集群的定义是默认的,而不需要专门运行GPFS集群命令.在GPFS集群中,你可以在你的文件系统操作中定义一个或多个nodesets.GPFS SP类型集群对磁盘的需要是---所有磁盘必须是:
1) 附属于一个位于此nodeset中的VSD服务器.
2) 建立GPFS使用的VSD磁盘时,必须使用mmcrvsd命令,或者遵循Parallel System Support Programs for AIX:Managing Shared Disks文档.
3) 遵循本文中对于磁盘支持的准则.
当GPFS运行于一个SP类型的集群环境中时, 软件需求是什么?
在一个SP类型的集群中, GPFS需要PSSP软件和其中的IBM VSD及IBM RVSD(Recoverable Virtual Shared disk)部件来统一磁盘存取及恢复.
表: 支持sp类型集群的软件版本需求:
GPFS 版本 |
AIX 版本 |
PSSP 版本 |
GPFS 服务终止日期 |
GPFS v2.2 |
AIX 5L? v5.2 |
PSSP v3.5 |
|