2023年12月1日发(作者:)

供稿人:李明军

GPFSIBM推出的行业领先的并行分布式集群文件系统,1995年投入商用至

今已经有10多年 的历史。GPFS是一个共享磁盘的文件系统,集群内的所有节

点可以并行地访问所有共享磁盘,并通过分布式的Token管理机制和条带化技术

来管理和优化节 点的访问。GPFS的应用范围非常广泛,从多节点文件共享服务、

实时多媒体处理、到大型的高性能计算集群,我们都可以看到GPFS的优秀表现。

GPFS也应用在众多的企业应用里面,比如HACMPOracle RACSAP GPFS

这些应用里面都表现出了非常出色的性能和高可用性。本文向大家介绍GPFS

新版本3.1版本基本概念及其在AIX环境下的安装和基本配置。

1 GPFS的版本历史

1995: GPFS前身Tiger Shark发布,应用于实时媒体处理行业,采用了数据

条带化技术;

1998: GPFS1.4版发布,开始应用于高性能计算领域,并支持标准Posix语义;

2002: GPFS2.1版发布,开始支持Linux,并应用于IBM虚拟带库产品中;

2005: GPFS2.3版发布,开始支持32/64位互操作性和广域网连接等特性;

2006: GPFS3.1版发布,新增信息生命周期管理和分布式锁管理功能。

除了主要版本发布外,GPFS还有多个不断更新的维护级别(ML)升级包,截至

本文发稿时,GPFS3.1的当前维护级别(ML)为3.1.0.12,本文的安装和配置基

于该版本。

2 GPFS的基本概念

在安装和配置GPFS之前,需要先了解一下GPFS的一些基本概念和相关术语。

SAN:这里指的是磁盘存储设备通过光纤交换机连接到服务器的HBA卡,为服务器

提供逻辑存储LUN的模式,在GPFS集群里面,可以通过将同一个LUN同时划分

给多台服务器的方式为GPFS提供共享磁盘。

Disk:磁盘,指的是LUN在服务器上识别出的设备,对于单HBALUN,AIX操作

系统将其识别为hdisk,在多HBA卡多路径模式下有以下几种:

1) MPIO on AIX = hdisk

2) SDD (non-MPIO) on AIX = vpath

3) PowerPath by EMC = hdiskpower

4) HDLM by Hitatchi = dlmfdrv

NSD: Network Shared Disk的缩写,最早应用在GPFSLinux集群上面。是

GPFS实现的一种通过网络共享磁盘的技术,集群节点可以通过标准以太网访问

NSD,使得不 需要将集群的所有的节点都连到SAN上,而是基于NSD创建GPFS

文件系统。NSD使用TCP/1191端口。

VSD:Virtual Shared Disk的缩写,源自基于IBM SPSwitch2HPS交换机

的共享磁盘技术,VSD依赖于RSCT域。GPFS看待VSD就像服务器自己的硬盘一

样,可以基于VSD来创建NSD

File System: 文件系统,是物理存储设备和用户之间的接口,其将物理存储设

备划分为数据块,并在数据块之上构建数据和元数据的数据结构,达到方便用户

(应用程序) 对数据操作的目的。GPFS通过条带花技术将数据并行分布到所有

共享磁盘上面,并支持如下数据块大小 16K, 64K, 128K, 256K, 512K, 1024K

1M, 2M, 4M,其中2M4M3.1版新增加支持的数据块大小。

Failure Groups:失效组,是指根据磁盘的物理特性划分的不同的组,避免两个

不同的失效组在同一个时间点失效。

Replication:复制,当GPFS的复制功能启用时,GPFS文件系统的数据和元数据

将被保存两个分布在不同的失效组的副本,当其中一个副本不可用时,另一个副

本将使文件系统保持可用。

Cluster Data Server:集群数据服务器是集群中保存集群配置信息的节点.集群

配置信息保存在集群数据服务器的/var/mmfs/etc/mmsdrfs文件中。可以配置一

个主集群数据服务器和一个备份集群数据服务器。集群启动时需要至少有一个集

群数据服务器可用。

Configuration Manager:配置管理器,在GPFS集群里面具有最长连续运行时间

的节点自动被选为配置管理器,配置管理器有两个职能:1.选择文件系统管理

