GPFS通用并行文件系统之Centos5.8部署gpfs集群

简介:

       GPFS文件系统能够横跨在所有主机上,分布在所有磁盘上,条带化读写,高性能。信令管理机制,并发性好。可配置failgroup组,可用性高。下面是GPFS集群的部署过程......



1.环境准备:

yum install -y compat-libstdc++-33 rpm-build kernel-headers kernel-devel imake gcc-c++  libstdc++ redhat-lsb


2.GPFS安装:

多台服务器都要安装

rpm -ivh gpfs.base-3.4.0-0.x86_64.rpm

rpm -ivh gpfs.docs-3.4.0-0.noarch.rpm

rpm -ivh gpfs.gpl-3.4.0-0.noarch.rpm

rpm -ivh gpfs.msg.en_us-3.4.0-0.noarch.rpm


[root@Web02_a base]# rpm -qa|grep gpfs

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 -Uvh gpfs.docs-3.4.0-21.noarch.rpm

rpm -Uvh gpfs.gpl-3.4.0-21.noarch.rpm

rpm -Uvh gpfs.msg.en_US-3.4.0-21.noarch.rpm


[root@Web02_a update]# rpm -qa|grep gpfs

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_a update]# cd/usr/lpp/mmfs/src/

[root@Web02_a src]# makeLINUX_DISTRIBUTION=REDHAT_AS_LINUX Autoconfig

[root@Web02_a src]# make World

[root@Web02_a src]# make InstallImages

[root@Web02_a src]# make rpm     #生成rpm包,生成路径会有提示

[root@Web02_a src]# rpm -ivh /usr/src/redhat/RPMS/x86_64/gpfs.gplbin-2.6.18-308.el5-3.4.0-21.x86_64.rpm


[root@Web02_a src]# rpm -qa|grep gpfs

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_a src]# crontab -l

#time sync by yangrong at 2014-1-24

*/10 * * * * /usr/sbin/ntpdate pool.ntp.org>/dev/null 2>&1


[root@Nagios update]# crontab -l

#time sync by yangrong at 2014-1-24

*/10 * * * * /usr/sbin/ntpdate pool.ntp.org>/dev/null 2>&1



6.配置ssh免密钥登陆

注:也可以配置rsh免密钥,且gpfs默认是使用rsh密钥登陆远端主机


[root@Web02_a src]# cd /root/.ssh/

[root@Web02_a .ssh]# ssh-keygen -t rsa

[root@Web02_a .ssh]# cp id_rsa.pubauthorized_keys

[root@Web02_a .ssh]# ssh Web02_a   #登陆自己测试

[root@Web02_a .ssh]# cat /etc/hosts

10.0.0.243 Nagios

10.0.0.236 Web02_a


[root@Web02_a .ssh]# scp -r /root/.sshroot@Nagios:/root  #把密钥拷贝到其它主机

[root@Web02_a .ssh]# ssh Nagios

Last login: Fri Jan 24 13:59:19 2014 from192.168.2.53

[root@Nagios ~]# exit



[root@Nagios src]# ssh Web02_a

Warning: Permanently added the RSA host keyfor IP address '10.0.0.236' to the list of known hosts.

Last login: Fri Jan 24 15:03:44 2014 fromlocalhost.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 -p Web02_a -s Nagios -r /usr/bin/ssh -R /usr/bin/scp

#默认GPFS使用rcp拷贝,使用rsh远程。此处修改远程方式和复制方式

#查询命令:mmlscluster


9.许可配置

[root@Web02_a ~]# mmchlicense server--accept -N Web02_a,Nagios

注:服务节点或quorum节点用server,其它节点用clientclient节点只有挂载文件系统的权限,不能更改配置。命令如:

mmchlicense client --accept -N host_a,host_b



10.配置nsd

当前采用多个分区部署GPFS集群

当前分区:

[root@Web02_a ~]# fdisk -l /dev/sdb


Disk /dev/sdb: 1073 MB, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes


 Device Boot      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: 1073 MB, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes


 Device Boot      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:

#注:此时failgroup1与组2磁盘数并不相同,但是磁盘不等是没关系的。两个组相当于raid1


[root@Web02_a ~]# mmcrnsd -F /tmp/nsdfile-v no

#生成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 ~]# mmchconfig tiebreakerDisks="gpfs1nsd;gpfs2nsd;gpfs3nsd"

Verifying GPFS is stopped on all nodes ...

mmchconfig: Command successfully completed

mmchconfig: Propagating the clusterconfiguration data to all

affected nodes.  This is anasynchronous process.


[root@Web02_a tmp]# mmgetstate -a

[root@Web02_a tmp]# mmgetstate -a


Nodenumber  Node name        GPFS state

------------------------------------------

     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_a tmp]# mmcrfs vol_data -F/tmp/nsdfile -B 256K -m 2 -r 2 -j cluster -T /vol_data -v no


The following disks of vol_data will beformatted on node Web02_a:

  gpfs1nsd: size 104391 KB

  gpfs2nsd: size 104422 KB

  gpfs3nsd: size 104422 KB

  gpfs4nsd: size 104391 KB

  gpfs9nsd: size 104391 KB

  gpfs10nsd: size 104422 KB

   gpfs11nsd: size 104422 KB

  gpfs12nsd: size 104391 KB

Formatting file system ...

Disks up to size 6.4 GB can be added tostorage pool 'system'.

