转载

【存储】GPFS简介及搭建

【存储】GPFS简介及搭建




第一章 GPFS简介

1.1  GPFS 文件系统介绍

IBMGPFSGeneral 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 通过将读写操作分布到多个此盘上提高了文件系统的总体带宽。

允许从多节点上进行并发的读/写操作。

2. 保证文件的一致性

GPFS中使用了成熟的令牌管理技术来保证数据的一致性,同时又允许群集中的节点通过不同的途经以相同的名字访问相同的文件。

3. 较强的恢复能力以提高数据的有效性

GPFS是一个日志文件系统,每个节点都有单独的日志,在这些日志中记录了对元数据(metadata)的修改和配置,在节点发生故障时便于快速恢复,保证数据的一致性。

4. 增强了系统的灵活性

使用GPFS,系统资源是可变的,可在文件系统加载时,就进行磁盘的添加与删除操作。如果系统不是很繁忙,还可在文件系统中重新分布数据,以提高文件系统的读写性能。

5. 统一的文件系统管理

GPFS管理命令被设计成,保证群集中节点上GPFS群集数据(有关群集和GPFS文件系统的配置信息)的同步性,GPFS文件系统的管理命令只需在一节点上执行,相关操作就会同步到其他相关节点上。

 

1.3  GPFS的基本结构

GPFS是一种定义在多个节点上的集群文件系统。运行GPFS的全部节点集称之为GPFS群集。在GPFS群集中,所有节点又被分成多个GPFS节点集,在同一个节点集的节点可共享其所属的GPFS文件系统,而其他节点集中的节点是无法访问它的。GPFS支持lcrpdhacmpsp等多种群集类型。

 

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节点, 其中最多128AIX节点

rpd

GPFS v2.2v2.1

AIX

128 节点

hacmp

GPFS v2.2v2.1

AIX

128 节点

sp

GPFS v2.2v2.1

AIX

128 节点

 

 

 

 

1.6  什么是lc类型的集群

 

lc集群是最灵活的GPFS集群, 支持的环境存在最少限制.  它同时支持AIX和Linux操作系统下的GPFS, 并且可以将所有早期版本的GPFS集群集成起来.  所有新的GPFS集群的实施应首先考虑采用lc类型的集群.  所有已有的GPFS集群也应在软硬件环境允许的情况下考虑转移到lc集群上来.

 

lc集群支持的节点如下(可同时包含AIXLinux的节点):

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

 

GPFS v2.1

AIX 5L v5.1  AIX 5L v5.2

PSSP v3.5

30-Apr-06

 

 

当在SP集群环境中运行GPFS, 磁盘规划必须遵循的原则是什么?

 

在一个SP类型的集群中, 一个标准的GPFS集群配置使用RVSD.  违反此原则的一个例子是GPFS集群使用了CVSD(concurrent virtual shared disks).  使用CVSD可能在所支持的磁盘类型中引起冲突.  这一点在集群属性小节的第4页表2, 第4页表3, 第5页表4, 和第5页表5中指出.  但对于2节点的SP集群运行单一节点quorum的情况则没有特殊的磁盘限制 (参见问题: 搣2节点的节点组(nodesets)注意事项?攠).  对于更多的磁盘配置信息和举例, 请参见ftp.software.ibm.com/storage/fastt/fastt500/PSSP-GPFS_config_info.pdf.  

 

 

 

第二章 GPFS维护命令

2.1  GPFS进程

root@ZFALHRDB2:/#ps -ef|grep mmfs

    root 3342490 2163018   0 20:07:22      -  0:00 /usr/lpp/mmfs/bin/mmksh /usr/lpp/mmfs/bin/mmccrmonitor 15

    root 2163018       1   0 19:00:41      -  0:00 /usr/lpp/mmfs/bin/mmksh /usr/lpp/mmfs/bin/mmccrmonitor 15

    root 3539338       1   0 19:18:32      -  0:00 /usr/lpp/mmfs/bin/mmksh /usr/lpp/mmfs/bin/runmmfs

    root 3670322 3539338   0 19:18:33      -  0:02 /usr/lpp/mmfs/bin/mmfsd

root@ZFALHRDB2:/#

 

2.2  查看GPFS配置