器;2.判断quorum是否满足。

File System Manager:文件系统管理器,每一个GPFS文件系统被分配一个文件

系统管理器,文件系统管理器有3个功能:1.文件系统配置管理,如增加磁盘,

修复文件系统 2.文件系统mount umount处理。 3.磁盘空间分配管理。

Token Manager:执行分布式Token管理的功能节点,由集群管理软件根据工作负

载情况动态地选择哪些节点、多少节点执行Token manager的功能。 Token

来维护节点间数据的一致性和完整性。

Node Quorum:quorum机制决定了至少有多少个quorum节点可用时,集群才可以

启动。Quorum的算法为:quorum = 1 + sizeof(quorum nodes)/2

Storage Pool:存储池,是指一组磁盘设备,可以根据磁盘的性能和其他物理的、

价格的属性分为不同的存储池,从而实现层状的存储架构。存储池是GPFS3.1

新增的信息生命周期管理的重要概念。例如可以将某一SAN里面的光纤磁盘和

SATA磁盘分为两个存储池。

Fileset:文件集,也是GPFS3.1版新增的概念,是文件系统的一个子集,粒度介

于文件系统和文件(文件夹是一种特殊的文件)之间。

Policy: 规则,是用类似SQL的结构化语法定义的,可以被 GPFS信息生命周期

管理规则引擎解释执行的一组语句。有文件放置规则、文件迁移规则、文件删除

规则等。例如可以编写一条文件放置规则,定义某个文件集里 ownerCEO

的所有文件存放在名为FCstoragepool的存储池。

3 软件安装

GPFS3.1的安装文件和3.1.0.12ML包解压缩后共有如下几个文件,ls命令

显示如下:

installp命令或smit安装

检验安装结果:

需要在所有节点上执行上述安装过程。

执行如下命令将GPFS命令行工具所在目录加入shell的执行路径:

export PATH=$PATH:/usr/lpp/mmfs/bin

4.1 环境介绍

1 示例环境

本文的示例环境如图1所示,共有运行AIX5.3ML05操作系统的4台服务器,

hostname分别是lpar1lpar2lpar3lpar4,其中lpar1lpar2上各有两个

HBA卡通过光纤交换机连接到一台 DS4800上面。DS4800上面划了6LUN,对

lpar1lpar2都可见,这6LUNlpar1lpar2上识别的设备名都是

hdisk5hdisk6hdisk7hdisk8hdisk9hdisk10lpar3lpar4没有连

接到SAN,通过百兆以太网络与 lpar1lpar2相连。我们将用这四台服务器和

存储构建一个4个点的GPFS文件系统/gpfs01,对应设备名gpfs01lpar3

lapr4将作为NSD客户端通过以太网连接到集群,lpar1lpar2作为NSD服务

器为lpar3lpar4提供到存储设备的 IO访问。

lpar1上显示磁盘设备如下图所示,我们将用hdisk5hdisk106块盘构

GPFS文件系统。

4.2 准备远程命令执行和远程拷贝环境

GPFS支持rsh ssh两种远程执行shellrcpscp两种远程拷贝工具。GPFS

默认使用rshrcp,下文以rsh+rcp作介绍。

4.2.1 首先保证hosts文件里面包含所有集群节点的纪录。

4.2.2 .rhost文件里面增加所有集群节点的纪录。

