我是靠谱客的博主 默默音响,最近开发中收集的这篇文章主要介绍GPFS简介,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言
GPFS(General Parallel File System)是IBM公司推出的行业领先的并行分布式通用并行集群文件系统,GPFS从1993开始研发,1995年投入商用(最早投入使用在多媒体处理行业,所以我们现在看到GPFS的很多目录和命令为什么都有MM[multimedia]两个字母,就是根据这个背景延续下来的),其中经过了多次版本的改进和修订,到目前(2008),GPFS的当前版本为3.1.

GPFS是一个共享的磁盘文件系统,集群内的所有节点(NODE)可以并行的访问所有共享磁盘,并通过分布式的令牌管理机制和条带化技术来管理和优化各个节点的访问。
GPFS的应用范围非常广泛,从多节点的文件共享服务到大型的高性能计算机群,都可以看到GPFS的优秀表现。GPFS也应用在众多的企业应用系统中,比如高可用的解决方案:HACMP,ORACLE RAC,SAP的共享文件系统等,GPFS在这些应用里面都表现出了出色的性能和高可用性
什么是GPFS
GPFS(General Parallel File System)是通用并行文件系统的缩写。
GPFS是一种高性能的、共享磁盘的、分布式文件系统
高性能:GPFS可以支持1个到上千个独立的计算机节点
可以从单个节点管理整个文件
支持AIX,LINUX以及混合节点环境
共享磁盘:所有的磁盘可以被所有的节点同等的访问
数据和元数据对节点的访问是相同的
任何直连节点都可以对任何磁盘进行读写
分布式:数据和元数据可以被任何一个节点来处理
所有节点都不需要经由其他节点就可以直接处理数据和元数据
消除了单一节点故障
tips:GPFS在内部采用了分布式的token的管理,通过token manger Server的功能来统一的对数据访问进行授权,对数据的授权可以做到数据块一级。可以保证多个节点对同一个文件进行修改。

 
GPFS集群的常见配置方案
方案一: 部分节点直接连接到SAN存储,而另外一部分节点并不直接连接到SAN存储,而是通过LAN的方式连接到集群中。
通过LAN方式连接的节点被称为NSD(network shared disk)客户端
直接通过SAN连接到存储的节点被称为IO Server。
1)每个IO服务器拥有一个多个直连阵列设备
2)NSD客户端通过GPFS协议对存储设备进行数据块级的访问
3)NSD可以配置为非常大的集群规模,使得不需要每个节点都需要直接连接SAN存储设备上,可以大大降低成本
4)NSD客户端和IO服务器是集群里的角色,他们需要相同的GPFS软件和license
方案二:
在方案一的基础上,NSD的可扩展性支持用跨越多个SAN的多个存储设备构建文件系统
GPFS可以自动判断数据访问的最佳路径
每个IO服务器提供磁盘访问的冗余保护
方案三: 多集群挂载
GPFS的安装
准备工作
1)安装所有的集群节点(OS,软件,补丁)和划分共享存储,配置好网络
2)确保集群中涉及到的所有的主机名都可以得到正确的解析(DNS/主机文件)
3)配置好RSH/SSH并确保彼此之间通信正常
4)集群中的所有主机的时钟同步(以便于后期的故障处理)
5)根据客户的资源或需求确定连接模式,比如全部采用SAN模式还是NSD模式(仅NSD Server通过SAN模式直接连接存储)
6)安装并行shell软件,比如dsh或psh
这一步不是必须的
aix下可以通过安装csm.dsh fileset安装dsh(/opt/csm/bin/dsh )
设置环境变量$WCOLL指向所有的节点名
测试dsh,比如dsh -v date
软件安装
在所有的GPFS集群节点上安装GPFS软件,GPFS软件包由如下组成:
gpfs.base-3.1.0-7
gpfs.gpl-3.1.0-7
gpfs.msg.en_US-3.1.0-7
gpfs.docs-3.1.0-7

