IBM的GPFS(GeneralParallelFileSystem,通用并行文件系统)可以让用户共享文件系统,这些文件系统可以跨多个节点,多个硬盘。GPFS文件系统提供了许多标准的Unix文件系统接口,大多数应用不需要修改或重新编译就可运行在GPFS文件系统上。UNIX文件系统上的实用程序也为GPFS所支持。也就是用户可以继续使用他们所熟悉的UNIX命令来进行常规的文件操作。但是用户需要使用GPFS文件系统的特有的管理命令来管理GPFS文件系统。
GPFS提供的文件系统服务既适用于并行应用也可用于串行应用。GPFS使得并行应用可同时访问文件系统上同一个文件或不同的文件。GPFS特别适合于集中对数据的访问超过了分布式文件服务器的处理能力的应用环境。它不适用于以热备份为主应用环境或数据很容易按照节点划分区的应用环境。
1.增强系统的性能
使用GPFS文件系统存储和检索文件可以提高系统的性能。
l使得运行在同一节点集中的多个节点上的进程和应用,使用标准的文件系统调用就可同时访问同一个文件。
l通过将读写操作分布到多个此盘上提高了文件系统的总体带宽。
l允许从多节点上进行并发的读/写操作。
2.保证文件的一致性
GPFS中使用了成熟的令牌管理技术来保证数据的一致性,同时又允许群集中的节点通过不同的途经以相同的名字访问相同的文件。
3.较强的恢复能力以提高数据的有效性
GPFS是一个日志文件系统,每个节点都有单独的日志,在这些日志中记录了对元数据(metadata)的修改和配置,在节点发生故障时便于快速恢复,保证数据的一致性。
4.增强了系统的灵活性
使用GPFS,系统资源是可变的,可在文件系统加载时,就进行磁盘的添加与删除操作。如果系统不是很繁忙,还可在文件系统中重新分布数据,以提高文件系统的读写性能。
5.统一的文件系统管理
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的实例进行通信,来协调配置的改变、文件系统的恢复和并行修改相同的数据结构。这些具体的功能包括:
·为新文件和新扩大的文件分配空间,这通过与文件系统管理器(filesystemmanager)协商完成。
·为保证数据和元数据的完整性分配适当的锁。涉及到会从多个节点访问的数据
·磁盘的I/O是由后台进程中的线程发起的。
·文件系统的安全与配额管理也是由进程协同文件系统管理器共同管理的
GPFS集群的类型有哪些,它们各由什么样的环境支持
网络连接,磁盘连接,操作系统和服务器平台与GPFS集群类型的关系如下:
GPFS集群类型
网络连接类型
磁盘连接
操作系统和服务器硬件
存储区域网(SAN)-连接于集群的所有节点
网络共享磁盘(NSD)服务器
lc(GPFS2.2)
具有以下带宽的网络:
-最少100Mb/秒
-建议1Gb/秒或更高带宽
结合SAN-连接和一个NSD服务器的环境
一个由AIX5L(pSeries)和Linux(仅在xSeries上)组成的具有协同操作功能的集群
Myrinet
lc(GPFS1.3)
GigE
Linux(仅在xSeries上)
sp
SPSwitch交换机或SPSwitch2交换机
VSD(virtualshareddisk)服务器
AIX(pSeries)
rpd
高性能交换机(HighPerformanceSwitch-HPS)
hacmp
GPFS经过测试的最大的集群大小是多少
下表列举了经过测试的最大GPFS集群大小.超过最大限制的集群实施需要通过你的IBM业务代表提请specialbid业务流程.
GPFS版本
操作系统
最大集群大小
GPFSv2.2
Linuxonly
512节点
AIXonly
128节点
lc
Linux(仅xSeries)和AIX
512节点,其中最多128个AIX节点
GPFSv2.2和v2.1
AIX
lc集群是最灵活的GPFS集群,支持的环境存在最少限制.它同时支持AIX和Linux操作系统下的GPFS,并且可以将所有早期版本的GPFS集群集成起来.所有新的GPFS集群的实施应首先考虑采用lc类型的集群.所有已有的GPFS集群也应在软硬件环境允许的情况下考虑转移到lc集群上来.
lc集群支持的节点如下(可同时包含AIX和Linux的节点):
AIX5.2节点
Linux节点
安装了GPFS2.2的单独的p系列节点或RSCT中的节点,未从属于已有的GPFS集群
将GPFS2.2sp集群节点迁移到新的lc集群
将GPFS2.2rpd集群节点迁移到新的lc集群
x系列节点--安装最新的Linux发布版本及内核版本,安装GPFS2.2
运行GPFS早于2.2版本,或者运行GPFS2.2但使用了旧的lc集群类型,必须迁移到GPFS2.2并使用新lc类型.
sp型GPFS集群,基于IBMPSSP(ParallelSystemSupportPrograms)软件及PSSP的VSD(VirtualSharedDisk)共享磁盘的概念.在GPFS集群类型SP中(在PSSP环境中),GPFS集群的成员节点依赖于所使用的网络交换机的类型.在使用SP交换机的系统中,GPFS集群等同于在sp相应分区中所有安装GPFS的节点.在安装SPSwitch2交换机的系统中,GPFS集群等同于此系统中所有安装GPFS的节点.换句话说,集群的定义是默认的,而不需要专门运行GPFS集群命令.在GPFS集群中,你可以在你的文件系统操作中定义一个或多个nodesets.GPFSSP类型集群对磁盘的需要是---所有磁盘必须是:
1)附属于一个位于此nodeset中的VSD服务器.
2)建立GPFS使用的VSD磁盘时,必须使用mmcrvsd命令,或者遵循ParallelSystemSupportProgramsforAIX:ManagingSharedDisks文档.
3)遵循本文中对于磁盘支持的准则.
当GPFS运行于一个SP类型的集群环境中时,软件需求是什么
在一个SP类型的集群中,GPFS需要PSSP软件和其中的IBMVSD及IBMRVSD(RecoverableVirtualShareddisk)部件来统一磁盘存取及恢复.
表:支持sp类型集群的软件版本需求:
AIX版本
PSSP版本
GPFS服务终止日期
AIX5Lv5.2
PSSPv3.5
GPFSv2.1
AIX5Lv5.1或AIX5Lv5.2
30-Apr-06
当在SP集群环境中运行GPFS时,磁盘规划必须遵循的原则是什么
在一个SP类型的集群中,一个标准的GPFS集群配置使用RVSD.违反此原则的一个例子是GPFS集群使用了CVSD(concurrentvirtualshareddisks).使用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|grepmmfs
root33424902163018020:07:22-0:00/usr/lpp/mmfs/bin/mmksh/usr/lpp/mmfs/bin/mmccrmonitor15
root21630181019:00:41-0:00/usr/lpp/mmfs/bin/mmksh/usr/lpp/mmfs/bin/mmccrmonitor15
root35393381019:18:32-0:00/usr/lpp/mmfs/bin/mmksh/usr/lpp/mmfs/bin/runmmfs
root36703223539338019:18:33-0:02/usr/lpp/mmfs/bin/mmfsd
root@ZFALHRDB2:/#
[ZFXDLHRDB1:root]:/>mmlsconfig
Configurationdataforclustergpfs1.ZFXDLHRDB1:
------------------------------------------------
clusterNamegpfs1.ZFXDLHRDB1(gpfs集群名)
clusterId16532570700016402553
autoloadno
dmapiFileHandleSize32
minReleaseLevel4.1.0.4
ccrEnabledyes
pagepool512M
maxFilesToCache10000
tiebreakerDisksgpfs1nsd
adminModecentral
Filesystemsinclustergpfs1.ZFXDLHRDB1:
-----------------------------------------
/dev/Tlv_arch(gpfs集群中已有的文件系统)
[ZFXDLHRDB1:root]:/>
[ZFXDLHRDB1:root]:/>whichmmlscluster
/usr/lpp/mmfs/bin/mmlscluster
[ZFXDLHRDB1:root]:/>mmlscluster
GPFSclusterinformation
========================
GPFSclustername:gpfs1.ZFXDLHRDB1
GPFSclusterid:16532570700016402553
GPFSUIDdomain:gpfs1.ZFXDLHRDB1
Remoteshellcommand:/usr/bin/rsh
Remotefilecopycommand:/usr/bin/rcp
Repositorytype:CCR
NodeDaemonnodenameIPaddressAdminnodenameDesignation
---------------------------------------------------------------------
1ZFXDLHRDB122.188.194.64ZFXDLHRDB1quorum-manager
2ZFXDLHRDB222.188.194.66ZFXDLHRDB2quorum-manager
#mmlscluster
GPFSclustername:GCMS.ZTXSTRX17
GPFSclusterid:1638332116932102717
GPFSUIDdomain:GCMS.ZTXSTRX17
GPFSclusterconfigurationservers:
-----------------------------------
Primaryserver:ZTXSTRX17
Secondaryserver:ZTYSTRY17
-----------------------------------------------------------------------------------------------
1ZTXSTRX1722.188.134.97ZTXSTRX17quorum-manager
2ZTYSTRY1722.188.134.98ZTYSTRY17quorum-manager
3ZTTSTRT2622.188.134.66ZTTSTRT26quorum
4ZTUSTRU2622.188.134.46ZTUSTRU26quorum
5ZTTSTRT3022.188.134.70ZTTSTRT30quorum
[ZFXDLHRDB1:root]:/>mmgetstate-a
NodenumberNodenameGPFSstate
------------------------------------------
1ZFXDLHRDB1active
2ZFXDLHRDB2active
[ZFXDLHRDB1:root]:/>mmgetstate-Las
NodenumberNodenameQuorumNodesupTotalnodesGPFSstateRemarks
------------------------------------------------------------------------------------
1ZFXDLHRDB1122activequorumnode
2ZFXDLHRDB2122activequorumnode
Summaryinformation
---------------------
Numberofnodesdefinedinthecluster:2
Numberoflocalnodesactiveinthecluster:2
Numberofremotenodesjoinedinthiscluster:0
Numberofquorumnodesdefinedinthecluster:2
Numberofquorumnodesactiveinthecluster:2
Quorum=1*,Quorumachieved
#mmgetstate-a
1ZTXSTRX17active
2ZTYSTRY17active
3ZTTSTRT26active
4ZTUSTRU26active
5ZTTSTRT30active
[ZFXDLHRDB1:root]:/>mmlsnsd
FilesystemDisknameNSDservers
---------------------------------------------------------------------------
Tlv_archgpfs1nsdZFXDLHRDB1,ZFXDLHRDB2
/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
TueDec2916:24:52BEIST2015:runmmfsstarting
Removingold/var/adm/ras/mmfs.log.*files:
Loadingkernelextensionfrom/usr/lpp/mmfs/bin...
GPFS:6027-500/usr/lpp/mmfs/bin/mmfsloadedandconfigured.
TueDec2916:24:53.9602015:GPFS:6027-310[I]mmfsdinitializing.{Version:4.1.0.7Built:Mar11201518:00:02}...
TueDec2916:24:53.9622015:[I]Cleaningoldsharedmemory...
TueDec2916:24:53.9632015:[I]Firstpassparsingmmfs.cfg...
TueDec2916:24:53.9652015:[I]Enabledautomateddeadlockdetection.
TueDec2916:24:53.9662015:[I]Enabledautomateddeadlockdebugdatacollection.
TueDec2916:24:53.9672015:[I]Initializingthemainprocess...
TueDec2916:24:53.9692015:[I]Secondpassparsingmmfs.cfg...
TueDec2916:24:53.9702015:[I]Initializingthepagepool...
TueDec2916:24:54.0942015:[I]Initializingthemailboxmessagesystem...
TueDec2916:24:54.1102015:[I]Initializingencryption...
TueDec2916:24:54.1122015:[I]Encryption:loadedcryptolibrary:IBMCryptoLiteforCv4.10.1.5600(c4T3/GPFSAIX64).
TueDec2916:24:54.1132015:[I]Initializingthethreadsystem...
TueDec2916:24:54.1142015:[I]Creatingthreads...
TueDec2916:24:54.1252015:[I]Initializinginter-nodecommunication...
TueDec2916:24:54.1322015:[I]CreatingthemainSDRserverobject...
TueDec2916:24:54.1332015:[I]InitializingthesdrServlibrary...
TueDec2916:24:54.1352015:[I]InitializingtheccrServlibrary...
TueDec2916:24:54.1492015:[I]Initializingtheclustermanager...
TueDec2916:24:55.1972015:[I]Initializingthetokenmanager...
TueDec2916:24:55.2052015:[I]Initializingnetworkshareddisks...
TueDec2916:24:57.4782015:[I]StarttheccrServ...
TueDec2916:24:57.6702015:GPFS:6027-1750[N]TheclientsideTLShandshakewithnode22.188.194.66wascancelled:connectionresetbypeer(returncode420).
TueDec2916:24:58.2132015:GPFS:6027-1710[N]Connectingto22.188.194.66ZFXDLHRDB2
TueDec2916:24:58.2152015:GPFS:6027-1711[I]Connectedto22.188.194.66ZFXDLHRDB2
TueDec2916:24:58.2182015:GPFS:6027-755[I]Waitingforchallenge0(node-1,sequence27)toberespondedduringdiskelection
TueDec2916:25:29.2362015:GPFS:6027-2752[I]Thisnodegotelected.Sequence:1
TueDec2916:25:29.2372015:GPFS:6027-2750[I]Node22.188.194.64(ZFXDLHRDB1)isnowtheGroupLeader.
TueDec2916:25:29.2412015:GPFS:6027-2723[N]Thisnode(22.188.194.64(ZFXDLHRDB1))isnowClusterManagerforgpfs1.ZFXDLHRDB1.
TueDec2916:25:29.5532015:GPFS:6027-300[N]mmfsdready
TueDec2916:25:29BEIST2015:mmcommonmmfsupinvoked.Parameters:22.188.194.6422.188.194.64all
TueDec2916:26:26.0252015:GPFS:6027-630[N]Node22.188.194.64(ZFXDLHRDB1)appointedasmanagerforTlv_arch.
TueDec2916:26:26.2012015:[I]Command:tscrfs/dev/Tlv_arch-F/var/mmfs/tmp/tsddFile.mmcrfs.12517586-I16384-i4096-M2-n32-R2-w0--inode-limit8192000
TueDec2916:26:30.4662015:GPFS:6027-643[I]Node22.188.194.64(ZFXDLHRDB1)completedtakeoverforTlv_arch.
TueDec2916:26:30.8072015:[I]Command:successfultscrfs/dev/Tlv_arch-F/var/mmfs/tmp/tsddFile.mmcrfs.12517586-I16384-i4096-M2-n32-R2-w0--inode-limit
8192000
TueDec2916:27:02.2502015:[I]Command:mountTlv_arch17957008
TueDec2916:27:03.0692015:[I]Command:successfulmountTlv_arch17957008
[ZFXDLHRDB1:root]:/usr/lpp/mmfs>
启动GPFS
mmstartup–a
df–g/gpfs1
启动HACMP
smittyclstart
启动ORACLE数据库
#su–oracle
$>sqlplus“/assysdba”
SQL>startup
三、主机应用的关闭顺序
关闭ORACLE数据库
SQL>shutdownimmediate
关闭HACMP
smittyclstop
关闭GPFS
Mmshutdown
四、GPFS的启动和关闭
GPFS的启动
GPFS的关闭
mmshutdown–a
单个节点gpfs的启动和关闭
mmstartup/mmshutdown
GPFS的进程监控
ps–ef|grepmmfsd
mmgetstate-a
五、GPFS的文件系统管理
Mount文件系统
mount/dev/gpfs1
Umount文件系统
umount/dev/gpfs1
删除文件系统
mmdelfs
mmdelfsgpfs1
mmchfs
mmlsfs
mmlsfsgpfs1
mmdf
mmdfgpfs1
六、GPFS的集群管理
创建gpfscluster
mmcrcluster
察看gpfscluster配置信息
mmlscluster
mmlsconfig
增加节点到cluster
mmaddnodenodename
删除节点从cluster
mmdelnodenodename
注:不能是configserver和NSDserver
显示节点信息
mmlsnode-a
改变cluster配置信息
mmchcluster
改变primary和secondaryconfigserver到其他节点
mmchcluster-pnodename
mmchconfig
mmchconfigtiebreakerDisks="nsdName;nsdName;nsdName"
七、GPFS的磁盘管理
mmcrnsd
mmlsnsd
mmadddisk
mmdeldisk
mmchdisk
mmchdiskfs1change-d"gpfs2nsd:::dataOnly"
mmchnsd
mmchnsd"gpfs47nsd:nodename1:nodename2"
mmlsdisk
mmlsdiskfs1-dgpfs2nsd
mmlsdiskfs1–L
八、GPFS的复制
SinglereplicatedGPFSfilesystem:
mmcrfs/gpfs/fs0fs0–FdiskDescList-r2-R2-m2-M2
Theclusterconfigurationdataisstoredinthefile/var/mmfs/gen/mmsdrfs
Backedupusinguserexit/var/mmfs/etc/mmsdrbackup
Youcanuseammsdrbackup.sampleasasamplescript.
/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
1ZT3DB6TESTactive
2ZT3DD5TESTactive
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#mmumountTlv_test
关闭该节点GPFS
root@ZT3DD5TEST:/var/mmfs/tmp#mmshutdown
1.2.2关闭所有节点
卸载所有节点上的GPFS文件系统
root@ZT3DD5TEST:/var/mmfs/tmp#mmumountall-a
关闭GPFS集群
root@ZT3DD5TEST:/var/mmfs/tmp#mmshutdown-a
GPFS集群中添加新的磁盘
1.1查看系统中空闲磁盘
root@ZT3DD5TEST:/#lspv
hdisk000c06c0e9ee49d3arootvgactive
hdisk100c37d655da46ca8Noneactive
hdisk200c8c6f077a1b909gpfs1nsd
1.2格式化磁盘到GPFS格式
echo"hdisk1:ZT3DD5TEST:ZT3DB6TEST:dataAndMetadata:1">>/tmp/gpfs/nsd2.list
root@ZT3DD5TEST:/#mmcrnsd-F/tmp/gpfs/nsd2.list
查看磁盘是否格式化成功,以下格式说明添加成功
root@ZT3DD5TEST:/#mmlsnsd
Tlv_testgpfs1nsdZT3DB6TEST,ZT3DD5TEST
(freedisk)gpfs2nsdZT3DB6TEST,ZT3DD5TEST
root@ZT3DD5TEST:/#mmcrfsTlv_testgpfs-F/tmp/gpfs/nsd2.list-Ayes-T/testgpfs
说明:
Tlv_gpfs:新建GPFS文件系统所属lv的名字
/testgpfs:GPFS文件系统挂载点
将系统处于freedisk状态的磁盘,加入文件系统,如:
root@ZT3DD5TEST:/#mmadddiskTlv_testgpfsgpfs2nsd
1.1卸载集群文件系统
root@ZT3DD5TEST:/#mmumountall-a
1.2删除集群文件系统
root@ZT3DD5TEST:/#mmdelfs_testgpfs
root@ZT3DD5TEST:/#mmchfsTlv_testgpfs--inode-limit8192000
root@ZT3DD5TEST:/usr/lpp/mmfs/bin#mmaddnode-NZBSDB
#/usr/lpp/mmfs/bin/mmlscluster;
#/usr/lpp/mmfs/bin/mmgetstate-a;
#sleep5;
#/usr/lpp/mmfs/bin/mmumountall-a;
#/usr/lpp/mmfs/bin/mmshutdown-a;
#/usr/lpp/mmfs/bin/mmchconfigtiebreakerDisks=gpfs1nsd;
#/usr/lpp/mmfs/bin/mmlsconfigall|greptie;
#/usr/lpp/mmfs/bin/mmstartup-a;
#/usr/lpp/mmfs/bin/mmmountall-a;
1)umountgpfs文件系统
#lsfs
/dev/Tlv_gcms-/gcmsmmfs--rw,mtime,atime,dev=Tlv_gcmsnono
#mmumount/gcms(下单节点)
#mmumount/gcms–a(下所有节点)
Umount后使用df–g确认
2)确认NSDserver
#mmlsnsd
Tlv_gcmsgpfs1nsdZTXSTRX17,ZTYSTRY17gpfs磁盘有2个NSDserver
Tlv_gcmsgpfs2nsdZTXSTRX17,ZTYSTRY17
Tlv_gcmsgpfs3nsdZTXSTRX17,ZTYSTRY17
Tlv_gcmsgpfs4nsdZTXSTRX17,ZTYSTRY17
Tlv_gcmsgpfs5nsdZTXSTRX17,ZTYSTRY17
Tlv_gcmsgpfs6nsdZTXSTRX17,ZTYSTRY17
Tlv_gcmsgpfs7nsdZTXSTRX17,ZTYSTRY17
Tlv_gcmsgpfs8nsdZTXSTRX17,ZTYSTRY17
3)停gpfs集群
#mmshutdown(下单节点)仅迁移quorum节点
#mmshutdown–a(下所有节点)如迁移quorum-manager节点或迁移系统为唯一的NSDserver
Shutdown后可以用mmgetstate–a确认节点状态
以两节点GPFS搭建为例
hdisk100c37d655da46ca8appvgactive
hdisk200c8c6f077a1b909None
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_instinstallp_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_instinstallp_cmd-a-d'./'-f'_update_all''-c''-N''-g''-X'
root@ZT3DD5TEST:/#/usr/lib/instl/sm_instinstallp_cmd-c-f'all''-g''-X'
以下状态说明软件安装成功
root@ZT3DD5TEST:/#lslpp-l|grepgpfs
gpfs.base3.4.0.10COMMITTEDGPFSFileManager
gpfs.docs.data3.4.0.3COMMITTEDGPFSServerManpagesand
编辑两个节点/etc/hosts文件,添加以下内容:
22.188.133.138ZT3DD5TEST
22.188.133.100ZT3DB6TEST
编辑两个节点的/.rhosts文件,添加以下内容:
ZT3DD5TESTroot
ZT3DB6TESTroot
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-pZT3DB6TEST-sZT3DD5TEST-Cgpfs.test-A
说明:gpfs.test是创建的GPFS名称,根据需要命名。
节点1,若有多个节点则在-N参数后以逗号分开:
root@ZT3DB6TEST:/#mmchlicenseserver--accept-NZT3DB6TEST,ZT3DD5TEST
root@ZT3DB6TEST:/#echo"hdisk2:ZT3DB6TEST,ZT3DD5TEST::dataAndMetadata:1:">>/tmp/gpfs/nsd.list
root@ZT3DB6TEST:/#mmcrnsd-F/tmp/gpfs/nsd.list
查看GPFS格式磁盘是否成功
root@ZT3DB6TEST:/#mmlsnsd
FilesystemDisknameNSDservers---------------------------------------------------------------------------
(freedisk)gpfs1nsdZT3DB6TEST,ZT3DD5TEST
root@ZT3DB6TEST:/#lspv
hdisk000c37d655da4686arootvgactive
hdisk100c8c6f0e5c0e66aappvgactive
root@ZT3DB6TEST:/#mmchconfigpagepool=512M
root@ZT3DB6TEST:/#mmchconfigmaxFilesToCache=10000
root@ZT3DB6TEST:/#mmchconfigtiebreakerDisks=gpfs1nsd
root@ZT3DB6TEST:/#mmstartup-a
WedJul414:09:45BEIST2012:mmstartup:StartingGPFS...
root@ZT3DB6TEST:/#mmgetstate-a
1ZT3DB6TEST_bootactive
2ZT3DD5TEST_bootactive
root@ZT3DB6TEST:/#mmcrfsTlv_test-F/tmp/gpfs/nsd.list-Ayes-T/testgpfs--inode-limit8192000
或
mmcrfsTlv_test-F"gpfs1nsd;gpfs2nsd"–Ayes-T/testgpfs--inode-limit81920000
---------从/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
mmcrfsTlv_arch-F/tmp/gpfs/nsd1.list-Ayes-T/arch--inode-limit81920000
mmcrfsTlv_cassdata-F/tmp/gpfs/nsd2.list-Ayes-T/cassdata
mmcrfsTlv_cass1_share-F/tmp/gpfs/nsd3.list-Ayes-T/cass1_share
root@ZT3DB6TEST:/#mmmountall-a
root@ZT3DB6TEST:/#df-g
FilesystemGBblocksFree%UsedIused%IusedMountedon
/dev/hd42.001.924%56762%/
/dev/hd210.007.6224%528863%/usr
/dev/hd9var5.004.5310%28681%/var
/dev/hd32.001.6816%9791%/tmp
/dev/hd12.002.001%111%/home
/proc-----/proc
/dev/hd10opt2.001.829%99153%/opt
/dev/Tlv_software15.005.4564%126811%/software
/dev/Tlv_oracle50.0040.4820%342021%/oracle
ZTDNETAP3:/nfs544.881.28100%32301047%/nfs
/dev/Tlv_test109.25108.851%40381%/testgpfs
root@ZT3DD5TEST:/#mmshutdown-a
root@ZT3DD5TEST:/#mmgetstate-Las
root@ZT3DD5TEST:/#mmchconfigtiebreakerdisks=""
root@ZT3DD5TEST:/#mmlsconfig
root@ZT3DD5TEST:/#mmstartup-a
root@ZT3DD5TEST:/#mmdelfsTlv_testgpfs
root@ZT3DD5TEST:/#mmdelnsdgpfs1nsd;gpfs2nsd
root@ZT3DD5TEST:/#mmdelnsd-F/tmp/gpfs/nsd2.list
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*
GPFS(GeneralParallelFileSystem)是IBM公司第一个共享文件系统,起源于IBMSP系统上使用的虚拟共享磁盘技术(VSD)。作为这项技术的核心,GPFS是一个并行的磁盘文件系统,它保证在资源组内的所有节点可以并行访问整个文件系统。而且针对此文件系统的服务操作,可以同时安全地在使用此文件系统的多个节点上实现。GPFS允许客户共享文件,而这些文件可能分布在不同节点的不同硬盘上。它提供了许多标准的UNIX文件系统接口,允许应用不需修改或者重新编辑就可以在其上运行。GPFS也支持UNIX文件系统的工具,即:用户可以像使用普通文件系统一样使用基于GPFS的文件系统,唯一不同的在于管理GPFS文件系统的命令。GPFS提供的文件系统操作服务可以支持并行应用和串行应用,它允许任何节点(这些节点属于同一个节点组)上的并行应用同时访问同一个文件或者不同的文件。
磁盘
GPFS文件系统最底层的是物理磁盘设备。原则上可以采用系统上任何块设备,包括磁盘,磁盘分区,逻辑卷。从物理连接上来看,GPFS支持使用所有方式连接的磁盘。包括本地IDE磁盘,本地SCSI磁盘,光纤SAN磁盘,iSCSI磁盘,等等。
网络共享磁盘(NSD)
NSD是由磁盘映射出来的虚拟设备,NSD与磁盘是一一对应的关系。NSD被标记了不同属性来区分其用途,我们可以将磁盘标记为4种用途:
üDescOnly:只存储GPFS文件系统描述信息的磁盘。
üDataOnly:只存储文件系统中的数据信息。
üMetadataonly:只存储文件系统中的目录结构inode信息。
üMetaanddata:存储所有信息(默认)。
GPFS文件设备
GPFS设备是一个可被系统挂载的文件设备,由NSD创建而成,可以并行的同时挂载在多个节点上。
高性能
GPFS允许在同一节点内的多进程或者应用使用标准文件系统调用,同时访问(并发,读写)同一个文件。通过将节点内读写操作分布到多个磁盘上,大大增加了文件系统的带宽,通过整个系统的负载均衡避免了某个磁盘过大的读写。
跨平台设计
GPFS支持在一个集群内加入异构的平台。
支持异构的硬件环境:Systemp,Systemx。
支持异构的操作系统:AIX,Linux。
数据一致性
GPFS通过一套复杂的信令管理机制提供数据一致性。通过这套机制允许任意节点通过各自独立的路径到达同一个文件。即使节点无法正常工作,GPFS也可以找到其它的路径。
数据安全性
GPFS是一种日志文件系统,为不同节点建立各自独立的日志。日志中记录metadata的分布,一旦节点发生故障后,可以保证快速恢复数据。
GPFS的fail-over功能通过规划,将数据分布到不同failuregroup内达到高可用性,减少单点故障的影响。为了保证数据可用性,GPFS在多个failuregroup内为每个数据实例做备份,即使创建文件系统时没有要求复制,GPFS也会自动在不同的failuregroup内复制恢复日志。
系统可扩展性
通过GPFS,系统资源可以动态调整,可以在文件系统挂载情况下添加或者删除硬盘。系统处于相对空闲时,用户可以在已配置的硬盘上重新均衡文件系统以提高吞吐量。可以在不重新启动GPFS服务情况下添加新节点。
管理简单
GPFS自动在各个节点间同步配置文件和文件系统信息,而且在同一个节点内,对GPFS的管理可以在任一个节点上进行。
摘要:当前金融行业的快速发展都离不开信息系统所提供的智能、快捷、灵活的服务。但信息加速膨胀的压力、纷繁复杂的IT网络、难以为继的管理、不断发展的应用类别、快速扩充的客户规模、越来越苛刻的服务水平要求,都让银行企业面临着越来越多的挑战。建立面向服务的“存储平台”环境在金融行业已经从遥不可及的奢望变成一种迫切的现实需求。
当前金融行业的快速发展都离不开信息系统所提供的智能、快捷、灵活的服务。但信息加速膨胀的压力、纷繁复杂的IT网络、难以为继的管理、不断发展的应用类别、快速扩充的客户规模、越来越苛刻的服务水平要求,都让银行企业面临着越来越多的挑战。建立面向服务的“存储平台”环境在金融行业已经从遥不可及的奢望变成一种迫切的现实需求。
存储平台是一种新的存储资源交付模式。它使传统的存储基础架构转变为一项服务平台,根据用户请求实现存储资源的按需部署,快速访问,弹性扩展。存储平台的最大优势在于它能帮助用户实现存储资源的高效灵活管理与总体拥有成本降低。
从业务需求的角度,企业数据中心内部的私有云存储在构建高效率的信息基础架构前提下需要为前端应用提供如下存储服务:
存储容器服务,提供基于LUN或文件的存储空间服务;
数据保护服务,提供数据备份,异地容灾等存储服务;
数据归档服务,提供符合行业法规的数据归档与长期保存服务;
而无论是提供以上一种或多种云存储服务,客户构建企业内部私有云存储时都面临着如下挑战:
1)如何构建高效率存储池
在存储系统中集成更多的效率优化功能,以降低存储的总体拥有成本,比如对共享的存储池提供精简资源配置,对文件存储池提供实时在线压缩,为备份数据提供重复数据删除等。
2)如何实现存储资源快速部署与快速访问
云存储环境下,不管是老用户需要扩展存储空间,还是新用户要求分配空间,均可以随时随地进行,可以最快速地响应用户和业务的需求。具备池化存储管理能力的云存储,意味着可以按需扩展和管理存储容量。除了容量可以弹性扩展,性能也可以得到弹性调整和灵活地优化。更换和调整设备均允许在业务不中断的前提下进行,可无缝地满足SLA要求。
3)如何实现高效简便管理
云存储需具备高度便捷的管理监控能力,它通过对存储服务的可用性、性能和容量的全面监控既可以跟踪SLA的执行情况,让管理员的工作负荷大大减轻。
GPFS存储平台的构建方案如下图所示,该方案可以满足应用对存储的不同的需求场景,具体说明如下:
(1)关于后端存储
GPFSServer通过SAN存储光纤网络连接至底层盘阵存储,GPFS对底层存储的型号没有固定要求,根据应用的对存储及性能的要求不一样,可以选型高、中、低不同级别;
(2)关于GPFSServer集群
从架构上GPFSServer是底层通过光纤网络连接识别了后端SAN存储的服务器,在这些服务器上创建了GPFS集群,并构建了不同的GPFS文件系统,形成了统一的GPFS存储平台,他们可以为前端应用提供统一的并行共享的文件系统空间,实现数据的共享访问;因为GPFSServer统一为前端所有应用提供I/O数据访问,在设备选型上建议使用计算能力较好的UnixPower服务器,是因为GPFS与AIX操作系统的集成度相比较对其他系统平台更好,同时也可以充分利用Power小机的计算能力;
(3)关于GPFSClient
GPFSClient是需要访问GPFS存储平台的前端应用,他们与后端的GPFSServer处于一个集群中,但是可以根据策略挂载不同的文件系统目录,实现文件系统数据空间在不同应用之间的安全隔离;GPFSClient支持AIX,Linux,Windows不同系统平台;
(4)关于GPFSI/O网络
从架构上来看,GPFS的I/O网络包括GPFSServer与底层存储之间以及GPFSClient与GPFSServer之间两部分;其中GPFSServer与底层存储之间的连接主要是通过SAN光纤连接,而GPFSClient与GPFSServer之间的数据传输主要是通过TCP/IP网络;针对那些对I/O性能要求比较高的应用,为了保证I/O带宽,建议假设万兆传输能力的网络环境;
(5)关于其他GPFS应用
针对使用GPFS文件系统的独立应用,为了满足数据共享并行访问的需求,如OracleRAC等;可以独立在SAN存储上假设GPFS文件系统;
IBMGPFS架构特点浅析
2016-03-29Hardy架构师技术联盟
GPFS(GeneralParallelFileSystem)是IBM公司第一个共享文件系统,GPFS是一个并行的磁盘文件系统,它保证在资源组内的所有节点可以并行访问整个文件系统。GPFS提供的文件系统操作服务可以支持并行应用和串行应用,它允许任何节点上的并行应用同时访问同一个文件或者不同的文件,提供统一命名接口。
请点击此处输入图片描述
GPFS文件系统架构
GPFS物理架构会分为三个层面:存储层、GPFS服务器层以及客户端层。存储层将存储通过SAN环境划分给服务器节点,服务器节点将这些存储磁盘进行配置并格式化形成最终的GPFS并行文件系统格式,客户端通过以太网与所有的服务器节点联通,他们通过私有文件系统协议来共享这个并行文件系统,实现IO的并发读写。
如图最下层是GPFS的物理磁盘层,存储设备通过SAN环境将存储LUN划分给GPFS的服务提供层,也就是NSD服务器,它是一个集群式的服务提供组件。服务层将其识别到的磁盘格式化为NSD磁盘,这些NSD磁盘再经过GPFS服务层创建为GPFS文件系统,这个文件系统通过网络层的私有协议共享给所有的GPFS客户端,客户端就可以将其作为一个普通文件系统挂载到某一个目录下来存储文件。
GPFS的架构设计并非此一种。我们也可以将GPFS的服务层和客户端层整合为一层,也就是每一个NSD服务器既是服务提供者,同时也是客户端。这样做的好处在于整个架构趋于扁平化,IO深度会浅一些,性能会好。但是它需要更多的SAN资源来支持整个扁而长的集群架构。
GPFS文件系统逻辑架构
关于GPFS文件系统如何实现并行读写,具体原理如下图所示,GPFS的核心Deamon是mmfsd,它会通过子进程调用方式实现对GPFS配置、文件系统以及文件系统头信息的管理。应用程序的读写,通过层层调用实现最终的数据落盘。
其中应用程序不需要任何定制操作,只需要正常调用操作系统文件读写就可以,操作系统在后台调用文件读写的时候会跟GPFS所管理的文件系统I节点进行映射最终实现GPFS文件系统读写的调用。每一个GPFS客户端有自己的局部I节点MAP,GPFS有一个统一的全局I节点MAP表。最终可以实现文件系统读写的一致性。也就是说,普通文件系统的I节点管理,在GPFS架构中是经过了操作系统和GPFS内核配合的虚拟映射之后形成的文件系统管理体系。
GPFS文件系统所涉及到的逻辑对象
所谓NSD,就是GPFS将存储设备划给服务器的物理磁盘转化为具备GPFS自己的物理磁盘。GPFS文件系统就是要在其基础之上来实现。每一个NSD磁盘需要共享给所有的NSD服务集群节点。
GPFS文件系统就是在NSD磁盘基础之上创建的共享文件系统。文件系统创建会像其他文件系统一样创建文件系统管理信息及文件系统的地址空间表。
所谓GPFS服务集群节点,就是要提供GPFS文件系统服务的集群节点。服务节点和客户端节点在软件的安装上没有任何区别,他们的区别需要在集群配置时来具体定义。
它是GPFS集群为了避免在发生集群节点发生通讯故障,而通过本身资源数目无法判断集群状态,从而辅助判断集群状态的逻辑对象。节点本身可以作为仲裁资源,另外NSD也可以作为仲裁资源。
GPFS集群仲裁机制
GPFS的数据完整性一方面是由以上提到的数据安全机制来保证,另外也通过一套可用性判断机制来完全保证数据完整性与系统安全。GPFS提供三套不同的quorum机制来判断系统当前的状态,其中FileDescriptorQuorum是系统内置的,不能做配置,另外两种Nodequorum(仲裁节点机制)和TiebreakerDiskquorum(仲裁磁盘机制)方式只能二者选其一,使用那种方式要基于我们的系统环境与可靠性分析。
通过主机状态的来判断系统可用性的机制。GPFS文件系统集群中,可以设置多个主机节点为仲裁节点。当超过半数的中袋节点在线时,判断系统为正常,反之,将关闭文件系统。仲裁节点数目最多可以128个。如果采用这种机制,而我们的仲裁节点为2N+1,意味着我们只能容忍N台机器宕机。所以当机器数目越少,这种机制的故障容忍程度就越差。
通过磁盘的状态来判断系统的可用性。我们可以设置系统通过监视指定的一些磁盘作为仲裁磁盘。当超过半数的TiebreakerDisk掉线时,则判断系统故障,将自动关闭文件系统。Tiebreaker最多只能配置两个用来监控磁盘状态的仲裁主机,当2台仲裁主机都宕机的话,GPFS系统也将会关闭。
比如我们有5个服务节点,那么任取两个节点作为仲裁主机,取2N+1个磁盘来作为仲裁盘,那么系统可以容忍的故障就是N个仲裁盘离线和1个仲裁节点离线。其优势在于节点数较少时可用性较高,但节点数较多的情况建议采用仲裁节点模式。
GPFSFailureGroup失效组
一系列具有相同物理路径的网络共享磁盘组成一个FailureGroup,FailureGroup之间可以实施数据复制或日志复制来保证同一份数据可以有多分数据或者日志拷贝,以保证物理磁盘故障不会导致数据丢失。比如,在做NSD设计的时候,我们可以将来自同一个物理存储的卷作为一个FailureGroup。这样每一份数据相当于在不同的存储设备上都可以做数据副本或者是日志的副本。
GPFS文件系统伸缩性
首先GPFS集群中的节点具备很好的伸缩性。我们可以在线增加或者删除GPFS节点,而其中的并发任务并不会受到影响。其次GPFS文件系统具备很好的伸缩性,我们可以在线对文件系统扩容或者缩减,都不会影响到并发业务。
GPFS文件系统负载均衡
所谓负载均衡也就是说我们在设计GPFS集群的时候,希望所有的客户端能将IO负载近似平均地分担到每一个集群服务节点。
每一个NSD磁盘会有相应配置来决定服务节点服务的先后顺序,比如NSD1和NSD2会定义为“节点1、节点2、节点3、节点4”的顺序;而NSD3和NSD4会定义为“节点4、节点3、节点2、节点1”的顺序。
那么客户端发起IO写入的时候,要写入NSD1和NSD2的数据就会从服务节点1写入,而要写入NSD3和NSD4的数据就会从服务节点2写入。也就是说NSD配置的服务节点顺序决定了正常情况下的服务层节点的IO流向及负载。
AboutMe
...............................................................................................................................
●本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
●于2017-07-0109:00~2017-07-3122:00在魔都完成
.............................................................................................................................................