在 IBM AIX 上构建一个双节点的 IBM GPFS 集群

本文是在 IBM AIX® 7.1 上部署双节点 IBM® General Parallel File System (IBM GPFS™) V3.5 集群的分步指南。

Chris Gibson, AIX 专家

/developerworks/i/p-cgibson.jpgChris Gibson 是 IBM 的一名 Power Systems 客户端技术专家。他是有关 AIX 的几本 IBM Redbooks® 的合著者。Chris 通过其 AIX 博客Twitter (@cgibbo) 为 AIX 社区作出贡献。


developerWorks 投稿作者

2013 年 10 月 31 日

概述

本文的目的是为在 AIX 上安装和配置一个简单的双节点 GPFS 集群提供一个分步指南。下图提供了集群配置的可视化表示形式。

图 1. 集群配置的可视化表示形式
集群配置的可视化表示形式

GPFS

GPFS 提供了一个真正的 “共享文件系统” 功能,具有卓越的性能和可伸缩性。GPFS 允许一组计算机通过一个公共的存储区域网络(SAN)基础架构、一个网络或混合连接类型来同时访问一组公共的文件数据。GPFS 提供了存储管理、信息生命周期管理工具和集中式管理,还允许从提供了一个全局命名空间的远程 GPFS 集群对文件系统进行共享访问。

GPFS 提供了数据分层、复制和其他许多高级特性。根据您的需要,配置可能很简单,也可能很复杂。


为 GPFS 准备好 AIX 环境

我们假设,您已经为 GPFS 购买了必要的许可和软件。如果有可用的 GPFS 软件介质,那么可以将 GPFS 文件集复制到需要运行 GPFS 的每个 AIX 节点上。

在本文中,每个分区都是利用 AIX version 7.1, Technology Level 2, Service Pack 1 构建的:

# oslevel -s
7100-02-01-1245

每个 AIX 系统都被配置为有 7 个 SAN 磁盘。一个磁盘用于 AIX 操作系统(rootvg),其余 6 个磁盘供 GPFS 使用。

# lspv
hdisk0          00c334b6af00e77b                    rootvg          active
hdisk1          none                                none
hdisk2          none                                none
hdisk3          none                                none
hdisk4          none                                none
hdisk5          none                                none
hdisk6          none                                none

SAN 磁盘(将与 GPFS 一起使用)被分配到两个节点(也就是说,在这两个分区之间共享它们)。两个 AIX 分区都配置了虚拟光纤通道适配器,并通过 SAN 访问它们的共享存储,如下图所示。

图 2. 部署图
Deployment diagram

点击查看大图

图 2. 部署图

Deployment diagram

使用 chdev 命令,对每个 hdisk 更改以下属性,如下表所示。

AIX 设备名称大小(以 GB 为单位)AIX 磁盘设备类型算法queue_depthreserve_policy
hdisk0 50 Hitachi MPIO Disk VSP round_robin 32 no_reserve
hdisk1 50 Hitachi MPIO Disk VSP round_robin 32 no_reserve
hdisk2 50 Hitachi MPIO Disk VSP round_robin 32 no_reserve
hdisk3 50 Hitachi MPIO Disk VSP round_robin 32 no_reserve
hdisk4 50 Hitachi MPIO Disk VSP round_robin 32 no_reserve
hdisk5 50 Hitachi MPIO Disk VSP round_robin 32 no_reserve
hdisk6 50 Hitachi MPIO Disk VSP round_robin 32 no_reserve

lsattr 命令可用于验证每个属性是否被设置为正确的值:

# lsattr -El hdisk6 –a queue_depth –q algorithm –a reserve_policy
algorithm       round_robin        Algorithm                        True
queue_depth     32                 Queue DEPTH                      True
reserve_policy  no_reserve         Reserve Policy                   True

下一步是配置 Secure Shell (SSH),使这两个节点可以互相通信。在构建 GPFS 集群时,必须确保集群中的节点拥有正确配置的 SSH,这样它们就不再需要进行密码身份验证。这需要配置 Rivest-Shamir-Adleman algorithm (RSA) 密钥对,以完成 root 用户 SSH 配置。需要在两个方向上对 GPFS 集群中的所有节点进行此配置。