[ZFXDLHRDB1:root]:/>mmlsconfig

Configuration data for cluster gpfs1.ZFXDLHRDB1:

------------------------------------------------

clusterName gpfs1.ZFXDLHRDB1 gpfs集群名)

clusterId 16532570700016402553

autoload no

dmapiFileHandleSize 32

minReleaseLevel 4.1.0.4

ccrEnabled yes

pagepool 512M

maxFilesToCache 10000

tiebreakerDisks gpfs1nsd

adminMode central

 

File systems in cluster gpfs1.ZFXDLHRDB1:

-----------------------------------------

/dev/Tlv_arch gpfs集群中已有的文件系统)

[ZFXDLHRDB1:root]:/>

 

2.3  查看GPFS成员

[ZFXDLHRDB1:root]:/>which mmlscluster

/usr/lpp/mmfs/bin/mmlscluster

 

[ZFXDLHRDB1:root]:/>mmlscluster

 

GPFS cluster information

========================

  GPFS cluster name:         gpfs1.ZFXDLHRDB1

  GPFS cluster id:           16532570700016402553

  GPFS UID domain:           gpfs1.ZFXDLHRDB1

  Remote shell command:      /usr/bin/rsh

  Remote file copy command:  /usr/bin/rcp

  Repository type:           CCR

 

 Node  Daemon node name  IP address     Admin node name  Designation

---------------------------------------------------------------------

   1   ZFXDLHRDB1        22.188.194.64  ZFXDLHRDB1       quorum-manager

   2   ZFXDLHRDB2        22.188.194.66  ZFXDLHRDB2       quorum-manager

 

[ZFXDLHRDB1:root]:/>

 

#mmlscluster

GPFS cluster information

========================

  GPFS cluster name:         GCMS.ZTXSTRX17

  GPFS cluster id:           1638332116932102717

  GPFS UID domain:           GCMS.ZTXSTRX17

  Remote shell command:      /usr/bin/rsh

  Remote file copy command:  /usr/bin/rcp

 

GPFS cluster configuration servers:

-----------------------------------

  Primary server:    ZTXSTRX17

  Secondary server:  ZTYSTRY17

 

 Node  Daemon node name            IP address       Admin node name             Designation    

-----------------------------------------------------------------------------------------------

   1   ZTXSTRX17                   22.188.134.97    ZTXSTRX17                   quorum-manager

   2   ZTYSTRY17                   22.188.134.98    ZTYSTRY17                   quorum-manager

   3   ZTTSTRT26                   22.188.134.66    ZTTSTRT26                   quorum

   4   ZTUSTRU26                   22.188.134.46    ZTUSTRU26                   quorum

   5   ZTTSTRT30                   22.188.134.70    ZTTSTRT30                   quorum

 

2.4  查看GPFS集群各节点状态

[ZFXDLHRDB1:root]:/>mmgetstate -a

 

 Node number  Node name        GPFS state

------------------------------------------

       1      ZFXDLHRDB1       active

       2      ZFXDLHRDB2       active

[ZFXDLHRDB1:root]:/>

[ZFXDLHRDB1:root]:/>mmgetstate -Las

 

 Node number  Node name       Quorum  Nodes up  Total nodes  GPFS state  Remarks    

------------------------------------------------------------------------------------

       1      ZFXDLHRDB1         1        2          2       active      quorum node

       2      ZFXDLHRDB2         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

 

#mmgetstate -a

Node number  Node name        GPFS state

------------------------------------------

       1      ZTXSTRX17        active

       2      ZTYSTRY17        active

       3      ZTTSTRT26        active

       4      ZTUSTRU26        active

       5      ZTTSTRT30        active

 

2.5  NSD servers

[ZFXDLHRDB1:root]:/>mmlsnsd

 

 File system   Disk name    NSD servers                                    

---------------------------------------------------------------------------

 Tlv_arch      gpfs1nsd     ZFXDLHRDB1,ZFXDLHRDB2    

 

[ZFXDLHRDB1:root]:/>

 

2.6  GPFS的日常维护

2.6.1  GPFS的安装路径和日志

2.6.1.1  GPFS的安装路径

/usr/lpp/mmfs

 

2.6.1.2  GPFS的命令路径

/usr/lpp/mmfs/bin

 

