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. 增强系统的性能
使用GPFS文件系统存储和检索文件可以提高系统的性能。
l 使得运行在同一节点集中的多个节点上的进程和应用,使用标准的文件系统调用就可同时访问同一个文件。
l 通过将读写操作分布到多个此盘上提高了文件系统的总体带宽。
l 允许从多节点上进行并发的读/写操作。
2. 保证文件的一致性
GPFS中使用了成熟的令牌管理技术来保证数据的一致性,同时又允许群集中的节点通过不同的途经以相同的名字访问相同的文件。
3. 较强的恢复能力以提高数据的有效性
GPFS是一个日志文件系统,每个节点都有单独的日志,在这些日志中记录了对元数据(metadata)的修改和配置,在节点发生故障时便于快速恢复,保证数据的一致性。
4. 增强了系统的灵活性
使用GPFS,系统资源是可变的,可在文件系统加载时,就进行磁盘的添加与删除操作。如果系统不是很繁忙,还可在文件系统中重新分布数据,以提高文件系统的读写性能。
5. 统一的文件系统管理
GPFS管理命令被设计成,保证群集中节点上GPFS群集数据(有关群集和GPFS文件系统的配置信息)的同步性,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 是由后台进程中的线程发起的。
·文件系统的安全与配额管理也是由进程协同文件系统管理器共同管理的
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) |
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 节点 |
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类型. |
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经远程数据访问路径实现数据访问,以此保持数据访问路径的可用性.
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.
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:/#
[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]:/>
[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
[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
[ZFXDLHRDB1:root]:/>mmlsnsd
File system Disk name NSD servers
---------------------------------------------------------------------------
Tlv_arch gpfs1nsd ZFXDLHRDB1,ZFXDLHRDB2
[ZFXDLHRDB1:root]:/>
/usr/lpp/mmfs
/usr/lpp/mmfs/bin
/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>
启动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 server和NSD server
显示节点信息
mmlsnode -a
改变cluster配置信息
mmchcluster
改变primary和secondary 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.
/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或删除。
root@ZT3DD5TEST:/# mmgetstate -a
Node number Node name GPFS state --------------------- ------------- -------- 1 ZT3DB6TEST active 2 ZT3DD5TEST active |
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 |
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 |
root@ZT3DD5TEST:/# mmcrfs Tlv_testgpfs -F /tmp/gpfs/nsd2.list -Ayes -T /testgpfs |
说明:
Tlv_gpfs:新建GPFS文件系统所属lv的名字
/testgpfs:GPFS文件系统挂载点
将系统处于freedisk状态的磁盘,加入文件系统,如:
(freedisk) gpfs2nsd ZT3DB6TEST,ZT3DD5TEST
root@ZT3DD5TEST:/# mmadddisk Tlv_testgpfs gpfs2nsd |
1.1 卸载集群文件系统
root@ZT3DD5TEST:/# mmumount all -a |
1.2 删除集群文件系统
root@ZT3DD5TEST:/# mmdelfs_testgpfs |
root@ZT3DD5TEST:/# mmchfs Tlv_testgpfs --inode-limit 8192000 |
按前文所述,在新添加的节点及已有节点上修改相关文件之后,执行以下命令:
root@ZT3DD5TEST:/usr/lpp/mmfs/bin# mmaddnode -N ZBSDB |
#/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磁盘有2个NSD 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搭建为例
root@ZT3DD5TEST:/# lspv hdisk0 00c06c0e9ee49d3a rootvg active hdisk1 00c37d655da46ca8 appvg active hdisk2 00c8c6f077a1b909 None |
root@ZT3DD5TEST:/# oslevel -s 5300-11-03-1013 |
root@ZT3DD5TEST:/# mount /nfs |
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' |
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 |
编辑两个节点 /etc/hosts文件,添加以下内容:
22.188.133.138 ZT3DD5TEST 22.188.133.100 ZT3DB6TEST |
编辑两个节点的/.rhosts文件,添加以下内容:
ZT3DD5TEST root ZT3DB6TEST root |
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 |
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 |
以下操作都在节点一执行。
在节点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 |
----- 修改 :/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 |
root@ZT3DB6TEST:/# mmchconfig pagepool=512M root@ZT3DB6TEST:/# mmchconfig maxFilesToCache=10000 root@ZT3DB6TEST:/# mmchconfig tiebreakerDisks=gpfs1nsd |
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 |
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
root@ZT3DB6TEST:/# mmmount all -a |
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 |
root@ZT3DD5TEST:/# mmumount all -a |
root@ZT3DD5TEST:/# mmshutdown -a root@ZT3DD5TEST:/# mmgetstate -Las |
root@ZT3DD5TEST:/# mmchconfig tiebreakerdisks="" root@ZT3DD5TEST:/# mmlsconfig |
root@ZT3DD5TEST:/# mmstartup -a |
root@ZT3DD5TEST:/# mmumount all -a |
root@ZT3DD5TEST:/# mmdelfs Tlv_testgpfs |
root@ZT3DD5TEST:/# mmdelnsd gpfs1nsd;gpfs2nsd 或 root@ZT3DD5TEST:/# mmdelnsd -F /tmp/gpfs/nsd2.list |
root@ZT3DD5TEST:/# mmshutdown -a |
root@ZT3DD5TEST:/ # mmdelnode -a |
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群,学习最实用的数据库技术。