2023年12月1日发(作者:)
供稿人:李明军
GPFS是IBM推出的行业领先的并行分布式集群文件系统,从1995年投入商用至
今已经有10多年 的历史。GPFS是一个共享磁盘的文件系统,集群内的所有节
点可以并行地访问所有共享磁盘,并通过分布式的Token管理机制和条带化技术
来管理和优化节 点的访问。GPFS的应用范围非常广泛,从多节点文件共享服务、
实时多媒体处理、到大型的高性能计算集群,我们都可以看到GPFS的优秀表现。
GPFS也应用在众多的企业应用里面,比如HACMP、Oracle RAC、SAP。 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在服务器上识别出的设备,对于单HBA卡LUN,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的缩写,最早应用在GPFS的Linux集群上面。是
GPFS实现的一种通过网络共享磁盘的技术,集群节点可以通过标准以太网访问
NSD,使得不 需要将集群的所有的节点都连到SAN上,而是基于NSD创建GPFS
文件系统。NSD使用TCP/1191端口。
VSD:是Virtual Shared Disk的缩写,源自基于IBM SP、Switch2、HPS交换机
的共享磁盘技术,VSD依赖于RSCT域。GPFS看待VSD就像服务器自己的硬盘一
样,可以基于VSD来创建NSD。
File System: 文件系统,是物理存储设备和用户之间的接口,其将物理存储设
备划分为数据块,并在数据块之上构建数据和元数据的数据结构,达到方便用户
(应用程序) 对数据操作的目的。GPFS通过条带花技术将数据并行分布到所有
共享磁盘上面,并支持如下数据块大小 :16K, 64K, 128K, 256K, 512K, 1024K
(1M), 2M, 4M,其中2M和4M是3.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信息生命周期
管理规则引擎解释执行的一组语句。有文件放置规则、文件迁移规则、文件删除
规则等。例如可以编写一条文件放置规则,定义某个文件集里 面owner为CEO
的所有文件存放在名为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分别是lpar1、lpar2、lpar3、lpar4,其中lpar1和lpar2上各有两个
HBA卡通过光纤交换机连接到一台 DS4800上面。DS4800上面划了6个LUN,对
lpar1和lpar2都可见,这6个LUN在lpar1和lpar2上识别的设备名都是
hdisk5、hdisk6、hdisk7、hdisk8、hdisk9、hdisk10。lpar3和lpar4没有连
接到SAN,通过百兆以太网络与 lpar1和lpar2相连。我们将用这四台服务器和
存储构建一个4个点的GPFS文件系统/gpfs01,对应设备名gpfs01。lpar3和
lapr4将作为NSD客户端通过以太网连接到集群,lpar1和lpar2作为NSD服务
器为lpar3和lpar4提供到存储设备的 IO访问。
在lpar1上显示磁盘设备如下图所示,我们将用hdisk5至hdisk10共6块盘构
建GPFS文件系统。
4.2 准备远程命令执行和远程拷贝环境
GPFS支持rsh ssh两种远程执行shell和rcp、scp两种远程拷贝工具。GPFS
默认使用rsh和rcp,下文以rsh+rcp作介绍。
4.2.1 首先保证hosts文件里面包含所有集群节点的纪录。
4.2.2 在.rhost文件里面增加所有集群节点的纪录。
[root@lpar1#]cat /.rhosts
lpar1 root
lpar2 root
lpar3 root
lpar4 root
[root@lpar1#]
至此,rsh和rcp已能正常工作,可以用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#]
该 节点配置文件每一行对应一个集群节点,每个集群节点有用减号分隔两个配
置项。第一项可选参数为manager和client,manager表示该节点可 以被集群管
理软件选择作为集群管理功能的节点如Token Manager和Configuration
Manager。client表示不能被赋予上述职能。quorum和nonquorum表示是否作为
quorum节点。
4.4 准备NSD的配置文件
该配置文件每一行对应一个物理的磁盘设备(LUN),各个配置项的意义如下:
Diskname:是磁盘设备在PrimaryServer上的虚拟设备名称,该名称并不要求在
所有节点上相同。
PrimaryServer:该磁盘的主要NSD IO服务提供节点,即主NSD服务器。只有在
所有节点都直接连接到存储的情况下,该项才可以省略。在本例中lpar3和lpar4
通过lpar1和lpar2访问磁盘,该项为必须项。
BackupServer:备份的NSD IO服务提供节点,意义同上。
DiskUsage: 共有dataAndMetadata 、dataOnly、 metadataOnly 和descOnly
四个选项。
FailureGroup:所属的失效组,是从-1到4000的一个数字。
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功能特性为基础做介绍,截至本文发稿时,
上述文档并未与产品功能同步更新,比如2MB和4MB数据块支持,请参考相应命


发布评论