通过installp或smit或并行shell脚本在全部的节点上安装GPFS软件。
定义集群
通过mmcrcluster命令定义集群
先配置nodefile,类似如下:
vi /tmp/gpfs/nodefile
lpar1:manager-quorum
lpar2:manager-quorum
lpar3:client
lpar4:client
注意:1)一个集群中至少需要一个仲裁(quorum)节点,当一个集群中的仲裁节点少于一半,GPFS将无法启动。
2)在一个集群中,建议至少要有个配置信息服务器(一个主,一个备)
管理集群
通过mmlscluster可以看到集群的信息,比如:
root@c5an02:/root # mmlscluster

GPFS cluster information
========================
GPFS cluster name: c5an03g.ppd.pok.ibm.com
GPFS cluster id: 13882357959982373825
GPFS UID domain: c5an03g.ppd.pok.ibm.com
Remote shell command: /usr/bin/rsh
Remote file copy command: /usr/bin/rcp

GPFS cluster configuration servers:
-----------------------------------
Primary server: c5an03g.ppd.pok.ibm.com
Secondary server: c5an04g.ppd.pok.ibm.com

Node number Node name IP address Full node name Remarks 
-----------------------------------------------------------------------------------
2 c5an03g 192.168.11.3 c5an03g.ppd.pok.ibm.com quorum node
3 c5an04g 192.168.11.4 c5an04g.ppd.pok.ibm.com quorum node
7 c5an08g 192.168.11.8 c5an08g.ppd.pok.ibm.com quorum node
8 c5an09g 192.168.11.9 c5an09g.ppd.pok.ibm.com quorum node
10 c5an02g 192.168.11.2 c5an02g.ppd.pok.ibm.com quorum node
11 c5an07g 192.168.11.7 c5an07g.ppd.pok.ibm.com quorum node
12 c5an06g 192.168.11.6 c5an06g.ppd.pok.ibm.com 

通过mmlsconfig可以看到集群的配置信息
c5an03:/var/adm/ras # mmlsconfig
Configuration data for cluster c5an03g.ppd.pok.ibm.com:
-------------------------------------------------------
clusterName c5an03g.ppd.pok.ibm.com
clusterId 13882357959982373825
clusterType lc
multinode yes
autoload no
useDiskLease yes
maxFeatureLevelAllowed 805
maxblocksize 1024K
pagepool 64M
maxFilesToCache 100000
dataStructureDump /log/mmfs

File systems in cluster c5an03g.ppd.pok.ibm.com:
------------------------------------------------
/dev/fsXBB1
/dev/fsXBB2
/dev/gpFS1
/dev/gpFS2
/dev/gpFS2reef
/dev/gpFS3
/dev/gpFSreef

通过mmchcluster 命令可以修改集群的属性
通过mmchconfig 命令可以修改集群的配置信息
 
启动GPFS
启动单节点mmstartup node1
启动多节点mmstartup node1,node2
启动所有节点mmstartup -a

检查节点的状态:
mmgetstate -a
All nodes should be Active

 
GPFS启动的日志记录在/var/adm/ras下
mmfs.log.latest : points to latest version of GPFS log
mmfs.log.previous: points to last version of GPFS log

查看GPFS的状态
mmgetstate –aL -s
-a 所有节点
-L 列出仲裁数
-s 增加汇总信息
 
比如:
      c5plnx101:~ # mmgetstate -aL -s             Node number  Node name       Quorum  Nodes up  Total nodes  GPFS state  Remarks          ------------------------------------------------------------------------------------             1      c5plnx101e         3        3          7       active      quorum node             2      c5plnx102e         3        3          7       active      quorum node             3      c5plnx103e         0        0          7       down                     4      c5plnx104e         3        3          7       active                   7      c5plnx107e         0        0          7       down                     8      c5plnx108e         3        3          7       active      quorum node             9      c5plnx109e         0        0          7       down        quorum node             Summary information       ---------------------      Number of nodes defined in the cluster:            7      Number of local nodes active in the cluster:       4      Number of remote nodes joined in this cluster:     0      Number of quorum nodes defined in the cluster:     4      Number of quorum nodes active in the cluster:      3      Quorum = 3, Quorum achieved