Creating Inode File

Creating Allocation Maps

Creating Log Files

Clearing Inode Allocation Map

Clearing Block Allocation Map

Formatting Allocation Map for storage pool'system'

Completed creation of file system/dev/vol_data.

mmcrfs: Propagating the clusterconfiguration data to all

affected nodes.  This is anasynchronous process.



13.挂载文件系统:

[root@Web02_a ras]# mmmount /vol_data -a

Fri Jan 24 20:04:25 CST 2014: mmmount:Mounting file systems ...

[root@Web02_a ras]# df -hT

Filesystem    Type   Size  Used Avail Use% Mounted on

/dev/sda3     ext3    19G   11G  7.0G 60% /

/dev/sda1     ext3   190M   12M  169M  7% /boot

tmpfs       tmpfs    123M     0 123M   0% /dev/shm

/dev/vol_data gpfs    814M 333M  481M  41% /vol_data


[root@Nagios ras]# df -hT

Filesystem    Type   Size  Used Avail Use% Mounted on

/dev/sda3     ext3   6.6G  3.5G  2.8G 56% /

/dev/sda1     ext3   190M   12M  169M  7% /boot

tmpfs       tmpfs    249M     0 249M   0% /dev/shm

/dev/vol_data gpfs    814M 333M  481M  41% /vol_data


安装完成。

14.开机自启动

mmchconfig  autoload=yes

或在/etc/rc.local中添加:/usr/lpp/mmfs/bin/mmstartup -a

15.可靠性测试

downNagiogs服务器测试。看数据是否读取正常

[root@Web02_a ras]# cd /vol_data/

[root@Web02_a vol_data]# cp /etc/hosts .

[root@Web02_a vol_data]# ll

total 0

-rw-r--r-- 1 root root 375 Jan 26 09:25hosts

[root@Web02_a vol_data]# cat hosts

# Do not remove the following line, orvarious programs

# that require network functionality willfail.

127.0.0.1               localhost.localdomain localhostbogon

::1             localhost6.localdomain6 localhost6

10.0.0.236 Web02_a

10.0.0.243 Nagios

[root@Web02_a vol_data]# ssh Nagios

Last login: Sun Jan 26 09:08:28 2014 fromweb02_a

[root@Nagios ~]# /etc/init.d/networkstop    #downNagios服务器网卡

Shutting down interface eth0:

[root@Web02_a vol_data]# mmgetstate -a  #查看状态已经有一个节点down


Nodenumber  Node name        GPFS state

------------------------------------------

     1      Web02_a          active

     2      Nagios           unknown

[root@Web02_a vol_data]# cat/vol_data/hosts  #还能正常读取,保证集群的高可用。

# Do not remove the following line, orvarious programs

# that require network functionality willfail.

127.0.0.1               localhost.localdomain localhostbogon

::1             localhost6.localdomain6 localhost6

10.0.0.236 Web02_a

10.0.0.243 Nagios


测试OK

关于GPFS的维护与命令说明待下一篇。。。


     本文转自杨云1028 51CTO博客,原文链接:http://blog.51cto.com/yangrong/1372056,如需转载请自行联系原作者







相关文章
|
2月前
|
JavaScript Java 应用服务中间件
centos部署vue项目(java,tomcat环境的搭建)
centos部署vue项目(java,tomcat环境的搭建)
45 0
|
1月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
100 1
|
2天前
|
负载均衡 监控 Linux
CentOS6.5高可用集群LVS+Keepalived(DR模式)
CentOS6.5高可用集群LVS+Keepalived(DR模式)
|
11天前
|
JavaScript Linux 数据安全/隐私保护
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
|
16天前
|
存储 Linux Shell
centos 部署docker容器 安装 、基本使用方法(一)
centos 部署docker容器 安装 、基本使用方法(一)
32 0
|
16天前
|
分布式计算 Hadoop Java
centos 部署Hadoop-3.0-高性能集群(一)安装
centos 部署Hadoop-3.0-高性能集群(一)安装
16 0
|
27天前
|
Linux Shell 开发工具
CentOS8中Docker安装及部署
CentOS8中Docker安装及部署
77 0
|
1月前
|
存储 监控 Linux
Flume【部署 02】Flume监控工具Ganglia的安装与配置(CentOS 7.5 在线安装系统监控工具Ganglia + 权限问题处理 + Flume接入监控配置 + 图例说明)
【2月更文挑战第17天】Flume【部署 02】Flume监控工具Ganglia的安装与配置(CentOS 7.5 在线安装系统监控工具Ganglia + 权限问题处理 + Flume接入监控配置 + 图例说明)
29 1
Flume【部署 02】Flume监控工具Ganglia的安装与配置(CentOS 7.5 在线安装系统监控工具Ganglia + 权限问题处理 + Flume接入监控配置 + 图例说明)
|
2月前
|
关系型数据库 MySQL Linux
Azkaban【部署 02】CentOS release 7.5安装配置azkaban-3.70.0安装阶段(含已编译的10个安装文件:可直接进行安装)
【2月更文挑战第5天】CentOS release 7.5安装配置azkaban-3.70.0安装阶段(含已编译的10个安装文件:可直接进行安装)
48 7
|
2月前
|
Java Linux 开发工具
Centos7搭建minio分布式集群
Centos7搭建minio分布式集群

热门文章

最新文章