2.6.1.3  GPFS的日志

/var/adm/ras/mmfs.log.latest

snap.gpfs 收集最全的日志信息以便技术中心对复杂的故障进行分析

 

[ZFXDLHRDB1:root]:/usr/lpp/mmfs>more /var/adm/ras/mmfs.log.latest

Tue Dec 29 16:24:52 BEIST 2015: runmmfs starting

Removing old /var/adm/ras/mmfs.log.* files:

Loading kernel extension from /usr/lpp/mmfs/bin . . .

GPFS: 6027-500 /usr/lpp/mmfs/bin/mmfs loaded and configured.

Tue Dec 29 16:24:53.960 2015: GPFS: 6027-310 [I] mmfsd initializing. {Version: 4.1.0.7   Built: Mar 11 2015 18:00:02} ...

Tue Dec 29 16:24:53.962 2015: [I] Cleaning old shared memory ...

Tue Dec 29 16:24:53.963 2015: [I] First pass parsing mmfs.cfg ...

Tue Dec 29 16:24:53.965 2015: [I] Enabled automated deadlock detection.

Tue Dec 29 16:24:53.966 2015: [I] Enabled automated deadlock debug data collection.

Tue Dec 29 16:24:53.967 2015: [I] Initializing the main process ...

Tue Dec 29 16:24:53.969 2015: [I] Second pass parsing mmfs.cfg ...

Tue Dec 29 16:24:53.970 2015: [I] Initializing the page pool ...

Tue Dec 29 16:24:54.094 2015: [I] Initializing the mailbox message system ...

Tue Dec 29 16:24:54.110 2015: [I] Initializing encryption ...

Tue Dec 29 16:24:54.112 2015: [I] Encryption: loaded crypto library: IBM CryptoLite for C v4.10.1.5600 (c4T3/GPFSAIX64).

Tue Dec 29 16:24:54.113 2015: [I] Initializing the thread system ...

Tue Dec 29 16:24:54.114 2015: [I] Creating threads ...

Tue Dec 29 16:24:54.125 2015: [I] Initializing inter-node communication ...

Tue Dec 29 16:24:54.132 2015: [I] Creating the main SDR server object ...

Tue Dec 29 16:24:54.133 2015: [I] Initializing the sdrServ library ...

Tue Dec 29 16:24:54.135 2015: [I] Initializing the ccrServ library ...

Tue Dec 29 16:24:54.149 2015: [I] Initializing the cluster manager ...

Tue Dec 29 16:24:55.197 2015: [I] Initializing the token manager ...

Tue Dec 29 16:24:55.205 2015: [I] Initializing network shared disks ...

Tue Dec 29 16:24:57.478 2015: [I] Start the ccrServ ...

Tue Dec 29 16:24:57.670 2015: GPFS: 6027-1750 [N] The client side TLS handshake with node 22.188.194.66 was cancelled: connection reset by peer (return code 420).

Tue Dec 29 16:24:58.213 2015: GPFS: 6027-1710 [N] Connecting to 22.188.194.66 ZFXDLHRDB2

Tue Dec 29 16:24:58.215 2015: GPFS: 6027-1711 [I] Connected to 22.188.194.66 ZFXDLHRDB2

Tue Dec 29 16:24:58.218 2015: GPFS: 6027-755 [I] Waiting for challenge 0 (node -1, sequence 27) to be responded during disk election

Tue Dec 29 16:25:29.236 2015: GPFS: 6027-2752 [I] This node got elected. Sequence: 1

Tue Dec 29 16:25:29.237 2015: GPFS: 6027-2750 [I] Node 22.188.194.64 (ZFXDLHRDB1) is now the Group Leader.

Tue Dec 29 16:25:29.241 2015: GPFS: 6027-2723 [N] This node (22.188.194.64 (ZFXDLHRDB1)) is now Cluster Manager for gpfs1.ZFXDLHRDB1.

Tue Dec 29 16:25:29.553 2015: GPFS: 6027-300 [N] mmfsd ready

Tue Dec 29 16:25:29 BEIST 2015: mmcommon mmfsup invoked. Parameters: 22.188.194.64 22.188.194.64 all

Tue Dec 29 16:26:26.025 2015: GPFS: 6027-630 [N] Node 22.188.194.64 (ZFXDLHRDB1) appointed as manager for Tlv_arch.