创建GPFS磁盘
通过mmcrnsd命令完成,需要一个配置文件。
通过mmlsnsd命令可以查看NSD磁盘
vi /tmp/gpfs/nsdfile
      root@c5an02:/u/richx/Linux/Scripts/GPFS2.3 # cat gpFS_reef.desc.orig      # DiskName:PrimaryServer:BackupServer:DiskUsage:FailureGroup:DesiredName:StoragePool      /dev/vpatha:c5an02g:c5an07g::1:c5an02_r1_1      /dev/vpathb:c5an02g:c5an07g::1:c5an02_r1_2      /dev/vpathc:c5an02g:c5an07g::1:c5an02_r1_3      /dev/vpathd:c5an02g:c5an07g::1:c5an02_r1_4      /dev/vpathe:c5an07g:c5an02g::2:c5an07_r1_1      /dev/vpathf:c5an07g:c5an02g::2:c5an07_r1_2      /dev/vpathg:c5an07g:c5an02g::2:c5an07_r1_3      /dev/vpathh:c5an07g:c5an02g: :2:c5an07_r1_4
  创建GPFS文件系统
     After the create NSD step the "disk descriptor" file will have been rewritten and now has the NSD disk names. This newly written "disk descriptor" file now is used as input to the mmcrfs command.      Decide on mount points and blocksizes     blocksize once set can not be changed(如果要改变只能新建)
     是否使用复制功能?IBM推荐使用(增加了性能的开销,但提高了可用性)
     最后创建:mmcrfs /fs1 fs1 -F disk.desc -M 2 -m 2 -R 2 -r 1 -B 512K 
     
  查看GPFS文件的参数
     通过mmfsls
     root@c5an02:/u/richx/Linux/Scripts/GPFS2.3 # mmlsfs gpFSreef     flag value          description     ---- -------------- -----------------------------------------------------     -s  roundRobin     Stripe method     -f  32768          Minimum fragment size in bytes     -i  512            Inode size in bytes     -I  32768          Indirect block size in bytes     -m  2              Default number of metadata replicas     -M  2              Maximum number of metadata replicas     -r  1              Default number of data replicas     -R  2              Maximum number of data replicas     -j  cluster        Block allocation type     -D  posix          File locking semantics in effect     -k  posix          ACL semantics in effect     -a  1048576        Estimated average file size     -n  32             Estimated number of nodes that will mount file system     -B  1048576        Block size     -Q  none           Quotas enforced         none           Default quotas enabled     -F  786438         Maximum number of inodes     -V  8.01           File system version. Highest supported version: 8.02     -u  yes            Support for large LUNs?     -z  no             Is DMAPI enabled?     -E  yes            Exact mtime default mount option     -S  no             Suppress atime default mount option     -d  c5an02_r1_1;c5an02_r1_2;c5an02_r1_3;c5an02_r1_4;c5an07_r1_1;c5an07_r1_2;c5an07_r1_3;c5an07_r1_4  Disks in file system     -A  no             Automatic mount option     -o  none           Additional mount options  查看GPFS文件系统中的共享磁盘
     mmlsdisk
     c5n53:~ # mmlsdisk nrdac -M         Disk name     IO performed on node     Device             Availability     ------------  -----------------------  -----------------  ------------     nrdac1        localhost                /dev/sdb           up     nrdac2        localhost                /dev/sdc           up     nrdac3        localhost                /dev/sdd           up     nrdac4        localhost                /dev/sde           up     nrdac5        localhost                /dev/sdf           up     nrdac6        localhost                /dev/sdg           up     nrdac7        localhost                /dev/sdh           up     nrdac8        localhost                /dev/sdi           up  加载GPFS文件系统
     On each node issue the: mount /fs1      Check for the mount: df     Or with dsh: dsh 'df|grep /fs1‘
    停止GPFS
     关闭单节点mmshutdown node1     关闭多节点mmshutdown node1,node2     关闭所有节点mmshutdown -a

最后

以上就是默默音响为你收集整理的GPFS简介的全部内容,希望文章能够帮你解决GPFS简介所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部