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

                
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值