Tue Dec 29 16:26:26.201 2015: [I] Command: tscrfs /dev/Tlv_arch -F /var/mmfs/tmp/tsddFile.mmcrfs.12517586 -I 16384 -i 4096 -M 2 -n 32 -R 2 -w 0 --inode-limit 8192000

Tue Dec 29 16:26:30.466 2015: GPFS: 6027-643 [I] Node 22.188.194.64 (ZFXDLHRDB1) completed take over for Tlv_arch.

Tue Dec 29 16:26:30.807 2015: [I] Command: successful tscrfs /dev/Tlv_arch -F /var/mmfs/tmp/tsddFile.mmcrfs.12517586 -I 16384 -i 4096 -M 2 -n 32 -R 2 -w 0 --inode-limit

 8192000

Tue Dec 29 16:27:02.250 2015: [I] Command: mount Tlv_arch 17957008

Tue Dec 29 16:27:03.069 2015: [I] Command: successful mount Tlv_arch 17957008

[ZFXDLHRDB1:root]:/usr/lpp/mmfs>

2.6.2  主机应用的启动顺序

启动GPFS

mmstartup  a

df g  /gpfs1

启动HACMP

smitty clstart

启动ORACLE数据库

#su oracle

$>sqlplus / as sysdba

SQL>startup

三、           主机应用的关闭顺序

关闭ORACLE数据库

#su oracle

$>sqlplus / as sysdba

SQL>shutdown immediate

关闭HACMP

smitty clstop

关闭GPFS

Mmshutdown

四、           GPFS的启动和关闭

GPFS的启动

mmstartup a

GPFS的关闭

mmshutdown a

单个节点gpfs的启动和关闭

mmstartup/mmshutdown

GPFS的进程监控

ps ef|grep mmfsd

mmgetstate -a

五、           GPFS 的文件系统管理

Mount文件系统

mount /dev/gpfs1

Umount 文件系统

umount /dev/gpfs1

删除文件系统

mmdelfs

mmdelfs gpfs1

mmchfs

mmlsfs

mmlsfs gpfs1

mmdf

mmdf gpfs1

六、           GPFS 的集群管理

创建gpfs cluster

mmcrcluster

察看gpfs cluster配置信息

mmlscluster

mmlsconfig

增加节点到cluster

mmaddnode nodename

删除节点从cluster

mmdelnode nodename

注:不能是config serverNSD server

 显示节点信息

mmlsnode -a

改变cluster配置信息

mmchcluster

改变primarysecondary config server到其他节点

mmchcluster -p nodename

mmchconfig

mmchconfig tiebreakerDisks="nsdName;nsdName;nsdName"

七、            GPFS 的磁盘管理

mmcrnsd

mmlsnsd

mmadddisk

mmdeldisk

mmchdisk

mmchdisk fs1 change -d "gpfs2nsd:::dataOnly"

mmchnsd

mmchnsd "gpfs47nsd:nodename1:nodename2"

mmlsdisk

mmlsdisk fs1 -d gpfs2nsd

mmlsdisk fs1 L

八、           GPFS 的复制

Single replicated GPFS file system:

mmcrfs /gpfs/fs0 fs0 F diskDescList -r 2 -R 2 -m 2 -M 2

 

The cluster configuration data is stored in the file /var/mmfs/gen/mmsdrfs

Backed up using user exit /var/mmfs/etc/mmsdrbackup

You can use a mmsdrbackup.sample as a sample script.

 

2.6.3  GPFS配置文件地址

/var/mmfs/gen

 

mmsdrfs 文件

 

----- 修改 :/var/mmfs/gen/mmsdrfs

%%9999%%:00_VERSION_LINE::1404:3:9::lc:ZFCASSDB1:ZFCASSDB2:96:::11685852384557034205:lc2:1462528738::gpfs.cass:1:0:1:3:A:::central:0.0:

 

这里的96代表gpfs起始地址,若重新安装gpfs需要修改这个值为0或删除。

 

2.7  查看GPFS集群状态

root@ZT3DD5TEST:/# mmgetstate -a

 

 Node number         Node name        GPFS state