GPFS 中的 mm 命令需要在身份验证后才能工作。如果没有正确配置密钥,这些命令每次都会提示您输入 root 密码,并且 GPFS 集群可能会失败。测试此配置的一个好方法是,确保 ssh 命令可以不受到 root 密码请求的阻碍,继续正常工作。

您可以参考在 AIX 上 配置 SSH 密钥的分步指南

可以在每个节点上使用以下命令,确认各节点都能够使用 SSH 进行彼此(无阻碍的)通信:

aixlpar1# ssh aixlpar1a date
aixlpar1# ssh aixlpar2a date
    
aixlpar2# ssh aixlpar2a date
aixlpar2# ssh aixlpar1a date

若 SSH 正常工作,则为 root 用户配置 WCOLL (Working Collective) 环境变量。例如,创建一个文本文件,以每行一个节点的形式列出所有节点:

# vi /usr/local/etc/gfps-nodes.list
aixlpar1a
aixlpar2a

将节点文件复制到集群中的所有节点。

将以下条目添加到 root 用户 .kshrc 文件。这将允许 root 用户在 GPFS 集群中的所有节点上使用 dsh mmdsh 命令来执行命令。

export WCOLL=/usr/local/etc/gfps-nodes.list

应该修改 root 用户 PATH ,确保系统管理员可以使用所有 GPFS mm 命令。将以下条目添加到 root 用户的 .kshrc 文件。

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

文件 /etc/hosts 在 GPFS 集群中的所有节点上都应该是一致的。每个节点的每个 IP 地址都必须被添加到每个集群节点上的 /etc/hosts。即使在每个节点上都配置了域名系统(DNS)的时候,也建议这样做。例如:

# GPFS_CLUSTER1 Cluster - Test

# # GPFS Admin network  - en0
10.1.5.110  aixlpar1a aixlpar1
10.1.5.120  aixlpar2a aixlpar2

# # GPFS Daemon - Private Network  – en1   
10.1.7.110   aixlpar1p
10.1.7.120   aixlpar2p

在 AIX 上安装 GPFS

现在已经配置好了 AIX 环境,下一步是在每个节点上安装 GPFS 软件。这是一个非常简单的过程。

我们将安装 GPFS 版本 3.5(基础级文件集),然后应用最新的更新升级到 3.5.0.10。只需三个文件集要安装。您可以使用 System Management Interface Tool (SMIT) 或 installp 命令来安装软件。

aixlpar1 :/tmp/cg/GPFS/gpfs35_aix # inutoc .
aixlpar1 :/tmp/cg/GPFS/gpfs35_aix # ls -ltr
total 123024
-rw-r--r--    1 root     system       175104 Jun  7 2012  gpfs.msg.en_US
-rw-r--r--    1 root     system       868352 Jun  7 2012  gpfs.docs.data
-rw-r--r--    1 root     system     61939712 Jun  7 2012  gpfs.base
-rw-r--r--    1 root     system         3549 Apr 26 16:37 .toc
aixlpar1 :/tmp/cg/GPFS/gpfs35_aix # install –Y –d .ALL

在第二个节点上重复此操作。

您可以通过使用 lslpp 命令来验证已安装了基础级别的 GPFS 文件集:

# lslpp -l | grep -i gpfs
  gpfs.base                  3.5.0.0  COMMITTED  GPFS File Manager
  gpfs.msg.en_US             3.5.0.0  COMMITTED  GPFS Server Messages - U.S.
  gpfs.base                  3.5.0.0  COMMITTED  GPFS File Manager
  gpfs.docs.data             3.5.0.0  COMMITTED  GPFS Server Manpages and

下一步是安装最新的 GPFS 更新。同样,可以使用 SMIT(或 installp)将文件集更新为最新的级别。lslpp 命令可用来验证 GPFS 文件集已被更新。