[root@lpar1#]cat /.rhosts

lpar1 root

lpar2 root

lpar3 root

lpar4 root

[root@lpar1#]

至此,rshrcp已能正常工作,可以用rsh hostname command 来验证配置是

否正确。

4.3 准备集群的节点配置文件

[root@lpar1#]cat /tmp/mmfs/nodefile

#NodeName:NodeDesignations:AdminNodeName

lpar1:manager-quorum

lpar2:manager-quorum

lpar3:client-nonquorum

lpar4:client-nonquorum

[root@lpar1#]

节点配置文件每一行对应一个集群节点,每个集群节点有用减号分隔两个配

置项。第一项可选参数为managerclient,manager表示该节点可 以被集群管

理软件选择作为集群管理功能的节点如Token ManagerConfiguration

Managerclient表示不能被赋予上述职能。quorumnonquorum表示是否作为

quorum节点。

4.4 准备NSD的配置文件

该配置文件每一行对应一个物理的磁盘设备(LUN),各个配置项的意义如下:

Diskname:是磁盘设备在PrimaryServer上的虚拟设备名称,该名称并不要求在

所有节点上相同。

PrimaryServer:该磁盘的主要NSD IO服务提供节点,即主NSD服务器。只有在

所有节点都直接连接到存储的情况下,该项才可以省略。在本例中lpar3lpar4

通过lpar1lpar2访问磁盘,该项为必须项。

BackupServer:备份的NSD IO服务提供节点,意义同上。

DiskUsage: 共有dataAndMetadata dataOnly metadataOnly descOnly

四个选项。

FailureGroup:所属的失效组,是从-14000的一个数字。

DesireName:希望的NSD的名字

StroragePool:指定该磁盘所属的存储池,如果不指定的话默认的存储池为

system存储池。

5 基本配置过程

5.1 创建GPFS集群

mmcrcluster命令创建集群,用前面准备好的节点配置文件nodefile作为输

入:

其中-N选项指定节点配置文件,-s指定集群的Cluster Data Server-s指定

备选Cluster Data Server-C指定集群所使用的名称,-A设置集群随节点启

动时自动启动,默认是不启动。

mmlscluster命令显示所创建的GPFS集群的信息:

5.2 创建NSD

mmcrnsd命令创建NSD:

-F指定NSD的配置文件,使用前面准备好的数据文件nsdfile,-v no表示如果

有磁盘上已经建有GPFS文件系统,则重新格式化它。

mmlsnsd显示所创建的NSD的信息:

用来创建NSD的数据文件被mmcrnsd命令修改为如下内容:

该修改过的数据文件可以被用来提供输入给NSD的删除命令mmdelnsd和下面创

GPFS文件系统的命令mmcrfs

5.3 启动集群

mmstartup 命令启动GPFS后台进程。

启动集群是创建文件系统的先决条件。

5.4 创建GPFS文件系统

mmcrfs命令创建文件系统:

其中/gpfs01表示所创建的文件系统的挂载点,不需要事先手工创建挂载点目

录,mmcrfs命令会自动在集群的所有节点创建该挂载点,并在执行删除文 件系

统命令mmdelfs时自动删除挂载点。gpfs01是文件系统所对应的虚拟设备的名

称。-F选项指定被mmcrnsd命令修改过的NSD配置文件 nsdfile-A表示开机

自动挂载该文件系统。-B指定文件系统数据块的大小,如前所述,GPFS3.1最新

ML支持16K, 64K, 128K, 256K, 512K, 1024K (1M), 2M, 4M等数据块大小。

如果在集群尚未启动的情况下创建文件系统,系统会提示如下出错信息:

mmlsfs命令显示创建的文件系统的属性:

5.5 挂载GPFS文件系统

[root@lpar1#]mount /gpfs01

[root@lpar1#]rsh lpar2 mount /gpfs01

[root@lpar1#]rsh lpar3 mount /gpfs01

[root@lpar1#]rsh lpar4 mount /gpfs01

[root@lpar1#]

5.6 其它常用命令:

fuser显示使用文件系统的进程

umount 卸载文件系统

mmdelfs 删除GPFS文件系统

mmdelnsd 删除NSD

mmshutdown停止GPFS进程

mmdelnode 删除GPFS节点

mmchcluster 更改GPFS集群配置数据,如更改Cluster Data Server

mmchconfig 更改GPFS集群参数,如是否开机自动启动。

6 参考文献

[1]GPFS V3.1 Advanced Administration Guide

/epubs/pdf/

[2]GPFS V3.1 Administration and Programming Reference

/epubs/pdf/

[3]GPFS V3.1 Concepts, Planning, and Installation Guide

/epubs/pdf/

[4]GPFS V3.1 Problem Determination Guide

/epubs/pdf/

[5]GPFS V3.1 Data Management API Guide

/epubs/pdf/

[6]GPFS 3.1 FAQs

/infocenter/clresctr/vxrx/

topic//gpfs_faqs/gpfs_

[7]GPFS Manpage

特别注明:本文以GPFS3.1ML3.1.0.12功能特性为基础做介绍,截至本文发稿时,

上述文档并未与产品功能同步更新,比如2MB4MB数据块支持,请参考相应命