---------------------         -------------           --------

       1           ZT3DB6TEST           active

       2           ZT3DD5TEST           active

 

2.8  启动与关闭

1.1 启动GPFS集群

1.1.1 启动单节点

root@ZT3DD5TEST:/var/mmfs/tmp# mmstartup

1.1.2 启动所有节点

root@ZT3DD5TEST:/var/mmfs/tmp# mmstartup -a

1.2 关闭GPFS集群

1.2.1 关闭单节点

卸载该节点所有GPFS文件系统

root@ZT3DD5TEST:/var/mmfs/tmp# mmumount Tlv_test

 

关闭该节点GPFS

root@ZT3DD5TEST:/var/mmfs/tmp# mmshutdown

 

1.2.2 关闭所有节点

卸载所有节点上的GPFS文件系统

root@ZT3DD5TEST:/var/mmfs/tmp# mmumount all -a

 

关闭GPFS集群

root@ZT3DD5TEST:/var/mmfs/tmp# mmshutdown -a

2.9  添加磁盘

GPFS集群中添加新的磁盘

1.1 查看系统中空闲磁盘

root@ZT3DD5TEST:/# lspv

hdisk0   00c06c0e9ee49d3a rootvg          active

hdisk1 00c37d655da46ca8 None           active

hdisk2 00c8c6f077a1b909 gpfs1nsd   

 

1.2 格式化磁盘到GPFS格式

echo "hdisk1:ZT3DD5TEST:ZT3DB6TEST:dataAndMetadata:1">>/tmp/gpfs/nsd2.list

 

root@ZT3DD5TEST:/# mmcrnsd -F /tmp/gpfs/nsd2.list

 

查看磁盘是否格式化成功,以下格式说明添加成功

root@ZT3DD5TEST:/# mmlsnsd

 File system   Disk name    NSD servers                                    

---------------------------------------------------------------------------

 Tlv_test      gpfs1nsd     ZT3DB6TEST,ZT3DD5TEST

(freedisk)    gpfs2nsd      ZT3DB6TEST,ZT3DD5TEST

 

2.10  创建文件系统

root@ZT3DD5TEST:/# mmcrfs Tlv_testgpfs -F /tmp/gpfs/nsd2.list -Ayes -T /testgpfs

说明:

Tlv_gpfs:新建GPFS文件系统所属lv的名字

/testgpfsGPFS文件系统挂载点

2.11  文件系统扩容

将系统处于freedisk状态的磁盘,加入文件系统,如:

(freedisk)    gpfs2nsd      ZT3DB6TEST,ZT3DD5TEST

 

root@ZT3DD5TEST:/# mmadddisk Tlv_testgpfs gpfs2nsd

2.12  删除文件系统

1.1 卸载集群文件系统

root@ZT3DD5TEST:/# mmumount all -a

1.2 删除集群文件系统

root@ZT3DD5TEST:/# mmdelfs_testgpfs

 

2.13  更改inode节点限制

root@ZT3DD5TEST:/# mmchfs Tlv_testgpfs --inode-limit 8192000

2.14  添加节点

按前文所述,在新添加的节点及已有节点上修改相关文件之后,执行以下命令:

root@ZT3DD5TEST:/usr/lpp/mmfs/bin# mmaddnode -N ZBSDB

 

2.15  迁移步骤

#/usr/lpp/mmfs/bin/mmlscluster;

#/usr/lpp/mmfs/bin/mmgetstate -a;

#sleep 5;                        

#/usr/lpp/mmfs/bin/mmumount all -a;

#sleep 5;                   

#/usr/lpp/mmfs/bin/mmshutdown -a;  

#sleep 5;                    

#/usr/lpp/mmfs/bin/mmchconfig tiebreakerDisks=gpfs1nsd;

#/usr/lpp/mmfs/bin/mmlsconfig all |grep tie;           

#/usr/lpp/mmfs/bin/mmstartup -a;

#sleep 5;                       

#/usr/lpp/mmfs/bin/mmmount all -a;                    

#/usr/lpp/mmfs/bin/mmgetstate -a;

 

 

1) umount gpfs文件系统

#lsfs

/dev/Tlv_gcms   -  /gcms  mmfs  --      rw,mtime,atime,dev=Tlv_gcms no   no

 

#mmumount /gcms  (下单节点)