aixlpar1 :/tmp/cg/gpfs_fixes_3510 # inutoc .
aixlpar1 :/tmp/cg/gpfs_fixes_3510 # ls -ltr
total 580864
-rw-r--r--    1 30007    bin       910336 Feb  9 00:10 U858102.gpfs.docs.data.bff
-rw-r--r--    1 30007    bin       47887360 May  8 08:48 U859646.gpfs.base.bff
-rw-r--r--    1 30007    bin       99655680 May  8 08:48 U859647.gpfs.gnr.bff
-rw-r--r--    1 30007    bin       193536 May  8 08:48 U859648.gpfs.msg.en_US.bff
-rw-r--r--    1 root     system    4591 May 10 05:15 changelog
-rw-r--r--    1 root     system    3640 May 10 05:42 README
-rw-r-----    1 root     system    55931 May 15 10:23 GPFS-3.5.0.10-power-AIX.readme.html
-rw-r-----    1 root     system    148664320 May 15 10:28 GPFS-3.5.0.10-power-AIX.tar
-rw-r--r--    1 root     system    8946 May 15 14:48 .toc

aixlpar1 :/tmp/cg/gpfs_fixes_3510 # smitty update_all

COMMAND STATUS

Command:OK            stdout: yes           stderr: no

Before command completion, additional instructions may appear below.

[MORE...59]
Finished processing all filesets.(Total time:18 secs).

+-----------------------------------------------------------------------------+
                        Pre-commit Verification...
+-----------------------------------------------------------------------------+
Verifying requisites...done
Results...

SUCCESSES
---------
  Filesets listed in this section passed pre-commit verification
  and will be committed.

  Selected Filesets
  -----------------
  gpfs.base 3.5.0.10                          # GPFS File Manager
  gpfs.msg.en_US 3.5.0.9                      # GPFS Server Messages - U.S. ...

  << End of Success Section >>

+-----------------------------------------------------------------------------+
                          Committing Software...
+-----------------------------------------------------------------------------+

installp:COMMITTING software for:
        gpfs.base 3.5.0.10

Filesets processed:1 of 2  (Total time:18 secs).

installp:COMMITTING software for:
        gpfs.msg.en_US 3.5.0.9

Finished processing all filesets.(Total time:18 secs).

+-----------------------------------------------------------------------------+
                                Summaries:
+-----------------------------------------------------------------------------+

Installation Summary
--------------------
Name                        Level           Part        Event       Result
-------------------------------------------------------------------------------
gpfs.msg.en_US              3.5.0.9         USR         APPLY       SUCCESS
gpfs.base                   3.5.0.10        USR         APPLY       SUCCESS
gpfs.base                   3.5.0.10        ROOT        APPLY       SUCCESS
gpfs.base                   3.5.0.10        USR         COMMIT      SUCCESS
gpfs.base                   3.5.0.10        ROOT        COMMIT      SUCCESS
gpfs.msg.en_US              3.5.0.9         USR         COMMIT      SUCCESS



aixlpar1 :/tmp/cg/gpfs_fixes_3510 # lslpp -l gpfs\*
  Fileset                      Level  State      Description
  ----------------------------------------------------------------------------
Path:/usr/lib/objrepos
  gpfs.base                 3.5.0.10  COMMITTED  GPFS File Manager
  gpfs.msg.en_US             3.5.0.9  COMMITTED  GPFS Server Messages - U.S.
                                                 English

Path:/etc/objrepos
  gpfs.base                 3.5.0.10  COMMITTED  GPFS File Manager

Path:/usr/share/lib/objrepos
  gpfs.docs.data             3.5.0.3  COMMITTED  GPFS Server Manpages and
                                                 Documentation

在第二个节点上重复此更新。


配置 GPFS 集群

现在,GPFS 已被安装,我们可以跨两个 AIX 系统创建一个集群。首先,我们创建了一个文本文件,其中包含一个列表,列出了每个节点以及它们的 GPFS 描述和用途。我们选择将每个节点都配置为一个 GPFS 仲裁管理器(quorum manager)。每个节点都是一个 GPFS 服务器。如果您不确定在您的环境中需要多少仲裁管理器和 GPFS 服务器,请参阅 GPFS Concepts, Planning, and Installation 文档 以获得相关指南。

