gpfs_install_setting

来源:互联网 发布:北大青鸟java课程费用 编辑:程序博客网 时间:2024/06/10 14:57
在已经完成安装的情况下来建立一个cluster.

1 建立node信息的文档。我的结点中,结点7 no route to host ,先注释掉

  (Linux下复制 选中左键)

    vi    /root/hxj/gpfs/nodefile

  c12c2apv6:quorum
#c12c2apv7:quorum
  c12c2apv8:quorum
  c12c2apv9:quorum
  c12c2apv11:quorum
  c12c2apv12:quorum
  c12c2apv13:quorum
  c12c2apv14:quorum

设置好node信息之后创建cluster    如果我把一个cluster的结点全都删掉,那么这个cluster就不存在了

mmcrcluster  -C gpfs_cluster  -N nodefile  -p wtydb21 -s wtydb22  -r /usr/bin/ssh -R /usr/bin/scp


mmcrcluster 命令其中参数含义
-C bgbcrun 设定集群名称
-U bgbc 定义域名
-N /tmp/gpfs/nodefile 指定节点文件名
-p  指定主NSD 服务器为 nodename
-s   指定备NSD 服务器为 nodename

-r   RemoteShellCommand   (须要指定的,否则可能会出错)

-R RemoteFileCopyCommand


接受许可协议
 mmchlicense server --accept -N nodename1,nodename2,nodename...

 然后可以用mmlscluster来查看一下结果。


2 建立nsd信息

格式 (使用 man mmcrnsd查看)

%pool:
           pool=StoragePoolName
           blockSize=BlockSize
           usage={dataOnly | metadataOnly | dataAndMetadata}
           layoutMap={scatter | cluster}
           allowWriteAffinity={yes | no}
           writeAffinityDepth={0 | 1 | 2}
           blockGroupFactor=BlockGroupFactor

 %nsd: device=DiskName
           nsd=NsdName
           servers=ServerList
           usage={dataOnly | metadataOnly | dataAndMetadata | descOnly | localCache}
           failureGroup=FailureGroup

           pool=StoragePool


在创建nsd的时候,要把pool的信息也创建上,因为在create fs的时候要用到。

check nsd的时候,会去对应的sever去寻找这个server下的nsd的名字

具体 的配置:(有省略)
%pool:
  2     pool=system
  3     blockSize=512K
  4     usage=metadataOnly
  5     blockGroupFactor=2
  6
  7 %pool:
  8     pool=storageA
  9     blockSize=512K
 10     usage=dataAndMetadata
 11     blockGroupGactor=2
 12
 13
 14 %nsd: device=/dev/dm-41
 15     nsd=6_1_nsd
 16     servers=c12c2apv6
 17     usage=metadataOnly
 18     failureGroup=1,0,0
 19     pool=system
 20
 21 %nsd: device=/dev/dm-44
 22     nsd=7_1_nsd
 23     servers=c12c2apv7
 24     usage=metadataOnly
 25     failureGroup=1,0,1
 26     pool=system
 27
 28 %nsd: device=/dev/dm-42
 29     nsd=8_1_nsd
 30     servers=c12c2apv8
 31     usage=metadataOnly
 32     failureGroup=1,1,0
 33     pool=system
 34
 35 %nsd: device=/dev/dm-49
 36     nsd=9_1_nsd
 37     servers=c12c2apv9
 38     usage=metadataOnly
 39     failureGroup=1,1,1
 40     pool=system


创建nsd:mmcrnsd -F /tmp/nsdprofile

结点多了,multipath的对应关系没有处理好。每个结点与每个结点看到的名字是不一样的,导致设置的时候disk盘冲突了。

有一部分还没有处理好。

采用了大姐大的方法。全部设置为某个Node的nsd ,然后使用命令mmchnsd改变其server


3 启动集群

 mmstartup -a
mmgetstate -a -L 


4 创建gpfs 文件系统
 mmcrfs /gpfs_hxj  gpfs_hxj  -F /tmp/nsdprofile -A yes -n 30 -v no