#mmumount /gcms –a (下所有节点)

 

Umount后使用df –g确认

 

2) 确认NSD server

#mmlsnsd

File system   Disk name    NSD servers                                    

---------------------------------------------------------------------------

 Tlv_gcms      gpfs1nsd     ZTXSTRX17,ZTYSTRY17  gpfs磁盘有2NSD server

 Tlv_gcms      gpfs2nsd     ZTXSTRX17,ZTYSTRY17      

 Tlv_gcms      gpfs3nsd     ZTXSTRX17,ZTYSTRY17      

 Tlv_gcms      gpfs4nsd     ZTXSTRX17,ZTYSTRY17      

 Tlv_gcms      gpfs5nsd     ZTXSTRX17,ZTYSTRY17      

 Tlv_gcms      gpfs6nsd     ZTXSTRX17,ZTYSTRY17      

 Tlv_gcms      gpfs7nsd     ZTXSTRX17,ZTYSTRY17      

 Tlv_gcms      gpfs8nsd     ZTXSTRX17,ZTYSTRY17      

 

3) gpfs集群

#mmshutdown (下单节点)  仅迁移quorum节点

#mmshutdown –a (下所有节点)  如迁移quorum-manager节点或迁移系统为唯一的NSD server

 

Shutdown 后可以用mmgetstate –a确认节点状态

 

 

第三章 GPFS搭建

以两节点GPFS搭建为例

3.1  查看系统资源

3.1.1  查看系统上空闲磁盘

 root@ZT3DD5TEST:/# lspv

hdisk0          00c06c0e9ee49d3a                rootvg          active

hdisk1          00c37d655da46ca8                appvg           active

hdisk2          00c8c6f077a1b909                None

3.1.2  查看系统版本

root@ZT3DD5TEST:/# oslevel -s

5300-11-03-1013

 

3.2  在所有节点安装GPFS软件

3.2.1  挂载网络文件系统/nfs

root@ZT3DD5TEST:/# mount  /nfs

3.2.2  进入GPFS软件所在的目录,安装软件

3.2.2.1  安装基础版本

root@ZT3DD5TEST:/# cd /nfs/software/midware/gpfs/gpfs.3400.base

root@ZT3DD5TEST:/# /usr/lib/instl/sm_inst installp_cmd -a -Q -d './' -f '_all_latest' '-N' '-g' '-X' '-G' '-Y'

3.2.2.2   升级GPFS

root@ZT3DD5TEST:/# cd  /nfs/software/midware/gpfs/gpfs.34010.ptf

root@ZT3DD5TEST:/# /usr/lib/instl/sm_inst installp_cmd -a -d './' -f '_update_all' '-c' '-N' '-g' '-X'

root@ZT3DD5TEST:/# /usr/lib/instl/sm_inst installp_cmd -c -f'all'  '-g' '-X'

 

以下状态说明软件安装成功

root@ZT3DD5TEST:/# lslpp -l|grep gpfs

gpfs.base                 3.4.0.10  COMMITTED  GPFS File Manager

gpfs.base                 3.4.0.10  COMMITTED  GPFS File Manager

gpfs.docs.data             3.4.0.3  COMMITTED  GPFS Server Manpages and

 

3.3  配置GPFS

3.3.1  编辑/etc/hosts文件

编辑两个节点 /etc/hosts文件,添加以下内容:

22.188.133.138  ZT3DD5TEST

22.188.133.100  ZT3DB6TEST

3.3.2  编辑两个节点/.rhosts文件,添加以下内容

编辑两个节点的/.rhosts文件,添加以下内容:

ZT3DD5TEST root

ZT3DB6TEST root

3.3.3  编辑两个节点/etc/environment文件

PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/usr/java14/bin:/usr/vac/bin

修改为:

PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/usr/java14/bin:/usr/vac/bin:/usr/lpp/mmfs/bin

 

3.3.4  在节点1上添加以下文件

root@ZT3DB6TEST:/# mkdir -p /tmp/gpfs

root@ZT3DB6TEST:/# cd /tmp/gpfs

root@ZT3DB6TEST:/tmp/gpfs# echo "ZT3DB6TEST:quorum-manager">>node.list

