GPFS通用并行文件系统之CentOS上部署GPFS集群.docx
《GPFS通用并行文件系统之CentOS上部署GPFS集群.docx》由会员分享,可在线阅读,更多相关《GPFS通用并行文件系统之CentOS上部署GPFS集群.docx(14页珍藏版)》请在冰豆网上搜索。
GPFS通用并行文件系统之CentOS上部署GPFS集群
GPFS通用并行文件系统之CentOS上部署GPFS集群
GPFS文件系统能够横跨在所有主机上,分布在所有磁盘上,条带化读写,高性能。
信令管理机制,并发性好。
可配置failgroup组,可用性高。
下面是GPFS集群的部署过程......
1.环境准备:
yuminstall-ycompat-libstdc++-33rpm-buildkernel-headerskernel-develimakegcc-c++ libstdc++RedHat-lsb
2.GPFS安装:
多台服务器都要安装
rpm-ivhgpfs.base-3.4.0-0.x86_64.rpm
rpm-ivhgpfs.docs-3.4.0-0.noarch.rpm
rpm-ivhgpfs.gpl-3.4.0-0.noarch.rpm
rpm-ivhgpfs.msg.en_us-3.4.0-0.noarch.rpm
[root@Web02_abase]#rpm-qa|grepgpfs
gpfs.msg.en_US-3.4.0-0
gpfs.gpl-3.4.0-0
gpfs.base-3.4.0-0
gpfs.docs-3.4.0-0
3.GPFS升级
多台服务器都要安装
rpm-Uvhgpfs.base-3.4.0-21.x86_64.update.rpm
rpm-Uvhgpfs.docs-3.4.0-21.noarch.rpm
rpm-Uvhgpfs.gpl-3.4.0-21.noarch.rpm
rpm-Uvhgpfs.msg.en_US-3.4.0-21.noarch.rpm
[root@Web02_aupdate]#rpm-qa|grepgpfs
gpfs.gpl-3.4.0-21
gpfs.msg.en_US-3.4.0-21
gpfs.base-3.4.0-21
gpfs.docs-3.4.0-21
4.编译GPFS源码
多台服务器都要安装
[root@Web02_aupdate]#cd/usr/lpp/mmfs/src/
[root@Web02_asrc]#makeLINUX_DISTRIBUTION=REDHAT_AS_LINUXAutoconfig
[root@Web02_asrc]#makeWorld
[root@Web02_asrc]#makeInstallImages
[root@Web02_asrc]#makerpm #生成rpm包,生成路径会有提示
[root@Web02_asrc]#rpm-ivh/usr/src/redhat/RPMS/x86_64/gpfs.gplbin-2.6.18-308.el5-3.4.0-21.x86_64.rpm
[root@Web02_asrc]#rpm-qa|grepgpfs
gpfs.gpl-3.4.0-21
gpfs.msg.en_US-3.4.0-21
gpfs.gplbin-2.6.18-308.el5-3.4.0-21
gpfs.base-3.4.0-21
gpfs.docs-3.4.0-21
5.配置主机的时间同步
如果服务器之间时间不同步,部署GPFS集群时会失败
[root@Web02_asrc]#crontab-l
#timesyncbyyangrongat2014-1-24
*/10****/usr/sbin/ntpdatepool.ntp.org>/dev/null2>&1
[root@Nagiosupdate]#crontab-l
#timesyncbyyangrongat2014-1-24
*/10****/usr/sbin/ntpdatepool.ntp.org>/dev/null2>&1
6.配置ssh免密钥登陆
注:
也可以配置rsh免密钥,且gpfs默认是使用rsh密钥登陆远端主机
[root@Web02_asrc]#cd/root/.ssh/
[root@Web02_a.ssh]#ssh-keygen-trsa
[root@Web02_a.ssh]#cpid_rsa.pubauthorized_keys
[root@Web02_a.ssh]#sshWeb02_a #登陆自己测试
[root@Web02_a.ssh]#cat/etc/hosts
10.0.0.243Nagios
10.0.0.236Web02_a
[root@Web02_a.ssh]#scp-r/root/.sshroot@Nagios:
/root #把密钥拷贝到其它主机
[root@Web02_a.ssh]#sshNagios
Lastlogin:
FriJan2413:
59:
192014from192.168.2.53
[root@Nagios~]#exit
[root@Nagiossrc]#sshWeb02_a
Warning:
PermanentlyaddedtheRSAhostkeyforIPaddress'10.0.0.236'tothelistofknownhosts.
Lastlogin:
FriJan2415:
03:
442014fromlocalhost.localdomain
[root@Web02_a~]#exit
7.配置GPFS环境变量
[root@Web02_a.ssh]#echo'exportPATH=$PATH:
/usr/lpp/mmfs/bin'>>/etc/profile
[root@Web02_a.ssh]#source/etc/profile
[root@Web02_a.ssh]#mmfs
mmfsadm mmfsd mmfsfuncs.Linux
mmfsck mmfsenv mmfsmnthelp
mmfsctl mmfsfuncs mmfsmount
#接下来的操作只需要在一台服务器上操作即可。
此时已配置好互信,所有的配置文件信息自动同步到其它的服务器上。
8.创建集群
[root@Web02_a.ssh]#cat/tmp/gpfsfile
Web02_a:
quorum-manager
Nagios:
quorum-manager
[root@Web02_a.ssh]#mmcrcluster-N/tmp/gpfsfile-pWeb02_a-sNagios-r/usr/bin/ssh-R/usr/bin/scp
#默认GPFS使用rcp拷贝,使用rsh远程。
此处修改远程方式和复制方式
#查询命令:
mmlscluster
9.许可配置
[root@Web02_a~]#mmchlicenseserver--accept-NWeb02_a,Nagios
注:
服务节点或quorum节点用server,其它节点用client,client节点只有挂载文件系统的权限,不能更改配置。
命令如:
mmchlicenseclient--accept-Nhost_a,host_b
10.配置nsd盘
当前采用多个分区部署GPFS集群
当前分区:
[root@Web02_a~]#fdisk-l/dev/sdb
Disk/dev/sdb:
1073MB,1073741824bytes
255heads,63sectors/track,130cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBoot Start End Blocks Id System
/dev/sdb1 1 13 104391 83 Linux
/dev/sdb2 14 26 104422+83 Linux
/dev/sdb3 27 39 104422+83 Linux
/dev/sdb4 40 130 730957+ 5 Extended
/dev/sdb5 40 52 104391 83 Linux
/dev/sdb6 53 65 104391 83 Linux
/dev/sdb7 66 78 104391 83 Linux
[root@Nagios~]#fdisk-l/dev/sdb
Disk/dev/sdb:
1073MB,1073741824bytes
255heads,63sectors/track,130cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBoot Start End Blocks Id System
/dev/sdb1 1 13 104391 83 Linux
/dev/sdb2 14 26 104422+83 Linux
/dev/sdb3 27 39 104422+83 Linux
/dev/sdb4 40 130 730957+ 5 Extended
/dev/sdb5 40 52 104391 83 Linux
/dev/sdb6 53 65 104391 83 Linux
/dev/sdb7 66 78 104391 83 Linux
编辑nsd配置
[root@Web02_a~]#cat/tmp/nsdfile
/dev/sdb1:
Web02_a:
:
dataAndMetadata:
01:
/dev/sdb2:
Web02_a:
:
dataAndMetadata:
01:
/dev/sdb3:
Web02_a:
:
dataAndMetadata:
01:
/dev/sdb5:
Web02_a:
:
dataAndMetadata:
01:
/dev/sdb1:
Nagios:
:
dataAndMetadata:
02:
/dev/sdb2:
Nagios:
:
dataAndMetadata:
02:
/dev/sdb3:
Nagios:
:
dataAndMetadata:
02:
#注:
此时failgroup组1与组2磁盘数并不相同,但是磁盘不等是没关系的。
两个组相当于raid1。
[root@Web02_a~]#mmcrnsd-F/tmp/nsdfile-vno
#生成NSD文件
[root@Web02_a~]#cat/tmp/nsdfile
#/dev/sdb1:
Web02_a:
:
dataAndMetadata:
01:
gpfs1nsd:
:
:
dataAndMetadata:
01:
:
system
#/dev/sdb2:
Web02_a:
:
dataAndMetadata:
01:
gpfs2nsd:
:
:
dataAndMetadata:
01:
:
system
#/dev/sdb3:
Web02_a:
:
dataAndMetadata:
01:
gpfs3nsd:
:
:
dataAndMetadata:
01:
:
system
#/dev/sdb5:
Web02_a:
:
dataAndMetadata:
01:
gpfs4nsd:
:
:
dataAndMetadata:
01:
:
system
#/dev/sdb1:
Nagios:
:
dataAndMetadata:
02:
gpfs5nsd:
:
:
dataAndMetadata:
02:
:
system
#/dev/sdb2:
Nagios:
:
dataAndMetadata:
02:
gpfs6nsd:
:
:
dataAndMetadata:
02:
:
system
#/dev/sdb3:
Nagios:
:
dataAndMetadata:
02:
gpfs7nsd:
:
:
dataAndMetadata:
02:
:
system
#/dev/sdb5:
Nagios:
:
dataAndMetadata:
02:
gpfs8nsd:
:
:
dataAndMetadata:
02:
:
system
11.配置仲裁盘
#仲裁盘作用,当定义的仲裁盘有一半的磁盘不可用时,该集群不可用。
另:
有效磁盘数小于等于整个磁盘数一半时,整个文件系统不可用。
[root@Web02_a~]#mmchconfigtiebreakerDisks="gpfs1nsd;gpfs2nsd;gpfs3nsd"
VerifyingGPFSisstoppedonallnodes...
mmchconfig:
Commandsuccessfullycompleted
mmchconfig:
Propagatingtheclusterconfigurationdatatoall
affectednodes. Thisisanasynchronousprocess.
[root@Web02_atmp]#mmgetstate-a
[root@Web02_atmp]#mmgetstate-a
Nodenumber Nodename GPFSstate
------------------------------------------
1 Web02_a active
2 Nagios active
如果mmgetstate-a状态为down,请确保:
防火墙关闭,两台服务器时间同步(注意时区也要一致),/etc/hosts中没有对应127.0.0.1字段。
gpfs错误日志路径:
/var/adm/ras/mmfs.log.latest
#修改节点IP mmchnode--daemon-interface=10.0.0.236-NWeb02_a
12.创建GPFS文件系统
[root@Web02_atmp]#mmcrfsvol_data-F/tmp/nsdfile-B256K-m2-r2-jcluster-T/vol_data-vno
Thefollowingdisksofvol_datawillbeformattedonnodeWeb02_a:
gpfs1nsd:
size104391KB
gpfs2nsd:
size104422KB
gpfs3nsd:
size104422KB
gpfs4nsd:
size104391KB
gpfs9nsd:
size104391KB
gpfs10nsd:
size104422KB
gpfs11nsd:
size104422KB
gpfs12nsd:
size104391KB
Formattingfilesystem...
Disksuptosize6.4GBcanbeaddedtostoragepool'system'.
CreatingInodeFile
CreatingAllocationMaps
CreatingLogFiles
ClearingInodeAllocationMap
ClearingBlockAllocationMap
FormattingAllocationMapforstoragepool'system'
Completedcreationoffilesystem/dev/vol_data.
mmcrfs:
Propagatingtheclusterconfigurationdatatoall
affectednodes. Thisisanasynchronousprocess.
13.挂载文件系统:
[root@Web02_aras]#mmmount/vol_data-a
FriJan2420:
04:
25CST2014:
mmmount:
Mountingfilesystems...
[root@Web02_aras]#df-hT
Filesystem Type Size UsedAvailUse%Mountedon
/dev/sda3 ext3 19G 11G 7.0G60%/
/dev/sda1 ext3 190M 12M 169M 7%/boot
tmpfs tmpfs 123M 0123M 0%/dev/shm
/dev/vol_datagpfs 814M333M 481M 41%/vol_data
[root@Nagiosras]#df-hT
Filesystem Type Size UsedAvailUse%Mountedon
/dev/sda3 ext3 6.6G 3.5G 2.8G56%/
/dev/sda1 ext3 190M 12M 169M 7%/boot
tmpfs tmpfs 249M 0249M 0%/dev/shm
/dev/vol_datagpfs 814M333M 481M 41%/vol_data
安装完成。
14.开机自启动
mmchconfig autoload=yes
或在/etc/rc.local中添加:
/usr/lpp/mmfs/bin/mmstartup-a
15.可靠性测试
down掉Nagiogs服务器测试。
看数据是否读取正常
[root@Web02_aras]#cd/vol_data/
[root@Web02_avol_data]#cp/etc/hosts.
[root@Web02_avol_data]#ll
total0
-rw-r--r--1rootroot375Jan2609:
25hosts
[root@Web02_avol_data]#cathosts
#Donotremovethefollowingline,orvariousprograms
#thatrequirenetworkfunctionalitywillfail.
127.0.0.1 localhost.localdomainlocalhostbogon
:
:
1 localhost6.localdomain6localhost6
10.0.0.236Web02_a
10.0.0.243Nagios
[root@Web02_avol_data]#sshNagios
Lastlogin:
SunJan2609:
08:
282014fromweb02_a
[root@Nagios~]#/etc/init.d/networkstop #down掉Nagios服务器网卡
Shuttingdowninterfaceeth0:
[root@Web02_avol_data]#mmgetstate-a #查看状态已经有一个节点down掉
Nodenumber Nodename GPFSstate
------------------------------------------
1 Web02_a active
2 Nagios unknown
[root@Web02_avol_data]#cat/vol_data/hosts #还能正常读取,保证集群的高可用。
#Donotremovethefollowingline,orvariousprograms
#thatrequirenetworkfunctionalitywillfail.
127.0.0.1 localhost.localdomainlocalhostbogon
:
:
1 localhost6.localdomain6localhost6
10.0.0.236Web02_a
10.0.0.243Nagios
GPFS通用并行文件系统之Python自动部署GPFS集群
GPFS文件系统能够横跨在所有主机上,分布在所有磁盘上,条带化读写,高性能。
信令管理机制,并发性好。
可配置fail组,可用性高。
下面是GPFS集群的自动安装部署python代码......
注:
该脚本只能自动识别到系统盘之外的物理磁盘,不会识别到分区。
1、gpfs文件包目录结构
脚本中都按照这个目录结构进行安装
2、脚本执行方法
输入的是拥有存储磁盘的主机名。
按回车完成
[root@vuestor01scripts]#pythonauto.py
Inputnode'sinfo.Usage:
hosta/192.168.0.101.PressEnteriscomplete.
PleaseinputNodeinfo:
stor01/192.168.2.67
checkipaddresssuccess!
Inputnode'sinfo.Usage:
hosta/192.168.0.101.PressEnteriscomplete.
PleaseinputNodeinfo:
stor02/192.168.2.85
执行成功后,自动挂载到/vol_data目录下。
[root@vuestor01scripts]#df-hT
Filesystem Type Size UsedAvailUse%Mountedon
/d