aixlpar1 :/tmp/cg # cat gpfs-nodes.txt
aixlpar2p:quorum-manager:
aixlpar1p:quorum-manager:

使用 mmcrcluster 命令创建集群。*GPFS 集群名称是 GPFS_CLUSTER1。主节点(或 NSD 服务器,将在下一节讨论)是 aixlpar1p ,二级节点是 aixlpar2p。我们已经指定,sshscp 将用于集群通信和管理。

aixlpar1 :/tmp/cg # mmcrcluster –C GPFS_CLUSTER1 -N /tmp/cg/gpfs-nodes.txt -p 
aixlpar1p -s aixlpar2p -r /usr/bin/ssh -R /usr/bin/scp
Mon Apr 29 12:01:21 EET 2013: mmcrcluster:Processing node aixlpar2
Mon Apr 29 12:01:24 EET 2013: mmcrcluster:Processing node aixlpar1
mmcrcluster:Command successfully completed
mmcrcluster:Warning:Not all nodes have proper GPFS license designations.
Use the mmchlicense command to designate licenses as needed.
mmcrcluster:Propagating the cluster configuration data to all
affected nodes.This is an asynchronous process.

*备注:为了确保 GPFS 守护进程通信是在专有 GPFS 网络上进行的,在创建集群的过程中,我们指定了 GPFS 守护进程节点名称(即以 p 结尾的主机名)。在 GPFS 集群中要考虑两种类型的通信:管理命令通信和守护进程通信。管理命令使用远程 shell(sshrsh 或其他 shell)和基于套接字的通信。确保所有 GPFS 守护进程通信专有网络上执行,这被认为是一种最佳实践。请参阅 GPFS developerWorks 维基,了解有关 GPFS 网络配置考虑因素与实践的更多信息和讨论。

为了使用单独的网络进行管理命令通信,您可以使用 mmchnode 命令修改 “管理节点名称”。在本例中,单独的网络地址由节点名称末尾的 a”(代表 Administration)指定,例如 aixlpar1a

# mmchnode -admin-interface=aixlpar1p -N aixlpar1a
# mmchnode -admin-interface=aixlpar2p -N aixlpar2a

mmcrcluster 命令警告我们,不是所有节点都有适当的 GPFS 许可分配。我们使用 mmchlicense 命令将 GPFS 服务器许可分配给集群中的两个节点。

aixlpar1 :/ # mmchlicense server --accept  -N aixlpar1a,aixlpar2a
The following nodes will be designated as possessing GPFS server licenses:
aixlpar2a
aixlpar1a
mmchlicense:Command successfully completed
mmchlicense:Propagating the cluster configuration data to all
  affected nodes.This is an asynchronous process.

该集群现在已完成配置。mmlscluster 命令可以用于显示集群信息。

# mmlscluster

GPFS cluster information
========================
  GPFS cluster name:         GPFS_CLUSTER1.aixlpar1p
  GPFS cluster id:           8831612751005471855
  GPFS UID domain:           GPFS_CLUSTER.aixlpar1p
  Remote shell command:      /usr/bin/ssh
  Remote file copy command:/usr/bin/scp

GPFS cluster configuration servers:
-----------------------------------
  Primary server:    aixlpar1p
  Secondary server:aixlpar2p

 Node  Daemon node name  IP address      Admin node name  Designation
----------------------------------------------------------------------
   1   aixlpar2p       10.1.7.120   aixlpar2a      quorum-manager
   2   aixlpar1p       10.1.7.110   aixlpar1a      quorum-manager

此时,您可以使用 mmdsh 命令,验证 SSH 通信在所有 GPFS 节点上如期运行。这会在集群中的所有节点上运行一个命令。如果存在 SSH 配置问题,该命令可以突出显示问题。

aixlpar1 :/ # mmdsh date
aixlpar1:Mon Apr 29 12:05:47 EET 2013
aixlpar2:Mon Apr 29 12:05:47 EET 2013

