安装gpfs,需要先安装的软件:
kshell
gcc
g++
kernel-devel
rpm-build
首先检查软件是否安装:
which ksh、which gcc或者gcc -v、which g++或者 g++ --version、
rpm -q kernel-devel、which rpmbuild
安装以上软件可以使用rpm方式和yum方式安装,rpm方式比较麻烦,我装了很长时间,这里推荐使用yum安装。由于我们使用的是RedHat6.5的系统,需要先修改yum 源,yum源码修改如下:
1.下载yum安装文件(到http://mirrors.163.com上下载,在相应的目录下)
wget mirrors.163.com/centos/6/os/x86_64/Packages/ yum-3.2.29-69.el6.centos.noarch.rpm
wget mirrors.163.com/centos/6/os/x86_64/Packages/ yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
wget mirrors.163.com/centos/6/os/x86_64/Packages/ yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm
wget mirrors.163.com/centos/6/os/x86_64/Packages/ python-iniparse-0.3.1-2.1.el6.noarch.rpm
2.安装下载的rpm包
rpm -ivh yum-3.2.29-69.el6.centos.noarch.rpm
rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
rpm -ivh yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm
rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm
3.更新repo文件
cd /etc/yum.repos.d
vim CentOS6-Base-163.repo
更改CentOS6-Base-163.repo文件里面的$releasever为操作系统的版本号
如果该文件不存在则从http://mirrors.163.com镜像上下载,
4.清理yum缓存并验证
yum clean all
yum makecache
yum list|grep ksh
安装khell:
yum install ksh.x8_64
安装gcc :
yum install gcc.x86_64
安装g++ :
yum install gcc-c++.x86_64
安装kernel-devel:
yum install kernel-devel.x86_64
安装rpm-build :
yum install rpm-build.x86_64
软件准备好后,开始正式安装gpfs:
1.安装lrzsz:
yum list|grep lrzsz、yum install lrzsz.x86_64
通过secureCRT的rz将hpfs的安装包上传的服务器
我放到了/mnt目录下了,
解压安装包:tar -xvf GPFS_4.1_ADV_LSX.tar
2.解压后的文件包括一个说明和一个可执行文件:
运行可执行文件进行安装:
./ gpfs_install-4.1.0-0_x86_64 --text-only
3.进入 /usr/lpp/mmfs/4.1目录,查看gpfs安装文件并安装( 安装以rpm结尾的文件,deb结尾的包是debian的安装包)
cd /usr/lpp/mmfs/4.1
rpm -ivh *.rpm
4.安装完后别急着操作,此时gpfs还没有完全安装成功,先进入/usr/lpp/mmfs/src目录下,分别执行
make Autoconfig
make World
make rpm
若上述三步报错,那么整个安装过程最难的地方到了
进入到cd /usr/lpp/mmfs/src目录下查看README
cd /usr/lpp/mmfs/src
vim README
README的中文说明如下:
强烈建议在非root用户下编译源码(需要有权限能访问/usr/lpp/mmfs/src),当你作为一个非root用户去编译的时候,你也必须能够访问你机器上的linux内核源文件。这些文件通常在/lib/modules/uname -r
/build目录下,但是也可能出现在不同的位置。(我安装的时候就出现在了其他位置,下面会介绍)。
最简单的编译方式就是使用Autoconfig创建env.mcr文件即上面提到的方式:
1) cd /usr/lpp/mmfs/src
or forBGP IO nodes only,
cd /bgsys/drivers/ppcfloor/linux/OS/usr/lpp/mmfs/src
2) make Autoconfig
3) make World
4) make InstallImages
但是我在make Autoconfig的时候报错了,因此需要手动编译(错误原因是:我的kernel内核文件在/usr/src/kernels/3.10.0-229.20.1.el7.x86_64目录下,编译的时候在目录/lib/modules/uname -r
/build下找不到,此外env.mcr下默认支持的系统是PPC
5.下面开始执行手动生成env.mcr文件
(1) cd /usr/lpp/mmfs/src/config
cp env.mcr.sample env.mcr
(2)修改env.mcr文件:
这里定义linux的发布版本,我们可以查看自己机器的linux发布版本:
[图片上传中...(image-84a74c-1540286867410-2)]
最后修改的是linux内核版本和内核的build目录:
我的内核版本是:2.6.32-573.el6.x86_64
按照说明小于10 的前面填0,大于100的用99代替
KENER_BUILD_DIR是上面提到的linux内核目录,默认为/lib/modules/uname -r
/build。
6.修改def.mcr文件的196行
与上面的KENER_BUILD_DIR的路径一样,在加上/include
7.evc.mcr文件修改好了以后开始编译:
cd /usr/lpp/mmfs/src
make World
make InstallImages
此时gpfs已安装完毕
make rpm
生成rpm包,将rpm包拷贝到其他机器上进行部署。这个rpm包仅仅能部署于架构相同,发布版本相同,linux内核版本相同,gpfs版本相同机器。
生成的rpm包在/root/rpmbuild目录下.
这是在一台机器上安装了gpfs,我们还要在其他机器上安装gpfs,这里最简单的方法是将上面的rpm包copy到其他节点上安装即可。
GPFS集群配置:
集群搭建的准备:为了方便我们进行操作,首先设置ssh免密码登录。
在192.168.1.17机器上连接192.168.1.140机器:
ssh-kengen
scp .ssh/id_rsa.pub [email protected]:/home/id_rsa.pub
cat /home/id_ rsa.pub >> ~.ssh/authorized_keys
chmod 700 .ssh
chmod 600 authorized_keys
ssh 192.168.1.140
192.168.1.140 连接到192.168.1.17机器上方法相同。
注意:
每台机器之间建立互信这是必须的。
下面的步骤在一台机器上操作即可:
1.新建节点分配文件,我将该文件放在了/tmp/mmfs目录下的nodefile,文件内容如下:
注意:GPFS的仲裁机制和ZooKeeper的仲裁机制类似,当有一半以上的节点是quorum时,集群才可以启动,即:quorum >= 1+sizeof(all nodes)/2
2.创建集群
mmcrcluster -N /tmp/mmfs/nodefile –p gpfs01 –s gpfs02 –C gpfscluster –A –r /usr/bin/ssh –R /usr/bin/scp
参数:-N表示节点的配置文件
-p表示主节点
-s表示第二节点(Secondary cluster configuration server)
-C集群名称
—A表示当一个节点重启的时候GPFS守护进程不会关闭。
-r和-R都是通信协议。
3.创建NSD
首先新建NSD配置文件,我放在了在/tmp/mmfs/目录下的nsdfile,内容如下:
参数说明:nsd(网络共享磁盘)表示网络共享磁盘的名称,
device表示真正的设备
servers:表示节点
usage:表示用途,这里总共6块盘,2块metadataOnly(用于存放元数据),4块dataOnly(用于存放数据)
failureGroup:失败组
pool:存储池
创建NSD:
mmcrnsd -F /tmp/mmfs/nsdfile
查看nsd:
mmlsnsd –m
4.启动集群
mmstartup -a
查看集群状态:
mmgetstate -Las
5.创建文件系统
mmcrfs gpfs -F /tmp/mmfs/nsdfile -A yes -B 1M -j hcluster -m 2 -r 2 -M 3 -R 3 -T /gpfs --metadata-block-size 256K
参数说明:
gpfs:表示文件系统的名称
-F:指定NSD配置文件
-A:当系统守护进程启动时该项设置为yes
-B:指定数据块的大小,其值必须是16k,64k,128k,256k,512k,1M,2M,4M,8M,16M.
-j:指定映射类型
-m:元数据副本数的默认值
-M:元数据副本数的最大值
-r:数据副本数的默认值
-R:数据副本数的最大值
-T:挂载点
--metadata-block-size:元数据节点块的大小
6.挂载文件系统
mmmount gpfs /gpfs –N all
7.查看文件系统
8.创建文件集
mmcrfileset gpfs sqdb
mmlinkfileset gpfs sqdb -J /gpfs/sqdbfolder
mmlsfileset gpfs
其他操作:
一、查看节点
mmlsnode
二、查看集群
mmlscluster
三、增加节点
mmaddnode -N gpfs04:quorum
mmchlicense server --accept -N gpfs04
四、关闭所有节点
mmshudown –a
五、修改配置
mmchconfig