参数含义如下:
/datafs 文件系统 mount 点名
gpfs_lv 指定文件系统 lv 名
-F 指定 NSD 的文件名
-A 自动 mount 选项为 yes
-B 块大小为64K
-n 挂载文件系统的节点估计数30 个
-v 校验建立磁盘是否已有文件系统 为否

 [-r DefaultDataReplicas] [-R MaxDataReplicas]


挂载文件系统
mount /db2fs
 df    //verify



查询GPFS 配置信息

 mmlsconfig

 mmgetstate -a


5,创建文件放置策略

mmapplypolicy

mmapplypolicy filesystem -P policyfile -I test

这里我简单的设置了一条rule  : RULE ’general’ SET POOL ’storageA’ WHERE USER_ID <=100


以下为我从rule讲解中摘抄的一些例子

ewline">RULE[’RuleName’]
SET POOLPoolName
[LIMIT(OccupancyPercentage)]
[REPLICATE(DataReplication)]
[FOR FILESET(FilesetName[,FilesetName]...)]
[WHERESqlExpression]


">rule ’vip’ set pool ’pool0’ where USER_ID <= 100
RULE ’m1’ SET POOL ’pool1’ WHERE LOWER(NAME) LIKE ’%marc%’
RULE SET POOL ’pool1’ REPLICATE (2) WHERE UPPER(NAME) = ’%IBM%’
RULE ’r2’ SET POOL ’pool2’ WHERE UPPER(SUBSTRING(NAME FROM 1 FOR 4)) = ’GPFS’

mmapplypolicy /TestSubdirectory-L 6 -I test


6 创建一个文件

dd if=/dev/zero of=/gpfs_hxj/file1 bs=10M count=10

/dev/zero 是内容为二进制的0的伪文件
知道是用二进制的0去填充你要的空间就对了

工具 tsGetDataBlk 可以在不同的平台上使用。重新Build一下就可以在PPC平台上使用了。(所以软件最好重新安装) 

mmchfs 改变文件系统的各种参数。




删除NSD

要删掉nsd必须删掉 filesystem

步骤:

c12c2apv11:~/hxj/gpfs # mmunmount all -a
Wed Mar  4 00:56:12 EST 2015: mmunmount: Unmounting file systems ...
c12c2apv8.gpfs.net:  umount: /sncfs: target is busy.
c12c2apv8.gpfs.net:          (In some cases useful info about processes that use
c12c2apv8.gpfs.net:           the device is found by lsof(8) or fuser(1))
c12c2apv8.gpfs.net:  umount: /sncfs: target is busy.
c12c2apv8.gpfs.net:          (In some cases useful info about processes that use
c12c2apv8.gpfs.net:           the device is found by lsof(8) or fuser(1))



c12c2apv11:~/hxj/gpfs # mmdelfs
mmdelfs: Missing arguments.
Usage: mmdelfs Device [-p]
c12c2apv11:~/hxj/gpfs # mmdelfs gpfs_hxj
All data on the following disks of gpfs_hxj will be destroyed:
    6_1_nsd
    11_1_nsd
    12_1_nsd
    13_1_nsd
    6_2_nsd
    11_2_nsd
    12_2_nsd
    13_2_nsd
    6_3_nsd
    11_3_nsd
    12_3_nsd
    13_3_nsd
    6_4_nsd
    11_4_nsd
    12_4_nsd
    13_4_nsd
    6_5_nsd
    11_5_nsd
    12_5_nsd
    13_5_nsd
    6_6_nsd
Completed deletion of file system /dev/gpfs_hxj.
mmdelfs: Propagating the cluster configuration data to all
  affected nodes.  This is an asynchronous process.
Wed Mar  4 00:56:45 EST 2015: mmcommon pushSdr_async: mmsdrfs propagation started

 mmcommon pushSdr_async: mmsdrfs propagation completed; mmdsh rc=0



c12c2apv11:~/hxj/gpfs # mmdlnsd
If 'mmdlnsd' is not a typo you can run the following command to lookup the package that contains the binary:
    command-not-found mmdlnsd