aixlpar2 :/ # mmdsh date
aixlpar1:Mon Apr 29 12:06:41 EET 2013
aixlpar2:Mon Apr 29 12:06:41 EET 2013

配置网络共享磁盘

GPFS 在 TCP/IP 网络上提供了一个块级(block-level)接口,称为网络共享磁盘(Network Shared Disk,NSD)协议。无论使用 NSD 协议还是直接连接到 SAN,挂载的文件系统对于用户和应用程序而言看起来都是一样的(GPFS 透明地处理 I/O 请求)。

共享磁盘集群是最基本的环境。在此配置中,存储被直接连接到集群中的所有系统。直接连接意味着每个共享块设备都同时可用于 GPFS 集群中的所有节点。直接访问还意味着可以使用 Small Computer System Interface (SCSI) 或其他使用 SAN 的块级协议来访问存储。

下图显示了一个 GPFS 集群,所有节点都连接到一个公共的光纤通道 SAN 和存储设备。使用 SAN 将各节点连接到存储,并使用本地区域网络(LAN)让它们彼此连接。在 GPFS 节点上运行的应用程序所使用的数据会流过 SAN,GPFS 控制着集群中的 GPFS 实例之中的信息流过 LAN。如果集群中的所有节点都需要获得最高的数据访问性能,那么此配置是最佳配置。

图 3. GPFS 集群概述图
GPFS 集群概述图

mmcrnsd 命令用于为 GPFS 创建 NSD 设备。首先,我们创建一个文本文件,其中包含一个列表,列出了每个 hdisk 名称、它们的 GPFS 分配(数据、元数据、两者兼有*)和 NSD 名称。

hdisk1:::dataAndMetadata::nsd01::
hdisk2:::dataAndMetadata::nsd02::
hdisk3:::dataAndMetadata::nsd03::
hdisk4:::dataAndMetadata::nsd04::
hdisk5:::dataAndMetadata::nsd05::
hdisk6:::dataAndMetadata::nsd06::

*备注:请参阅 GPFS Concepts, Planning, and Installation 文档,获得有关选择 NSD 设备使用类型的指南。

然后,运行 mmcrnsd 命令,创建 NSD 设备。

# mmcrnsd -F /tmp/cg/gpfs-disks.txt
mmcrnsd:Processing disk hdisk1
mmcrnsd:Processing disk hdisk2
mmcrnsd:Processing disk hdisk3
mmcrnsd:Processing disk hdisk4
mmcrnsd:Processing disk hdisk5
mmcrnsd:Processing disk hdisk6
mmcrnsd:Propagating the cluster configuration data to all
  affected nodes.This is an asynchronous process.

现在,lspv 命令显示了与每个 AIX hdisk 有关联的 NSD 名称。

# lspv
hdisk0          00c334b6af00e77b                    rootvg          active
hdisk1          none                                nsd01
hdisk2          none                                nsd02
hdisk3          none                                nsd03
hdisk4          none                                nsd04
hdisk5          none                                nsd05
hdisk6          none                                nsd06

mmlsnsd 命令显示了每个 NSD 的信息,尤其是每个设备与哪个 GPFS 文件系统有关联。此时,我们还没有创建 GPFS 文件系统。因此,每个磁盘目前都是空闲的。您会注意到,在 NSD 服务器 下面,每个设备都被显示为直接附加。这是所期望的 SAN 附加磁盘的附加方式。

# mmlsnsd

 File system   Disk name    NSD servers
---------------------------------------------------------------------------
 (free disk)   nsd01        (directly attached)
 (free disk)   nsd02        (directly attached)
 (free disk)   nsd03        (directly attached)
 (free disk)   nsd04        (directly attached)
 (free disk)   nsd05        (directly attached)
 (free disk)   nsd06        (directly attached)

GPFS 文件系统配置