root@ZT3DB6TEST:/tmp/gpfs# echo "ZT3DD5TEST:quorum-manager">>node.list

 

3.4  创建GPFS集群

以下操作都在节点一执行。

3.4.1  新建GPFS集群

在节点1执行,即使有多个节点命令不变:

root@ZT3DB6TEST:/# . /etc/environment

root@ZT3DB6TEST:/# mmcrcluster -N /tmp/gpfs/node.list -p ZT3DB6TEST -s ZT3DD5TEST -C gpfs.test -A

说明:gpfs.test是创建的GPFS名称,根据需要命名。

 

节点1,若有多个节点则在-N参数后以逗号分开

root@ZT3DB6TEST:/# mmchlicense server --accept -N ZT3DB6TEST,ZT3DD5TEST

 

3.4.2  格式化磁盘为GPFS格式

----- 修改 :/var/mmfs/gen/mmsdrfs

%%9999%%:00_VERSION_LINE::1404:3:9::lc:ZFCASSDB1:ZFCASSDB2:96:::11685852384557034205:lc2:1462528738::gpfs.cass:1:0:1:3:A:::central:0.0:

 

这里的96代表gpfs起始地址,若重新安装gpfs需要修改这个值为0或删除。

 

root@ZT3DB6TEST:/#echo "hdisk2:ZT3DB6TEST,ZT3DD5TEST::dataAndMetadata:1:">>/tmp/gpfs/nsd.list

 

root@ZT3DB6TEST:/# mmcrnsd -F /tmp/gpfs/nsd.list

 

查看GPFS格式磁盘是否成功

root@ZT3DB6TEST:/# mmlsnsd

 

 File system                     Disk name       NSD servers          ---------------------------------------------------------------------------

 (free disk)                      gpfs1nsd     ZT3DB6TEST,ZT3DD5TEST

 

root@ZT3DB6TEST:/# lspv

hdisk0          00c37d655da4686a    rootvg           active

hdisk1          00c8c6f0e5c0e66a     appvg           active

hdisk2          00c8c6f077a1b909                     gpfs1nsd  

     

3.4.3  更改GPFS文件系统属性

root@ZT3DB6TEST:/# mmchconfig pagepool=512M

root@ZT3DB6TEST:/# mmchconfig maxFilesToCache=10000

root@ZT3DB6TEST:/# mmchconfig tiebreakerDisks=gpfs1nsd

 

3.4.4  创建GPFS文件系统

3.4.4.1  启动GPFS

root@ZT3DB6TEST:/# mmstartup -a

Wed Jul  4 14:09:45 BEIST 2012: mmstartup: Starting GPFS ...

root@ZT3DB6TEST:/# mmgetstate -a

 

 Node number  Node name        GPFS state

------------------------------------------

       1      ZT3DB6TEST_boot  active

       2      ZT3DD5TEST_boot  active

 

3.4.4.2  创建GPFS文件系统

root@ZT3DB6TEST:/# mmcrfs Tlv_test -F /tmp/gpfs/nsd.list -Ayes -T /testgpfs --inode-limit 8192000

mmcrfs Tlv_test -F "gpfs1nsd;gpfs2nsd" –A yes -T /testgpfs --inode-limit 81920000

 

--------- /tmp/gpfs/nsd.list文件中拷贝得到:

cat /tmp/gpfs/nsd1.list

# hdisk1:ZFCASSDB1,ZFCASSDB2,ZFALHRDB1,ZFALHRDB2::dataAndMetadata:1:

gpfs1nsd:::dataAndMetadata:1::system

# hdisk2:ZFCASSDB1,ZFCASSDB2,ZFALHRDB1,ZFALHRDB2::dataAndMetadata:1:

gpfs2nsd:::dataAndMetadata:1::system

# hdisk3:ZFCASSDB1,ZFCASSDB2,ZFALHRDB1,ZFALHRDB2::dataAndMetadata:1:

gpfs3nsd:::dataAndMetadata:1::system

# hdisk4:ZFCASSDB1,ZFCASSDB2,ZFALHRDB1,ZFALHRDB2::dataAndMetadata:1:

gpfs4nsd:::dataAndMetadata:1::system

# hdisk5:ZFCASSDB1,ZFCASSDB2,ZFALHRDB1,ZFALHRDB2::dataAndMetadata:1:

gpfs5nsd:::dataAndMetadata:1::system

# hdisk6:ZFCASSDB1,ZFCASSDB2,ZFALHRDB1,ZFALHRDB2::dataAndMetadata:1:

gpfs6nsd:::dataAndMetadata:1::system

# hdisk7:ZFCASSDB1,ZFCASSDB2,ZFALHRDB1,ZFALHRDB2::dataAndMetadata:1:

gpfs7nsd:::dataAndMetadata:1::system

 

mmcrfs Tlv_arch -F /tmp/gpfs/nsd1.list -Ayes -T /arch --inode-limit 81920000

mmcrfs Tlv_cassdata -F /tmp/gpfs/nsd2.list -Ayes -T /cassdata

mmcrfs Tlv_cass1_share -F /tmp/gpfs/nsd3.list -Ayes -T /cass1_share

 

3.4.4.3  挂载GPFS文件系统

root@ZT3DB6TEST:/# mmmount all -a

 

3.4.4.4  查看GPFS文件系统挂载成功

root@ZT3DB6TEST:/# df -g

Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on

/dev/hd4           2.00      1.92    4%     5676     2% /

/dev/hd2          10.00      7.62   24%    52886     3% /usr

/dev/hd9var        5.00      4.53   10%     2868     1% /var

/dev/hd3           2.00      1.68   16%      979     1% /tmp

/dev/hd1           2.00      2.00    1%       11     1% /home

/proc                 -         -    -         -     -  /proc

/dev/hd10opt       2.00      1.82    9%     9915     3% /opt

/dev/Tlv_software     15.00      5.45   64%    12681     1% /software

/dev/Tlv_oracle     50.00     40.48   20%    34202     1% /oracle

ZTDNETAP3:/nfs    544.88      1.28  100%   323010    47% /nfs

/dev/Tlv_test    109.25    108.85    1%     4038     1% /testgpfs

 

 

第四章 GPFS卸载

 

 

 

4.1  卸载集群文件系统

root@ZT3DD5TEST:/# mmumount all -a

4.2  关闭集群

root@ZT3DD5TEST:/# mmshutdown -a

root@ZT3DD5TEST:/# mmgetstate -Las

4.3  删除投票盘

root@ZT3DD5TEST:/# mmchconfig tiebreakerdisks=""

root@ZT3DD5TEST:/# mmlsconfig

4.4  启动集群

root@ZT3DD5TEST:/# mmstartup -a

4.5  卸载集群文件系统

root@ZT3DD5TEST:/# mmumount all -a

 

4.6  删除集群文件系统

root@ZT3DD5TEST:/# mmdelfs Tlv_testgpfs

4.7  删除集群磁盘

root@ZT3DD5TEST:/# mmdelnsd gpfs1nsd;gpfs2nsd

root@ZT3DD5TEST:/# mmdelnsd -F /tmp/gpfs/nsd2.list

4.8  关闭集群

root@ZT3DD5TEST:/# mmshutdown -a

4.9  删除集群

root@ZT3DD5TEST:/ # mmdelnode -a

 

 

4.10  删除GPFS软件

rm -rf /var/mmfs

rm -rf /usr/lpp/mmfs

rm -rf /usr/lpp/gpfs*

rm -rf /var/adm/ras/mmfs.log*

 

 

 

 






About Me

...............................................................................................................................

● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 本文在itpub(http://blog.itpub.net/26736162)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/

● 本文博客园地址:http://www.cnblogs.com/lhrbest

● 本文pdf版及小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答:http://blog.itpub.net/26736162/viewspace-2134706/

● QQ群:230161599     微信群:私聊

● 联系我请加QQ好友(646634621),注明添加缘由

● 于 2017-07-01 09:00 ~ 2017-07-31 22:00 在魔都完成

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

...............................................................................................................................

拿起手机使用微信客户端扫描下边的左边图片来关注小麦苗的微信公众号:xiaomaimiaolhr,扫描右边的二维码加入小麦苗的QQ群,学习最实用的数据库技术。

【存储】GPFS简介及搭建【存储】GPFS简介及搭建

【存储】GPFS简介及搭建
【存储】GPFS简介及搭建
【存储】GPFS简介及搭建

正文到此结束
Loading...