-bash: mmdlnsd: command not found
c12c2apv11:~/hxj/gpfs # mmdelnsd
mmdelnsd: Missing arguments.
Usage:
   mmdelnsd {"DiskName[;DiskName...]" | -F DiskFile}
      or
   mmdelnsd -p NSDId [-N Node[,Node...]]
c12c2apv11:~/hxj/gpfs # mmdelnsd -F diskinfo
mmdelnsd: The following disks are not known to GPFS:
        8_1_nsd
        8_2_nsd
        8_3_nsd
        8_4_nsd
        8_5_nsd
mmdelnsd: Processing disk 11_1_nsd
mmdelnsd: Processing disk 11_2_nsd
mmdelnsd: Processing disk 11_3_nsd
mmdelnsd: Processing disk 11_4_nsd
mmdelnsd: Processing disk 11_5_nsd
mmdelnsd: Processing disk 12_1_nsd
mmdelnsd: Processing disk 12_2_nsd
mmdelnsd: Processing disk 12_3_nsd
mmdelnsd: Processing disk 12_4_nsd
mmdelnsd: Processing disk 12_5_nsd
mmdelnsd: Processing disk 13_1_nsd
mmdelnsd: Processing disk 13_2_nsd
mmdelnsd: Processing disk 13_3_nsd
mmdelnsd: Processing disk 13_4_nsd
mmdelnsd: Processing disk 13_5_nsd
mmdelnsd: Processing disk 6_1_nsd
mmdelnsd: Processing disk 6_2_nsd
mmdelnsd: Processing disk 6_3_nsd
mmdelnsd: Processing disk 6_4_nsd
mmdelnsd: Processing disk 6_5_nsd
mmdelnsd: Processing disk 6_6_nsd
mmdelnsd: Propagating the cluster configuration data to all
  affected nodes.  This is an asynchronous process.
c12c2apv11:~/hxj/gpfs # Wed Mar  4 00:59:32 EST 2015: mmcommon pushSdr_async: mmsdrfs propagation started
Wed Mar  4 00:59:36 EST 2015: mmcommon pushSdr_async: mmsdrfs propagation completed; mmdsh rc=0


有一个结点down 掉了,现在处理这个结点



思路:把这个结点从cluster删除,再加入cluster

        删除Node须要先删除以node 作为server的 nsd  .

            步骤:1. mmdeldisk   先从文件系统中删除这些disk

                     2. mmdelnsd   再将这些nsd 从硬件中删除。

                     3. 删除node . mmdelnode

       再将node加入到cluster

            步骤: 1. 增加node到cluster  . mmaddnode

                      2. 增加指定server为node 的nsd.   mmcrnsd    

                      3. 把nsd 挂载到文件系统上。 mmadddisk


下面为用到的一些命令



mmgetstate -a
mmdeldisk
 mmdeldisk gpfs_hxj 11_1_nsd
mmdeldisk gpfs_hxj 111_2_nsd
mmdeldisk gpfs_hxj 11_3_nsd
mmdeldisk gpfs_hxj 11_5_nsd

mmdelnsd -F sever11


mmdelnode -N c12c2apv11
mmgetstate -a

上面的是删除,下面的加入


mmaddnode c12c2apv11:quorum
mmgetstate -a
mmchlicense server --accept -N c12c2apv11
                                          

vim server11o   //step1结点nsd设置

vim sever11 //step2 mmchnsd
mmcrnsd -F server11o
mmchnsd  -F sever11
mmlsnsd
mmdelnsd 11_1_nsd
mmcrnsd -F server11o
mmchnsd  -F sever11
mmlsnsd
mmstartup   //启动单一结点,这个命令不可用
mmgetstate
mmgetstate -a
mount /gpfs_hxj   //挂载某些nsd,这个命令不可用,应该用mmadddisk\

mmlsnsd

mmadddisk gpfs_hxj -F sever11
mmlsnsd


mmlspool fsname  all -L




0 0
原创粉丝点击