接下来,可以对 GPFS 文件系统进行配置。mmcrfs 命令用于创建文件系统。我们选择了创建两个文件系统;/gpfs 和 /gpfs1。/gpfs (gpfs0) 文件系统将被配置了一个大小为 256K(默认)的 GPFS 块,并且 /gpfs1 (gpfs1) 的块大小将被配置为 1M*。两个文件系统都针对复制进行了配置 (-M2 –R2)。为 /gpfs 指定 /tmp/cg/gpfs-disk.txt 文件,并为 /gpfs1 指定 /tmp/cg/gpfs1-disk.txt。这些文件指定了在创建过程中每个文件系统使用哪些 NSD 设备。

*备注:小心地选择块大小。在已经创建 GPFS 设备后,就无法再更改这个值。

# cat /tmp/cg/gpfs-disk.txt
nsd01:::dataAndMetadata:-1::system
nsd02:::dataAndMetadata:-1::system
nsd03:::dataAndMetadata:-1::system

# cat /tmp/cg/gpfs1-disk.txt
nsd04:::dataAndMetadata:-1::system
nsd05:::dataAndMetadata:-1::system
nsd06:::dataAndMetadata:-1::system

# mmcrfs /gpfs gpfs0 -F/tmp/cg/gpfs-disks.txt -M2 -R 2
# mmcrfs /gpfs1 gpfs1 -F/tmp/cg/gpfs1-disks.txt -M2 -R 2 –B 1M

mmlsnsd 命令显示每个文件系统的 NSD 配置。NSD 设备 1 至 3 被分配到 gpfs0,而设备 4 至 6 被分配到 gpfs1。

# mmlsnsd

 File system   Disk name    NSD servers
---------------------------------------------------------------------------
 gpfs0         nsd01        (directly attached)
 gpfs0         nsd02        (directly attached)
 gpfs0         nsd03        (directly attached)
 gpfs1         nsd04        (directly attached)
 gpfs1         nsd05        (directly attached)
 gpfs1         nsd06        (directly attached)

现在,两个 GPFS 文件系统在两个节点上均可用。

aixlpar1 :/ # df -g
Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4           1.00      0.89   12%     5211     3% /
/dev/hd2           3.31      0.96   71%    53415    18% /usr
/dev/hd9var        2.00      1.70   16%     5831     2% /var
/dev/hd3           2.00      1.36   33%      177     1% /tmp
/dev/hd1           2.00      2.00    1%      219     1% /home
/proc                 -         -    -         -     -  /proc
/dev/hd10opt       1.00      0.79   21%     3693     2% /opt
/dev/local         1.00      0.97    3%      333     1% /usr/local
/dev/loglv         1.00      1.00    1%       54     1% /var/log
/dev/tsmlog        1.00      1.00    1%        7     1% /var/tsm/log
/dev/hd11admin      0.12      0.12    1%       13     1% /admin
/dev/optIBMlv      2.00      1.99    1%       17     1% /opt/IBM
/dev/gpfs1       150.00    147.69    2%     4041     3% /gpfs1
/dev/gpfs0       150.00    147.81    2%     4041     7% /gpfs

在这里,可以使用 mmdsh 命令快速检查所有节点上的文件系统状态。

aixlpar1 :/ # mmdsh df -g | grep gpfs
aixlpar2:/dev/gpfs0       150.00    147.81    2%     4041     7% /gpfs
aixlpar2:/dev/gpfs1       150.00    147.69    2%     4041     3% /gpfs1
aixlpar1:/dev/gpfs1       150.00    147.69    2%     4041     3% /gpfs1
aixlpar1:/dev/gpfs0       150.00    147.81    2%     4041     7% /gpfs

如果需要更详细的信息,可以使用 mmdf 命令。

aixlpar1 :/gpfs # mmdf gpfs0 --block-size=auto
disk      disk size  failure holds    holds                 free                free
name      group metadata data        in full blocks        in fragments
--------------- ------------- -------- -------- ----- -------------------- ------------
Disks in storage pool: system (Maximum disk size allowed is 422 GB)
nsd01       50G       -1 yes      yes          49.27G ( 99%)          872K ( 0%)
nsd02       50G       -1 yes      yes          49.27G ( 99%)          936K ( 0%)
nsd03       50G       -1 yes      yes          49.27G ( 99%)          696K ( 0%)
           -------------                       -------------------- -------------------
