阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

GPFS通用并行文件系统之CentOS上部署GPFS集群

103次阅读
没有评论

共计 7895 个字符,预计需要花费 20 分钟才能阅读完成。

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, 其它节点用 client,client 节点只有挂载文件系统的权限,不能更改配置。命令如:
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:
# 注:此时 failgroup 组 1 与组 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. 可靠性测试
down 掉 Nagiogs 服务器测试。看数据是否读取正常
[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    #down 掉 Nagios 服务器网卡
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 的维护与命令说明待下一篇。http://www.linuxidc.com/Linux/2014-03/98019.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计7895字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中