(pool total) 150G                              147.8G ( 99%)        2.445M ( 0%)

           =============                       ==================== ===================
(total)          150G                          147.8G ( 99%)        2.445M ( 0%)

Inode Information
-----------------
Number of used inodes:            4040
Number of free inodes:           62008
Number of allocated inodes:      66048
Maximum number of inodes:        66048

aixlpar1 :/gpfs # mmdf gpfs1 --block-size=auto
disk       disk size  failure holds   holds             free            free
name       group metadata data        in full blocks    in fragments
--------------- ------------- -------- -------- ----- -------------------- 
Disks in storage pool: system (Maximum disk size allowed is 784 GB)
nsd04        50G       -1 yes      yes          49.55G ( 99%)        1.938M ( 00%)
nsd05        50G       -1 yes      yes          49.56G ( 99%)          992K ( 0%)
nsd06        50G       -1 yes      yes          49.56G ( 99%)        1.906M ( 00%)
          -------------                         -------------------- -------------------
(pool total) 150G                               148.7G ( 99%)        4.812M ( 00%)

          =============                         ==================== ===================
(total)           150G                          148.7G ( 99%)        4.812M ( 00%)

Inode Information
-----------------
Number of used inodes:            4040
Number of free inodes:          155704
Number of allocated inodes:     159744
Maximum number of inodes:       159744

通过决胜(tiebreaker)磁盘进行节点仲裁

如果您有一个双节点集群,或者集群中所有节点都通过 SAN 连接到一组公共的逻辑单元号(LUN),并且您想继续通过单一幸存节点(surviving node)提供数据,那么我们建议使用决胜磁盘(tiebreaker disk)。通常情况下,只在双节点集群中使用决胜磁盘。决胜磁盘不是特殊的 NSD;您可以使用任何 NSD 作为决胜磁盘。

在本例中,我们选择了三个(总数为六个)NSD 设备作为决胜磁盘。我们在所有节点上停止 GPFS,并相应地配置了集群。

# mmshutdown -N
# mmchconfig tiebreakerDisks="nsd01;nsd03;nsd05"
# mmstartup -a

集群守护进程状态

在 GPFS 处于活动状态时,有两个 GPFS 守护进程仍然处于活动状态(mmfsd64runmmfs)。

# ps -ef | grep mmfs
root 4784176 5505220 0   May 20 - 0:27 /usr/lpp/mmfs/bin/aix64/mmfsd64
root 5505220       1 0   May 20 - 0:00 /usr/lpp/mmfs/bin/mmksh /usr/lpp/mmfs/bin/runmmfs

您可以使用 mmgetstate 命令来查看集群中所有节点上的 GPFS 守护进程的状态。

# mmgetstate -aLs

 Node number  Node name       Quorum  Nodes up  Total nodes  GPFS state  Remarks
------------------------------------------------------------------------------------
       1      aixlpar2a       1*        2          2       active      quorum node
       2      aixlpar1a       1*        2          2       active      quorum node

 Summary information
---------------------
Number of nodes defined in the cluster:            2
Number of local nodes active in the cluster:       2
Number of remote nodes joined in this cluster:     0
Number of quorum nodes defined in the cluster:     2
Number of quorum nodes active in the cluster:      2
Quorum = 1*, Quorum achieved

结束语

恭喜您!您刚刚配置了自己的第一个 GPFS 集群。在本文中,您已经学会了如何在 AIX 上构建一个简单的双节点 GPFS 集群。可以轻松地部署这种类型的配置,以支持具有高可用性需求的集群工作负载,例如 MQ 多实例集群。GPFS 提供了许多配置选项;规划 GPFS 集群可能要花很长时间。如果您认真地考虑一个 GPFS 部署,我鼓励您阅读本文的 参考资料 部分中提供的所有可用 GPFS 文档。

参考资料

学习

讨论

  • 加入 developerWorks 中文社区。查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX
ArticleID=950771
ArticleTitle=在 IBM AIX 上构建一个双节点的 IBM GPFS 集群
publish-date=10312013